もうタイトルの通りです。
Linux上ではhashcatはsrc/folder.cにて/proc/[PID]/exeのシンボリックリンクをreadlinkすることによって自身の実行ファイルのパスを得ているようですが、仮想環境等で/proc以下の値が異なる場合に”get_exec_path() failed.”と出て落ちます。ソースを直したら動いたので共有します。
src/folder.c
const ssize_t len = readlink (tmp, exec_path, exec_path_sz - 1);
// 以下を追記
strcpy(exec_path, "/home/user/hashcat/hashcat"); // hashcatの実行ファイルのフルパスにする
hcfree (tmp);
// if (len == -1) return -1; // コメントアウト
︙
// exec_path[len] = 0; // コメントアウト