Sunday, October 19, 2008

[Linux]挂载ntfs分区

第一步,查看各个分区的UUID
sudo blkid
得到类似如下的输出:
/dev/sda1: UUID="B03459B334597CF2" LABEL="System" TYPE="ntfs"
/dev/sda2: UUID="CAEC3646EC362D57" LABEL="Data" TYPE="ntfs"
/dev/sda3: TYPE="swap" UUID="29e3c192-9a88-4304-be63-7ce425c5f0bc"
/dev/sda4: UUID="91c8e884-0927-4e5b-847e-383a5a7b4060" TYPE="ext3"
/dev/sdb1: LABEL="-----------" UUID="40DD-FB39" TYPE="vfat"
第二步,修改/etc/fstab:
# /dev/sda1
UUID=B03459B334597CF2 /mnt/winc ntfs uid=1000,gid=0,umask=000,nls=utf8 0 0
# /dev/sda2
UUID=CAEC3646EC362D57 /mnt/wind ntfs uid=1000,gid=0,umask=000,nls=utf8 0 0
这里设定可以在每次开机的时候将win下的c盘(/dev/sda1)挂载在我的/mnt/winc. 以后uid为我自己(1000是我的uid),gid为root. 其他参数还包括:
  • umask: 设定默认的文件以及目录的权限掩码. 4: read, 2: write, 1: execute. 000就代表给所有人(user, group, other)所有权限. 033的话就是给user rwx权限,group和other只有r权限.
  • dmask, fmask: 分别设定针对目录以及文件的权限掩码.
  • nls (native language support): 加入本地编码(比如我这里是utf8),这样就不会乱码.
事实上在linux下umask(或者dmask+fmask)的设定就是ntfs分区里所有文件目录的默认权限了.你用chmod去修改也不奏效.

Ref:
http://wiki.archlinux.org/index.php/Fstab_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29

No comments: