Linux 掛載概念 理解

工程師WWW發表於2015-06-18

準備知識: 

檔案系統中的相關目錄:

dev      //裝置檔案
media  //掛載媒體裝置,如光碟機、U盤等
mnt    //目錄是讓使用者臨時掛載別的檔案系統,如掛載Windows下的某個分割槽,ubuntu預設還是掛載在/media目錄。
磁碟分割槽:
硬碟包括IDE和SCSI兩種介面。其中,SCSI介面的硬碟讀/寫速度快但價格昂貴;IDE介面的硬碟讀/寫速度慢但價格便宜。使用者應根據實際需求合理選擇,通常,對讀/寫速度要求較高的伺服器應該選擇使用SCSI介面的硬碟。
IDE介面
Linux對連線到IDE接111的硬碟使用/dev/hdx的方式命名,x的值對應於硬碟安裝位置,其值可以是a, b, c, d,如表1-3所示。
SCSI介面
對於連線到SCSI介面的裝置通常使用ID號進行區別,SCSI裝置ID號範圍是0-15,SCSI主控制器通常佔用ID號7,所以SCSI最多可以連
接15個裝置。
Linux對連線到SCSI介面卡的硬碟使用//dev/sdx的方式命名,x的值為a, b等,即ID號為0的SCSI硬碟名為//dev/sda, ID號為1的
SCSI硬碟名為//dev/sdb,以此類推。
硬碟使用前要進行分割槽。它可以分為主分割槽(Primary Partition)、擴充套件分割槽(ExtensionPartition)和邏輯分割槽(Logical 

Partition) 3種不同型別。一塊硬碟最多可以有4個主分割槽,其中一個主分割槽的位置可以用一個擴充套件分割槽替換,且一塊硬碟只能有一個擴充套件分割槽,而擴充套件分割槽裡可以劃分n個邏輯分割槽,擴充套件分割槽本身不能儲存任何東西,也不能格式化成某種檔案系統,只能用於區分邏輯分割槽。其中數字編號1^-4留給主分割槽或擴充套件分割槽使用,邏輯分割槽編號從5開始。


另外,目前作業系統無一例外地使用了虛擬記憶體技術。Windows作業系統使用交換檔案實現這一技術,而Linux作業系統使用交換分割槽實現這一技術。因此,安裝Windows作業系統只使用一個分割槽,而安裝Linux作業系統至少需要兩個分割槽,其中之一為交換分割槽(SwapSpace)。
擴充分割槽有擴充分割槽表和邏輯盤組成:擴充套件分割槽表的第一項指定擴充套件分割槽目前的邏輯分割槽資訊,如果還有更多的
邏輯分割槽,擴充套件分割槽表的第二項指定下一個EBR的位置,否則為0。最後的兩個分割槽表項總是為0。通過這種方式,一個硬碟上的分割槽數目就沒有限制了。
掛載:

Liunx採用樹形的檔案管理系統,也就是在Linux系統中,可以說已經沒有分割槽的概念了。分割槽在Linux和其他裝置一樣都只是一個檔案。要使用一個分割槽必須把它載入到檔案系統中。這可能難於理解,繼續往下看。
Linux中樹形的檔案結構,最頂層是/ 目錄。在安裝系統時,你必須選擇把一個主分割槽掛載在/ 目錄下,因為系統需要安裝在/掛載的主分割槽下。否則系統會提示你。這裡又一次提到了掛載。所以掛載就是把目錄和分割槽連線起來,和上面說的WINDOWS下的對映關係是一樣的。不同的是WINDOWS是把分割槽對映到一個碟符,而LINUX下是對映到一個目錄。 這是理解他們不同最重要的地方,而導致不同的是因為檔案系統結構不同。
上面說了Linux的檔案系統是樹形的,安裝的系統必須是在/ 目錄下,因為/目錄下掛載了一個主分割槽。/目錄是樹形的根,其他所有目錄都是他的子節點。 我們安裝系統的時候已經把分割槽1掛載到 / 目錄下了. 而這個時候沒有掛載其他任何分割槽,所以/ 目錄下的所有其他目錄都在這個分割槽下,也就是說,我在任何目錄下讀寫操作實際都是操作的這個1號分割槽。如果我們想使用其他分割槽,就必須把這個分割槽掛載到一個目錄下,這個目錄可以是已經存在的目錄,比如/home,也可以是我們自己建立的目錄,比如/oracle。當然有些目錄比如/lib, /dev, /etc, /usr這些都不能掛載其他分割槽,因為他們都存放著系統需要的檔案,一旦被掛載其他分割槽,那沒OS就無法找到所需的檔案,系統就會崩潰。比如我們把分割槽2掛載到/usr/X11目錄下時,系統就無法通過X11目錄找到分割槽1上的檔案,這個時候系統圖形介面就無法使用了. 雖然檔案還在硬碟上。前面說過,目錄 --- 分割槽 是通過掛載吧他們聯絡起來。你更換了分割槽,也就破壞了聯絡,就無法在找到之前的檔案了。我們在看分割槽5和分割槽6,我們把它掛載到/home/ftp 和 /oracle目錄下,這個時候我們在操作這2個目錄是,就是操作對用的分割槽了.
而WINDOWS就沒這麼複雜,她不是採用樹形的結構,每個分割槽對應一個碟符,一旦建立對映關係就無法在修改。實際上,LINUX的每個掛載了分割槽的目錄就相當於WINDOWS系統中的碟符,比如上面的,/home/ftp 和 /oracle目錄我們就可以把她看做一個碟符和一個分割槽關聯,只是因為LINUX檔案系統,使得她更加靈活,所以也更復雜和難以理解。
df 命令可以檢視分割槽掛載情況, fdisk 命令可以檢視系統分割槽情況。
LINUX下所有裝置都被認為是檔案,而/dev目錄存放所有系統裝置檔案的,而一個分割槽就是一個檔案,名字就是分割槽的名字.
1、通過mount掛載檔案 來掛載磁碟分割槽(或儲存裝置)
mount掛載檔案  [-t  檔案系統 ]  [-o  選項]  裝置  目錄
-t 通過這個引數,我們來指定檔案系統的型別,一般的情況下不必指定有時也能識別
-o 這個選項,主要選項有許可權、使用者、磁碟限額、語言編碼等
裝置 指儲存裝置,比如/dev/hda1, /dev/sda1 ,cdrom 等...至於您的系統中有哪些儲存裝置,主要通過 fdisk -l 或者檢視 /etc/fstab 或 dmesg ;一般的情況下光碟機裝置是/dev/cdrom ;軟碟機裝置是/dev/fd0 ;硬碟及行動硬碟以 fdisk -l 的輸出為準;
1)對光碟機和軟碟機的掛載;
我們先建一個目錄,然後執行Linux mount掛載檔案 命令,這樣cdrom 就掛在 /mnt/cdrom 中了;我們就可以在/mnt/cdrom 中檢視光碟中資料和檔案;這個目錄您想怎麼建就怎麼建。用什麼目錄不是最重要的。重要的是您知道自己在做什麼就行了。比如我們也可以把這個目錄建成 dvdrom ;然後用 Linux mount掛載檔案 /dev/cdrom /mnt/dvdrom 來掛載;
2)掛載硬碟和行動硬碟的檔案系統;
一個分割槽只有建立了檔案系統後才能使用,前面我們說過了,我們在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
[1]掛載Linux檔案系統;
首先我們得建一個檔案系統掛載的目錄;我們前面已經提到了;一個有檔案系統的分割槽要掛到系統中,必須要有一個掛載點;這個掛載點就是一個目錄;比如我們通過fdisk -l 得知hda5 是Linux分割槽,並且建立了檔案系統,比如是reiserfs 檔案系統吧;
步驟:
先建立一個掛載目錄;比如/mnt/hda5
設定/mnt/hda5的許可權為任何使用者可寫可讀可執行;這樣所有的使用者都能在寫入; 
通過-t reiserfs 來指定/dev/hda5是reiserfs 檔案系統, 並且掛載到/mnt/hda5目錄; 
假如我們不知道hda5上reiserfs 檔案系統,我們可以用 -t auto 讓系統定奪,然後掛載到/mnt/hda5  
不加任何引數,直接 Linux mount掛載檔案   /dev/hda5 到/mnt/hda5;系統自動判斷分割槽檔案系統; 
通過df -lh 來檢視是不是被掛載了;

相關文章