刚刚安装了 Ubuntu 10.10。以前我有 Ubuntu 10.04。我在 Ubuntu 和 Windows 之间有一个共享分区,它是 NTFS。我将我的开发文件(Eclipse C++ 项目文件)存储在该分区中。
问题来了:在 10.04 中一切正常,但现在我无法运行驻留在 NTFS 分区中的任何程序。 eclipse 说:
Error starting process.
Exec_tty error:Cannot run program "/media/../Eclipse/Hello/Debug/Hello": Unknown reason
当我尝试在终端中执行它时,它说:
bash: ./Hello: Permission denied
我知道这是权限问题,因为NTFS文件系统不支持Unix权限,但怎么可能在10.04上一切正常。此版本是否添加了对 NTFS 文件系统的任何限制?
有没有人遇到过类似的问题并且知道如何解决这个问题?
谢谢。
最佳答案
ntfs 文件系统的默认挂载选项可能在 Ubuntu 版本之间发生了变化。
在/etc/fstab 中找到控制相关挂载点的行。
首先要尝试:确保选项字符串不包含 noexec
。如果是,请将其删除,umount
,然后重新挂载并查看是否为您修复了它。
如果 noexec 不存在或您仍然无法执行,则检查 user
或 users
是否是选项之一。由于 user
意味着 noexec(通常),您可能需要添加(之后 user
)选项 exec
,因此结果将是:
user,exec
如果 user
存在,请尝试进行此更改,然后 umount
并重新挂载。
如果此时您仍然无法执行,则在相关挂载点的选项字符串中添加或设置以下挂载选项:
fmask=002
这可能过于宽松,但对于单用户系统应该没问题。这告诉 mount 文件系统中的所有文件在默认情况下都应该被视为(除其他外)可执行文件。现在 umount
并再次重新挂载,看看它是否正常工作。
关于linux - 如何在 Ubuntu 10.10 的 NTFS 上运行 C++ 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306768/