【发布时间】:2012-08-31 04:10:53
【问题描述】:
我正在尝试在我的 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 设备的正确方法是什么?
【问题讨论】: