"橫霸霸"

2008年8月18日 星期一

Linux系統下掛載Windows分區的方法和技巧

2008-08-05 08:38作者:論壇整理出處:天極網軟體頻道責任編輯:Shiny  

Linux系統下掛載Windows分區的方法  

1. 手工掛載   在Linux中也可以讀取Windows分區,包括fat32格式的和ntfs格式的

首先你得知道Linux下對硬碟分區的稱呼。比如Windows下的C盤通常是hda1,D盤是hda5,E盤是hda6等等。要掛載Windows分區,首先得確定你所用的Linux系統的locale(這個locale包括了系統使用的語言和字元的編碼等資訊)。中文Linux 常用的locale是zh_TW.big5zh_TW.UTF-8

在預設安裝中,Debian Linux和Mandriva Linux的locale是zh_TW.big5,而Ubuntu Linux和Fedora Linux的locale是 zh_TW.UTF-8 。最好不要隨便修改locale,否則會出現很多亂碼的情形。要查看系統的locale,可以在終端下輸入下面的命令查看:   echo $LANG   其次,你得知道你的windows分區的格式,這個在windows的分區的屬性中可以看到,一般是fat32ntfs格式的。   假設你的locale是zh_TW.UTF-8,要掛載一個/dev/hda1的fat32格式的windows分區到/mnt/C目錄(若這個目錄不存在手工新建一個),可以在終端下輸入以下命令(在Ubuntu裏還需要在這行命令前加上sudo):   mount -t vfat /dev/hda1 /mnt/C -o iocharset=utf8   如果你的locale不是zh_TW.UTF-8把上面命令的utf8改為big5;如果這個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

沒有留言: