Linux下开机自动挂载NTFS分区为可写

自动挂载对于linux系统来讲就是安装硬盘了,今天我们来为各位介绍在Linux下开机自动挂载NTFS分区为可写技巧文章希望下文对各位有帮助。

升级到 OpenSUSE 13.2 之后,原来配置为可自动挂载并进行写入操作的 Windows NTFS 分区现在不会自动挂载了,在磁盘管理中配置了自动挂载且不勾选“Mount Read-Only”居然也无法直接写入。又折腾了好久才根据坎离枫整理的博文搞明白了。

要在 Windows + Linux 双系统中的 Linux 系统里使用 Windows 分区,需要先将 Windows 分区挂载到 Linux 系统中。挂载可以在需要的时候通过命令行操作,也可以在管理控制中心,如 OpenSUSE 的 YaST Control Center 中设定每次开机的时候自动挂载。

下面假设要将 Windows 中的 C 和 D 两个分区,都是 NTFS 格式,分别挂载到 Linux 系统【这里以 OpenSUSE 13.2 为例】中的 /winc 和 /wind 两个目录。并假设当前 Linux 普通用户为 linuxuser。

0. 准备工作

准备工作很简单,就是保证 Linux 中有我们需要挂载到的这两个目录,并让 linuxuser 拥有可读写权限。

创建目录,

# sudo mkdir /winc

# sudo mkdir /wind

更改所有者为 linuxuser,用户组为 users,

# chown linuxuser:users /winc

# chown linuxuser:users /wind

还要知道 Windows 中那两个分区在 Linux 中的位置【访问路径】,这里是用它们的设备路径,分别为,

/dev/sda1

/dev/sda5

如果不知道,可以通过命令行指令查看【需要 root 权限】,

# sudo fdisk -l

Disk /dev/sda: ...

Device Boot Start End Sectors Size Id Type

/dev/sda1 ... HPFS/NTFS/exFAT

/dev/sda2 * ... Extended

/dev/sda5 ... HPFS/NTFS/exFAT

/dev/sda6 ...

/dev/sda7 ...

/dev/sda8 ...

这里略去了一些不必要的信息。

1. 命令行操作¶

同样需要 root 权限。

挂载,

mount /dev/sda1 /winc

mount /dev/sda5 /wind

这样直接就是可写入的了。但是每次关机就没有了。

取消挂载,

umount /winc

umount /wind

2. 图形界面操作 + 开机自动挂载

还是图形界面看着顺眼,并且设置开机自动挂载也方便。同样需要 root 权限。

YaST –> System –> Partitioner,单击 yes 确认警告;

右键单击某 Windows NTFS 分区,比如 C 分区【/dev/sda1】,选编辑【Edit】;

在 Mount partition 中 Mount Point 里输入 /winc;

单击下面的 Fstab Options 打开设置页,只勾选一个 Mountable by User 就可以了,



与前面命令行不同的就在于这一步,当然这一步也可以通过命令行来操作,那就是直接命令行修改 /etc/fstab 文件,形如,

ntfs-3g 0 0

例如,

/dev/sda5 /wind ntfs-3g user,users,gid=users,fmask=002,dmask=002,locale=en_US.UTF-8 0 0

/dev/sda1 /winc ntfs-3g user,users,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8 0 0

单击 OK 保存 Fstab Options 设置;

单击 Finish 保存 /dev/sda1 的设置。

同样可以对 D 分区进行设置。但是仅仅按照上面的设置是无法对这些分区进行 写入 操作的,尽管没有勾选上面的“Mount Read-Only”那一项。如果要使之可写入,还需要修改上图中下面那一行里面的 Arbitrary Option Value【其实就是 ntfs-3g 的选项参数】,

users,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8

关键就是其中的 fmask【文件权限】和 dmask【目录权限】,改为,

users,gid=users,fmask=002,dmask=002,locale=en_US.UTF-8

其中 locale 是用来设置成中文环境以显示中文的,可以改为 locale=zh_CN.UTF-8。

这里的设置需要重启电脑生效。

建议为了 Windows 系统的安全和稳定,不要对系统盘执行可写入设置。

3. 附注

典型 ntfs-3g 选项:

users – 假如 ntfs-3g 可执行文件设置了 SUID root【命令:chmod u+s /bin/ntfs-3g】,则允许任何人挂载/卸载 NTFS 分区。注意要用 users 而不是 user

noauto – 启动时不要自动挂载分区

uid – 指定 NTFS 分区中文件和目录的拥有者【用十进制数表示】

gid – 指定 NTFS 分区中文件和目录的用户组【用十进制数表示】

fmask – 文件权限【八进制数掩码】

dmask – 目录权限【八进制数掩码】

locale – 通常用来让使用国际化字符集的文件可见

掩码:

可通过 umask 设置

掩码 002 对应的文件/文件夹属性就是 775,775 权限对应为 ug:rwx,o:rx

u/g/o = user/group/everybody

r/w/x = read/write/execute

Read 4 – 允许读文件

Write 2 – 允许写/修改文件

eXecute 1 – 读/写/删除/修改/目录

简单点的关系就是 002+775=777,权限最大值就是 777,表示任何人都可执行 1、写 2、读 4,1+2+4=7

113 对应的就是 664

Linux下开机自动挂载NTFS分区为可写