在 Linux 中写入 NTFS 驱动器

在 Linux 中写入 NTFS 驱动器

我有一个外部 USB 驱动器,其格式为 NTFS,安装在 ~/tmp 上。我可以正常读取它,但无法写入,即使以 root 身份也无法写入(temp 是 USB 驱动器上的一个文件夹):

[root@Plugbox temp]# touch test
touch: cannot touch `test': Permission denied
[root@Plugbox temp]#

但是,如果我执行 cat /proc/mounts,看起来我确实有 NTFS 读/写支持:

[root@Plugbox temp]# grep /dev/sdb1 /proc/mounts
/dev/sdb1 /root/tmp ntfs rw,relatime,uid=0,gid=100,umask=02,nls=utf8,errors=continue,mft_zone_multiplier=1 0 0
[root@Plugbox temp]#

最后,如果我转到 temp 上方的文件夹,看起来我应该有足够的权限来写入该文件夹:

[root@Plugbox tmp]# ls -al
total 61500764
...
drwxrwxr-x 1 root users           0 Apr 19  2010 temp
...
[root@Plugbox tmp]#

我错过了什么?

答案1

试用NTFS-3g。它支持 NTFS 写入。您可能正在使用不支持 NTFS 写入的 NTFS 模块。

答案2

NTFS 写入支持不仅需要挂载选项,还需要具有写入功能的驱动程序。您使用的是哪种 NTFS 文件系统驱动程序,是内核自带的驱动程序还是从其他地方下载的模块?

答案3

就像其他人提到的那样,您可能想要安装 NTFS-3g。但是,完成此操作后,可能有用的是将条目添加到您的 /etc/fstab,例如我的以下条目:

# <file system> <mount point>   <type>      <options>             <dump>  <pass>
/dev/sdb2       /media/Windows   ntfs-3g rw,auto,user,fmask=0111,dmask=0000 0 0

将“/dev/sdb2”替换为您尝试挂载的任何分区,将“/media/Windows”替换为您首选的挂载点。这样,分区将在启动时自动挂载,您将能够读取和写入磁盘上的文件。

相关内容