這是根據自己的電腦掛載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能不能行!(哈哈,有點造假的味道)