NTFS (简体中文)
From ArchWiki
i18n |
---|
English |
עברית |
Русский |
简体中文 |
本文介绍如何使用ntfs-3g来读写NTFS分区
Contents |
安装ntfs-3g
确保已启动[extra]软件仓库,然后安装ntfs-3g
- pacman -Sy ntfs-3g
基本配置
手动挂载
要手动挂载一个NTFS分区,可以在终端里执行以下命令。
ntfs-3g /dev/sda1 /mnt/<mount point>
修改fstab
在/etc/fstab中的基本条目为:
<partition> <mount point> ntfs-3g defaults 0 0
例如:
/dev/sda1 /mnt/windows ntfs-3g defaults 0 0
Note: 如果你的ntfs-3g是2009.1.1以前的旧版本,则需要加上参数locale=<locale>,如defaults,locale=en_PH.utf8,这样才能正确显示文件名。
高级配置
通常,我们不希望在这里使用defaults选项,因为我们需要对如何挂载NTFS分区进行更多控制。
编辑fstab
编辑你的/etc/fstab:
<partition> <mount point> ntfs-3g <options> 0 0
例如:
/dev/sda1 /mnt/windows ntfs-3g users,uid=1000,gid=100,fmask=0113,dmask=0002 0 0
- 上面的例子将会:
- 可以让任何用户卸载你的NTFS分区(挂载未实现)。
- user(uid=1000)和group(gid=100)拥有分区的所有文件,并且对文件有-rw-rw-r-- (0664)权限,对目录有drwxrwxr-x (0775)权限(尚未实现)。
典型的、非常有用的ntfs-3g选项
- users - 假如ntfs-3g可执行文件设置了SUID root(命令:chmod u+s /bin/ntfs-3g),则允许任何人挂载/卸载NTFS分区。请注意,你要用users而不是user
- uid - 指定NTFS分区中文件和目录的拥有者(用十进制数表示)
- gid - 指定NTFS分区中文件和目录的用户组(用十进制数表示)
- fmask - 文件权限(八进制数掩码)
- dmask - 目录权限(八进制数掩码)
- locale - 曾经用来让使用国际化字符集的文件可见。在ntfs-3g 2009.1.1和更新的版本中已不再需要。
- noauto - 启动时不要自动挂载分区
掩码值
要无需任何计算就可以较易弄懂特定权限的掩码值,可以这样做:
- 启动一个新的shell会话。使用任何你喜好的终端模拟器。
- 使用umask命令获得指定权限设置的八进制数。
- 使用umask"设置"文件创建时掩码。例如:
$ umask ug=rw,o=r
请注意ug=rw,o=r等于-rw-rw-r--或者0664。 - 直接不带参数执行umask获取八进制数。
$ umask
将会显示0113
- 使用umask"设置"文件创建时掩码。例如:
- 请参考chmod的manpage中EXTENDED DESCRIPTION段的内容获取关于mode运算对象的更多信息。(新文件创建掩码的字符串格式)。
损坏的NTFS文件系统
如果NTFS文件系统有错,ntfs-3g会以只读方式挂载它。要修复NTFS系统,你得启动Windows并使用它的磁盘检查程序。在Linux下无法修复NTFS 文件系统。
挂载分区
此处内容可以挂载你的NTFS分区来检测是否一切正常。你写在fstab中的一切将会在计算机启动时被自动挂载。
# mount <partition>
或者
# mount <mount point>
例如
# mount /dev/sda1 # mount /mnt/backup
使用HAL来挂载分区
HAL可以通过热插拔来自动挂载你的NTFS分区。创建一个custom HAL policy,然后把你的用户加入到storage用户组中以获取写权限。
疑难排解
如果你按本指南内容操作也无法挂在你的NTFS分区,可以尝试一下在fstab中的所有ntfs分区里加上UUID。
如果你想随时切换NTFS驱动器或分区的写权限,可以看看AUR里的ntfs-config。