laptop 上有一個 partition 是 ntfs,原本在 XP 環境時的資料碟,系統灌成 ubuntu 後 mount 上來只能讀不能寫。找了一下資料似乎目前主流解決方式是安裝 NTFS-3G 來支援寫入。
安裝 NTFS-3G 前要先裝好 FUSE,ubuntu 總站包的 package 似乎沒有這兩個東西,又不想將一些奇奇怪怪的來源加入 source.list 裝 package,只好自己編了。
1) FUSE 安裝
將 fuse 抓回來解開下 ./configure 出現錯誤訊息:configure: error: C compiler cannot create executables,少了 libc6-dev,先裝。
# apt-get install libc6-dev
裝好 libc6-dev 後,因為 ubuntu desktop kernel 預設有載入較舊的 fuse.ko module,先將他移除掉。
# modprobe -r fuse
# ./configure --enable-kernel-module
# make
# make install
# insmod /lib/modules/2.6.17-10-generic/kernel/fs/fuse/fuse.ko
在 ./configure 時加上 --enable-kernel-module 是說不管 kernel 中是否有載入 fuse.ko 都 make 出一份 kernel 的 module。insmod fuse 將新的 fuse.ko module 載入 kernel 中。
2) NTFS-3G 安裝
接下來 ntfs-3g 的部分一樣下載解開執行 ./configure,又遇到錯誤訊息:configure: error: C++ preprocessor "/lib/cpp" fails sanity check。這要安裝 g++ 來解決。
# apt-get install g++
裝好 g++ 回到剛剛的 ntfs-3g 安裝:
# ./configure
# make
# make install
3) 使用 ntfs-3g 掛載 ntfs 分割區
該 ntfs 分割區若已掛載要先卸下,/media/data, /dev/hda3 請依狀況修改。
# umount /media/data
# ntfs-3g /dev/hda3 /media/data -o locale=zh_TW.UTF8
試試看沒問題的話將設定寫進 /etc/fstab,以後開機就都會用 ntfs-3g 來 mount 該 partition。
/etc/fstab
# /dev/hda3
UUID=94CCA861CCA83EFC
/media/data
ntfs-3g
defaults,locale=zh_TW.UTF8,gid=46
0 0
留言列表