Linux可不可以在開機的時候就將我們要的文件系統都掛載好?這樣就不需要每次進入Linux系統還要掛載一次。當然可以,那就直接到/etc/fstab里面去修改。
系統掛載的一些限制:
- 根目錄/是必須掛載的,而且一定要先於其他mount point被掛載進來。
- 其他掛載點必須為已新建的目錄,可任意指定,但一定要遵守必需的系統目錄架構原則
- 所有掛載點在同一時間之內,只能掛載一次
- 所有分區在同一時間內,只能掛載一次
- 如若進行卸載,必須先將工作目錄移到掛載點(及其子目錄)以外。
先查閱一下/etc/fstab這個文件的內容
/etc/fstab(file system table)就會將我們利用mount命令進行掛載時,將所有的參數寫入到這個文件中就可以了。除此之外,/etc/fstab還添加了
dump這個備份的命令支持,與開機時是否進行文件系統檢驗fsck等命令相關。
/etc/fstab這個文件的內容很重要:
第一列,磁盤設備文件或該設備的Label,這個字段請填入文件系統的設備文件名。系統默認使用Label名稱。可以使用dumpe2fs命令查閱Label.
利用設備名稱(ex>/dev/hda1)來掛載分區時,是被固定死的,你的硬盤不可以隨意查在任意插槽。而使用Label name來掛載雖然沒有插槽方面
的問題,但你就要隨時注意Label name,尤其是新增磁盤的時候。
第二列,掛載訂,掛載點一定是目錄
第三列,磁盤分區的文件系統,在手動掛載時可以讓系統自動測試掛載,但這個文件當中我們必須要手動寫入文件系統才行。(查看文件系統命令: lsblk -f )
第四列,文件系統參數,如下表:
第五列,是否能被dump命令作用
dump是一個用來作為備份命令,可以通過fstab指定哪個文件系統必須進行dump備份。0代表要做dump備份,1代表要每天進行dump
2代表不定期的dump備份操作,通常這個參數不是0就是1.
第六列,是否以fsck檢驗扇區
開機過程中系統默認會以fsck檢驗我們的文件系統是否是完整(clean)。不過,某些文件系統是不需要檢驗的,例如內存交換空間,或者是
特殊文件系統。0是不要校驗,1表示最早檢驗(一般只有根目錄設置為1),2也是要檢驗,不過會比較早被檢驗。一般來說根目錄設置為1
其他的要校驗的文件系統兜設置為2就好了。
假設要將/dev/hdc6每次開機都自動掛載到/mnt/hdc6,如何進行?
首先,用nano將下面這一行寫入/etc/fstab當中
再來看/dev/hdc6是否已經掛載,如果掛載了,請先卸載
測試一下剛才我們寫入/etc/fstab的語法是否有錯誤,這點很重要,因為這個文件如果寫錯了,Linux可能無法順利開機
最終看到/dev/hdc6被掛載起來的信息才是成功掛載了,而且以后每次開機都會順利將此文件系統掛起來。
/etc/fstab是開機時候的配置文件,不過實際文件系統掛載時記錄到/etc/mtab與/proc/mounts這兩個文件中的。每次我們在改動文件系統掛載時,
也會同時改動這兩個文件。
特殊設備loop掛載(鏡像文件不刻錄就掛載使用)
掛載光盤DVD鏡像文件
如果我們下載了Linux或者是其他所需光盤DVD鏡像文件之后,難道要刻錄成光盤才能夠使用該文件里的數據嗎?當然不是,我們可以通過loop
設備來掛載。如何掛載呢:
如此一來我們不需要將這個文件刻錄稱為DVD就能讀取內部的數據了。話句話說就是你可以對這個文件內“動手腳”去修改文件。
新建大文件制作loop設備文件
我們可以制作一個大文件,然后將這個大問津格式化后掛載。這是個有趣的操作,而且還能幫我們解決很多系統分區不良問題。舉例來說,如果
當初在分區時,只有分出一個根目錄,假設現在已經沒有多余空間進行額外分區。偏偏根目錄空間還很大,此時你就能夠制作出一個大文件,將這個
大文件掛載。下面我們在/home下創建一個512M的大文件,然后將這個大文件格式化並且實際掛載來實踐一下。
創建大文件,用dd創建空的文件。
格式化:
掛載:利用特殊參數,-o loop處理
這個簡單的方法可以讓你在原本的分區不改動的環境下制作出你想要的分區。尤其是想玩linux上面的虛擬機的話,也就是以一台linux主機再切割稱為
數個獨立主機系統時,類似VMware這類軟件。在Linux上使用xen這個軟件,它可以配合這種loop device的文件類型來進行根目錄的掛載,很有用。