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檔案裡,第一列是掛載的檔案系統的裝置名稱,第二列是掛載點,第三列是掛載的檔案系統類型,第四列是掛載的選項,選項間用逗號分隔。第五六列不知道是什麼意思,還望高手指點。
在最後兩行是我手工添加的windows下的C;D盤,加了codepage=936和iocharset=cp936參數以支援中文檔案名稱。參數defaults實際上包含了一組預設參數:
rw 以可讀寫入模式掛載
suid 開啟使用者ID和群組ID設定位
dev 可解讀檔案系統上的字元或區塊裝置
exec
可執行二進位檔案
auto 自動掛載
nouser 使一般使用者無法掛載
async 以非同步方式執行檔案系統的輸入輸出操作
大家可以看到在這個列表裡,光碟機和軟碟機是不自動掛載的,參數設定為noauto。(如果你非要設成自動掛載,你要確保每次開機時你的光碟機和軟碟機裡都要有盤,呵呵。)
轉:mount Fat32 硬碟及中文顯示設定
昨天,我在新裝的 RedHat 7.3 上操作,突然想作,聽 Pink Floyd 的歌曲,但突然想改聽 Roger Waters
的鳥歌聲....一想放在另一顆 98 的硬碟上,心涼了一半.....從沒 mount 過 fat32 的硬碟過.......但還是想聽....又不忍退出
Linux,於是實驗開始.....
先看一下 mount 的說明,以為很麻煩,其實很簡單,只需使用 -t vfat 來 mount FAT32 硬碟就可以了
知道了如何做 mount 後問題就來了, 我還不知道的硬碟到底是什麼鳥代號.....想到了用有點危險的 fdisk 來看,果然好用,看的一清二楚
# fdisk -l Disk /dev/hdc: 255 heads, 63 sectors, 2495 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdc1 1 1134 9108823+ c Win95 FAT32 (LBA) 略..... Disk /dev/hdd: 255 heads, 63 sectors, 2495 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdd1 1 2495 20041056 c Win95 FAT32 (LBA) Disk /dev/hda: 255 heads, 63 sectors, 1027 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 6 48163+ 83 Linux 略..... # |
資料在 20G 的硬碟上,所以是 /dev/hdd1,該熟的都熟了.....
# mkdir /win98 # mount -t vfat /dev/hdd1 /win98 # cd /win98 # ls ?? ????? Apache????? Lib-????? Lib-website 略..... # |
天呀!........亂碼 1/2 .........只好用 konqueror 來猜,還好不難猜.....水.....聽歌
icon_question.gif 這中文顯示的問題,不知可否解決......算了以後在研究....
歌太好聽了,但,問題還是得解決.....努力地看 mount 的說明,-o 選項有相關於文字碼的 iocharset=,還有一個
codepage=
codepage=value
Sets the codepage for converting to shortname characters on
FAT and
VFAT filesystems. By default, codepage 437 is used.
iocharset=value
Character set to use for converting between 8 bit
characters and 16 bit
Unicode characters. The default is iso8859-1. Long
filenames are
stored on disk in Unicode format.
有解了,
# umount /win98 # mount -t vfat -o default,codepage=950,iocharset=cp950 /dev/hdd1 /win98 # ls /win98 000-dvd ffastun.ffl Lib-sound recycled 植物 略..... |
大功告成.........
附記:英文模式(Codepage=437),中文模式(Codepage=950)