C++アプリケーションに外付けドライブをマウントしようとしています。私はもともとmount(2)を使おうとしましたが、これは失敗します:
int ret = mount(deviceName.c_str(), mountPoint.c_str(), fsType.c_str(), 0, NULL);
errnoは19ですENODEV
(ファイルシステムタイプはカーネルで構成されていません)
ただし、mount(8)の使用に切り替えると、正常に機能します。
std::string cmd = "mount -t " + fsType + " " + deviceName + " " + mountPoint;
int ret = system(cmd.c_str());
mount(2)には、受け入れ可能なファイルシステムタイプの異なるリストがありますか?これはntfsデバイスなのでntfs-3g
、fstypeとして使用していました。/ proc / filesystemsをチェックしたところ、これがリストされていないことがわかったので、試してみfuseblk
ましたが、エラーが22に変更されましたEINVAL
。
mount(2)を使用してNTFSデバイスをマウントする正しい方法は何ですか?