用ntfs-3g实现NTFS分区自动挂载、读写

原文地址:http://blog.sina.com.cn/s/blog_59cf67260100azau.html


这是利用fstab(路径:/etc/fstab)和ntfs-3g实现的,操作之前确认你已经安装了ntfs-3g包。

一、方法:

下面请看具体步骤:

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

#  Device     Boot          Start     End        Blocks            Id      System

 
/dev/sda1                        1            2397      19253871           HPFS/NTFS 


 /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           HPFS/NTFS

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

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

                    nano /etc/fstab

在文件末尾加入:

/dev/sda1 /home/username/WindowsC ntfs-3g defaults,umask=022 0 0


/dev/sda8 /home/username/WindowsD ntfs-3g defaults,umask=000 0 0

保存,退出。


3.在终端中输入

                       mount -a

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


二、实例测试

我的win分区都是ntfs的,本地编码是zh_CN.utf8,只用ntfs-3g,就可以。

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

 

三、中文正常显示的问题

/dev/sda8 /home/username/WindowsD ntfs-3g defaults,umask=000,locale=zh_CN.utf8 0 0

这个locale=zh_CN.utf8是你的本地编码。


四、fstab的详解

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

想更好的了解fstab的用法,请参考页面:

http://wiki.archlinux.org/index.php/Fstab_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#.E7.94.A8fstab.E8.87.AA.E5.8A.A8.E6.8C.82.E8.BD.BDFAT32.E5.92.8CNTFS.E5.88.86.E5.8C.BA
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页