掛載Windows分區
1. 手工掛載
在Linux中也可以讀取Windows分區,包括fat32格式的和ntfs格式的。首先你得知道Linux下對硬盤分區的稱呼。比如Windows下的C盤通常是hda1,D盤是hda5,E盤是hda6,等等。詳細情形請看相關文檔。
要掛載Windows分區,首先得確定你所用的Linux系統的locale(這個locale包括了系統使用的語言和字符的編碼等信息)。中文Linux 常用的locale是zh_CN.gb2312,zh_CN.gbk,zh_CN.gb18030 和 zh_CN.UTF-8 。
在默認安裝中,Debian Linux和MandrivaLinux的locale是zh_CN.gb2312,而Ubuntu Linux和Fedora Linux的locale是zh_CN.UTF-8。最好不要隨便更改locale,否則會出現很多亂碼的情形。要查看系統的locale,可以在終端下輸入下面的命令查看:
echo $LANG
其次,你得知道你的windows分區的格式,這個在windows的分區的屬性中可以看到,一般是fat32和ntfs格式的。
假設你的locale是zh_CN.UTF-8,要掛載一個/dev/hda1的fat32格式的windows分區到/mnt/C目錄(若這個目錄不存在手工新建一個),可以在終端下輸入以下命令(在Ubuntu裡還需要在這行命令前加上sudo):
mount -t vfat /dev/hda1 /mnt/C -o iocharset=utf8
如果你的locale不是zh_CN.UTF-8,把上面命令的utf8改為gb2312;如果這個windows分區是ntfs格式的,將上面命令的vfat改為ntfs。
這樣掛載的ntfs格式的分區,只有root能讀取,如果需要讓普通用戶也能讀取,需要再加上umask=022選項,如下:
mount -t ntfs /dev/hda1 /mnt/C -o iocharset=utf8,umask=022
類似地,如果要讓掛載的分區允許所有用戶讀取和修改,可以將上面的umask=022,改為umask=0就可以了。
卸載分區就簡單多了:
umount /dev/hda1
有時候卸載分區時提示分區繁忙(device is busy),可以先用下面的命令看看哪個進程在使用此分區:
fuser -cu /dev/hda1
假如屏幕的輸出為
/dev/hda1: 8463m(cck)
則可以用此命令看這個進程對應的程序名字:
ps 8463
然後可以用此命令結束此進程:
kill -9 8463
這樣就可以正常卸載分區了。
2. 自動掛載
要讓Linux系統啟動時自動掛載windows分區,可以把上述的命令寫入 /etc/fstab 文件中,下面是一個例子:
# /etc/fstab: static file system information.
#
#[file system] [mount point] [type] [options] [dump] [pass]
proc /proc proc defaults 0 0
/dev/hda9 / ext3 defaults 0 1
/dev/hda13 none swap sw 0 0
/dev/hdc /media/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy auto rw,user,noauto 0 0
/dev/hda10 /mnt/debian ext3 defaults 0 0
/dev/hda1 /mnt/C ntfs utf8,umask=022 0 0
/dev/hda5 /mnt/D vfat utf8,umask=0 0 0