感谢支持
我们一直在努力

[实例]用fstab在Linux下自动挂载Win的FAT和NTFS分区

这是根据自己的电脑挂载NTFS分区,结合网上信息,在archLinux wiki上的编写的页面中的一段。


讲解下关于fstab的用法


下面请看具体步骤:


1.先在用fdisk -l(可能需要在root权限下)得到硬盘信息表,例如:


# Device     Boot     Start     End    Blocks            Id      System


 /dev/sda1    *            1      2397   19253871      b      W95 FAT32


 /dev/sda2             2398     3144   6000277+     83     Linux


 /dev/sda3             3145     9729   52894012+   5       Extended


 /dev/sda5             3145     3152   64228+         83     Linux


 /dev/sda6             3153     3276   995998+       82     Linux swap / Solaris


 /dev/sda7             3277     7340   32644048+   83     Linux


 /dev/sda8            7341      9729   19189611     7       HPFS/NTFS


从上面知道,这台电脑上只有一个硬盘,其中分区sda1为fat32格式,sda8为NTFS格式,sda1为可以启动的,因而可能为window的系统所在盘。下面把系统盘以只读方式持载上去,非系统盘sda8以读写方式挂载上去(不能挂载在”/”及其以下的任何目录)。


2.用你喜欢的编辑器在终端中打开/etc/fstab,例如:


 nano /etc/fstab


在文件末尾加入:


/dev/sda1 /home/username/WindowsC vfat defaults,iocharset=cp936,umask=022,nls=gb2312 0 0


/dev/sda8 /home/username/WindowsD ntfs defaults,iocharset=utf8,umask=000,nls=utf8 0 0


保存,退出。


3.在终端中输入


 mount -a


你就应该能在/home/username/WindowsC下找到你的系统分区sda1内容,在/home/username/WindowsD中找到sda8的内容(其中username指用户名)。


我的win分区都是ntfs的,对于ntfs分区,进行了测试:


只用nls=utf8,就没有中文乱码!!!


而只用iocharset=utf8,显示的时候还会有乱码!!!


WindowsC用umask=022只能进行读操作,用000之后能进行正常读写,WindowsD能进行正常的文件读写。


注意:我是把分区都挂在“/home”的子目录下了,如果挂在“/”及其子目录下,即使用了umask=000也不能写的,这是Linux系统对“文件系统”权限的问题。为了双重保险,你可以把win的系统分区--C盘挂在“/”及其子目录下,但是要想写文件的话,最好挂在/home下。


其中挂载fat32的项用nls是猜想的,网上都是用codepage和iocharset,我不知道用nls能不能行!(哈哈,有点造假的味道)

赞(0) 打赏
转载请注明出处:服务器评测 » [实例]用fstab在Linux下自动挂载Win的FAT和NTFS分区
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏