Linux 掛載檔案系統

2021-05-21 21:09:41 字數 2839 閱讀 5527

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=*** **頁 

iocharset=*** 字符集 

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。(如果你非要設成自動掛載,你要確保每次開機時你的光碟機和軟碟機裡都要有盤,呵呵。)

掛載檔案系統

將乙個檔案系統的頂層目錄掛到另乙個檔案系統的子目錄上,使它們成為乙個整體,稱為掛載。把該子目錄稱為掛載點。注意 1 掛載點必須是乙個目錄。2 乙個分割槽掛載在乙個已存在的目錄上,這個目錄可以不為空,但掛 載後這個目錄下以前的內容將不可用。對於其他作業系統建立的檔案系統的掛載也是這樣。但是需要理解的是...

使用systemd掛載檔案系統

文章目錄 為什麼使用systemd來掛載檔案系統而不使用fstab?使用fstab的時候如果裝置被移除會導致系統啟動失敗,無法進入系統 只能進入臨時修復系統 systemd則沒有這個問題。一 掛載本地磁碟 vim etc systemd system mount以下為配置內容 unit descri...

整理 Linux命令 掛載和解除安裝檔案系統

掛載檔案系統 mount 格式 mount 引數 裝置名稱 掛載點 常用的引數 t 指定裝置的檔案系統型別,常見的有 minix linux最早使用的檔案系統 ext2 linux目前常用的檔案系統 msdos ms dos的fat,就是fat16 vfat windows98常用的fat32 nf...