詳細介紹Linux自動掛載FAT分區
我們都應用電腦,我們知道電腦是怎樣工作的么?電腦中必不可少的就是操作系統。而Linux的發展非常迅速,有趕超微軟的趨勢。這里介紹Linux的知識,讓你學好應用Linux系統。今天一講Linux下開機自動掛載FAT分區 ,希望你記住Linux下開機自動掛載FAT分區。
1、掛載點必須是一個目錄。
2、一個分區掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載后這個目錄下以前的內容將不可用。
對于其他操作系統建立的文件系統的掛載也是這樣。但是需要理解的是:光盤、軟盤、其他操作系統使用的文件系統的格式與Linux使用的文件系統格式是不一樣的。光盤是ISO9660;軟盤是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。掛載前要了解Linux是否支持所要掛載的文件系統格式。
掛載時使用mount命令:
格式:mount [-參數] [設備名稱] [掛載點]
其中常用的參數有
-t<文件系統類型> 指定設備的文件系統類型,常見的有:
minix Linux最早使用的文件系統
ext2 Linux目前常用的文件系統
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 網絡文件系統
iso9660 CD-ROM光盤標準文件系統
ntfs windows NT 2000的文件系統
hpfs OS/2文件系統
auto 自動檢測文件系統
-o<選項> 指定掛載文件系統時的選項。有些也可用在/etc/fstab中。常用的有
codepage=XXX 代碼頁
iocharset=XXX 字符集
ro 以只讀方式掛載
rw 以讀寫方式掛載
nouser 使一般用戶無法掛載
user 可以讓一般用戶掛載設備
提醒一下,mount命令沒有建立掛載點的功能,因此你應該確保執行mount命令時,掛載點已經存在。(不懂?說白了點就是你要把文件系統掛載到哪,首先要先建上個目錄。這樣OK?)
例子:windows98裝在hda1分區,同時計算機上還有軟盤和光盤需要掛載。
- # mk /mnt/winc
- # mk /mnt/floppy
- # mk /mnt/cdrom
- # mount -t vfat /dev/hda1 /mnt/winc
- # mount -t msdos /dev/fd0 /mnt/floppy
- # mount -t iso9660 /dev/cdrom /mnt/cdrom
現在就可以進入/mnt/winc等目錄讀寫這些文件系統了。
要保證***兩行的命令不出錯,要確保軟驅和光驅里有盤。(要是硬盤的磁盤片也可以經常隨時更換的話,我想就不會犯這樣的錯誤了 :-> )
如果你的windows98目錄里有中文文件名,使用上面的命令掛載后,顯示的是一堆亂碼。這就要用到 -o 參數里的codepage iocharset選項。codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字符集,簡體中文一般用cp936或 gb2312。
當掛載的文件系統Linux不支持時,mount一定報錯,如windows2000的ntfs文件系統。可以重新編譯Linux內核以獲得對該文件系統的支持。關于重新編譯Linux內核,就不在這里說了。
四 、自動掛載
每次開機訪問windows分區都要運行mount命令顯然太煩瑣,為什么訪問其他的Linux分區不用使用mount命令呢?
其實,每次開機時,Linux自動將需要掛載的Linux分區掛載上了。那么我們是不是可以設定讓Linux在啟動的時候也掛載我們希望掛載的分區,如windows分區,以實現文件系統的自動掛載呢?
這是完全可以的。在/etc目錄下有個fstab文件,它里面列出了Linux開機時自動掛載的文件系統的列表。我的/etc/fstab文件如下:
- /dev/hda2 / ext3 defaults 1 1
- /dev/hda1 /boot ext3 defaults 1 2
- none /dev/pts devpts gid=5,mode=620 0 0
- none /proc proc defaults 0 0
- none /dev/shm tmpfs defaults 0 0
- /dev/hda3 swap swap defaults 0 0
- /dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0
- /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
- /dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0
- /dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0
在/etc/fstab文件里,***列是掛載的文件系統的設備名,第二列是掛載點,第三列是掛載的文件系統類型,第四列是掛載的選項,選項間用逗號分隔。第五六列不知道是什么意思,還望高手指點。
Linux下開機自動掛載FAT分區(二)
在***兩行是我手工添加的windows下的C;D盤,加了codepage=936和iocharset=cp936參數以支持中文文件名。參數defaults實際上包含了一組默認參數:
rw 以可讀寫模式掛載
suid 開啟用戶ID和群組ID設置位
dev 可解讀文件系統上的字符或區塊設備
exec 可執行二進制文件
auto 自動掛載
nouser 使一般用戶無法掛載
async 以非同步方式執行文件系統的輸入輸出操作
大家可以看到在這個列表里,光驅和軟驅是不自動掛載的,參數設置為noauto。(如果你非要設成自動掛載,你要確保每次開機時你的光驅和軟驅里都要有盤,呵呵。)
首先在 /mnt 下新建幾個目錄,如:d, e, f, g 等。然后用文本編輯器(如 vi)修改 /etc/fstab 文件,在最末尾添上
/dev/hda5 /mnt/d auto defaults 0 0
重新啟動 Linux 就會發現 D 盤已經自動掛載在/mnt/d 下了。如果您還要掛載 E 盤,只要再在 /etc/fstab 文件末尾添上
/dev/hda6 /mnt/e auto defaults 0 0
注意,如果用 hda5 出錯,請試著改成 hdb5、hdc5 等。這是因為 Linux 中,硬盤表示為 hd,***塊硬盤為 hda,第二塊為 hdb,以此類推。一塊硬盤最多可分成四個主分區:dos 主分區、dos 擴展分區、Linux 根分區和 Linux 交換分區都屬于主分區。4 個主分區分別用數字表示。如果是***塊硬盤,就是 hda1、hda2、hda3 和 hda4。擴展分區上可以分邏輯分區,標號從 5 往后依次排列。windows 中 C 盤為 dos 主分區(hda1),D 盤一般是 dos 擴展分區上的***個邏輯分區(hda5),E 盤是 hda6,以此類推。各位可以先用 mount 命令掛載 hda5,看看是否成功。如果不成功,則改成 hdb5、hdc5 等。例如:
mount -t auto /dev/hda5 /mnt/d
以上內容是針對 IDE 硬盤而言的,如果您的是 SCSI 硬盤,請將 hda 改成 sda、sdb、sdc 等。
如果您的 Linux 內核版本太舊,有可能不支持 ntfs 分區,就要安裝一個補丁。
首先確定您的 Linux 內核的版本號:
rpm -q kernel
您會發現顯示的結果中有一條類似這樣的信息:kernel-2.4.20-8。這個就是您的 Linux 內核的版本號。
然后到 http://rpm.pbone.net/ 查找 kernel-ntfs-內核版本.i686.rpm(如 kernel-ntfs-2.4.20-8.i686.rpm)。下載后,使用以下命令安裝
rpm -ivh kernel-ntfs-2.4.20-20.8.i686.rpm
如果沒出錯,您的系統就已經支持 ntfs 了。如果報錯,肯定是您下載的補丁和您的內核版本不匹配。希望你能學會Linux下開機自動掛載FAT分區。
【編輯推薦】