1. 程式人生 > >各硬體裝置在Linux中的檔名、磁碟分割槽

各硬體裝置在Linux中的檔名、磁碟分割槽

在Linux系統中,每個裝置都被當做一個檔案來對待,幾乎所有的硬體裝置檔案都在/dev這個目錄內。

1、以下列舉幾個典型裝置的檔名:

裝置 裝置在Linux內的檔名
IDE硬碟 /dev/hd[a-d]
SCSI/STAT/USB硬碟 /dev/sd[a-p]
U盤 dev/sd[a-p] (與STAT相同)
軟碟機 dev/fd[0-1]
印表機 25針: /dev/lp[0-2] USB: /dev/usb/lp[0-15]
滑鼠 PS2: /dev/psaux USB: /dev/usb/mouse[0-15]
當前CD ROM/DVD ROM /dev/cdrom
當前滑鼠 /dev/mouse

需要特別留意的是(IDE、SCSI、USB都一樣),每個磁碟驅動器的磁碟分割槽(partition)不同時,其磁碟檔名還會改變。

2、磁碟分割槽

2.1常見磁碟介面及命名

常見磁碟介面有兩種:IDE介面和SATA介面,目前主流是SATA介面。以IDE介面來說,一個IDE扁平線纜可以連線2個IDE裝置(分別為Master主裝置和從裝置Slave),一臺主機都會提供2個IDE介面(IDE1、IDE2),所以一臺主機最多可以連線4個IDE裝置。一臺主機的IDE介面命名如下:

IDE介面 Master(主裝置) Slave(從裝置)
IDE1 /dev/hda /dev/hdb
IDE2 /dev/hdc /dev/hdd

2.2磁碟組成

磁碟主要由碟片、機械手臂、磁頭與主軸馬達組成:
磁盤面:磁碟是由一疊磁盤面組成;
磁頭(Heads):每個磁頭對應一個磁盤面,負責該磁盤面上的資料的讀寫;
磁軌(Track):每個盤面會圍繞圓心劃分出多個同心圓圈,每個圓圈叫做一個磁軌;
柱面(Cylinders):所有碟片上的同一位置的磁軌組成的立體叫做一個柱面;
扇區(Sector):以磁軌為單位管理磁碟仍然太大,所以計算機前輩們又把每個磁軌劃分出了多個扇區,每個扇區為512bytes


磁碟組成 圖1

2.3主引導分割槽和分割槽表

每個碟片可分成N個扇區,但是第一塊扇區特別重要,它主要記錄了兩個主要資訊,分別是:
主引導分割槽(Master Boot Record, MBR):可以安裝引導載入程式的地方,有446bytes;
分割槽表(partition table): 記錄整塊磁碟分割槽的狀態,有64bytes;
主引導分割槽(MBR)很重要,因為當系統開機的時候會主動去讀取這個區域內容,這樣系統才會知道你的程式放在哪裡,且該如何開機;
分割槽表的64bytes中,總共分為4組記錄區(最多容納4個分割槽),每組記錄去都記錄了該區段的起始和結束的柱面號碼,這4個分割槽被分為主(Primary)或擴充套件分割槽(Extended)。
1、其實所謂的“分割槽”只是針對那64個位元組的分割槽表進行設定;
2、硬碟預設的分割槽表只能寫入4組分割槽;
3、這4組分割槽我們成為主(primary)或者(Extended)分割槽,4個分割槽的檔名為/dev/hda1 、/dev/hda2、/dev/hda3、/dev/hda4;
4、分割槽的最小單位為“柱面”;

2.4邏輯分割槽

雖然從上面看出一塊硬碟貌似只能分4個區,但實際上我們再Windows或者Linux下可以分出更多區,這是為什麼?因為我們可以利用擴充套件分割槽來繼續分割槽,擴充套件分割槽的目的就是使用額外的扇區來記錄分割槽資訊,擴充套件分割槽不能被拿來格式化,因為擴充套件分割槽被破壞,所有的邏輯分割槽將會被刪除
例如:一塊硬碟有400個柱面,我們把其中1-100分為第一個分割槽P1,也是主分割槽,101-400分到P2,也就是擴充套件分割槽,擴充套件分割槽可以隨意有我們來繼續分割槽,這樣分出來的分割槽被稱為邏輯分割槽,比如我們可以將101-160分為L1,161-220分為L2,221-280分為L3,281-340分為L4,341-400分為L5,那麼我們有6個分割槽,這6個分割槽名稱為:
P1: /dev/hda1
P2: /dev/hda2
L1: /dev/hda5
L2: /dev/hda6
L3: /dev/hda7
L4: /dev/hda8
L5: /dev/hda9
注意:沒有hda3和hda4是因為hda[1-4]留給磁碟預設的四個分割槽了,這裡我們值分出了2個分割槽P1和P2,所以1、hda3和hda4被空出來,因此邏輯分割槽名稱是直接從hda5開始。
2、主分割槽和擴充套件分割槽最多可以有4個(硬碟限制);
3、擴充套件分割槽最多隻能有1個(作業系統限制);
4、邏輯分割槽是有擴充套件分割槽繼續切割出來的分割槽;
5、能夠被格式化後作為資料訪問的分割槽為主分割槽與邏輯分割槽,擴充套件分割槽無法被格式化;
6、邏輯分割槽的數量依據作業系統而不同,在Linux中IDE硬碟最多有59個邏輯分割槽(5-63號),SATA硬碟則有11個邏輯分割槽(5-15);