⼀、簡介
在Linux系統中,每個裝置都被當成⼀個⽂件來對待
⼆、外設
SCSI/SATA/USB硬碟機、USB閃存盤 :/dev/sd[a-p]
VirtI/O界⾯ :/dev/vd[a-p] (⽤于虛拟機内)
軟碟機: /dev/fd[0-7]
列印機 :/dev/lp[0-2] (25針列印機) /dev/usb/lp[0-15](USB 接⼝)
⿏标 :/dev/input/mouse[0-15] (通⽤) /dev/psaux(PS/2界⾯) /dev/mouse (目前⿏标)
CDROM/DVDROM:/dev/scd[0-1] (通⽤) /dev/sr[0-1] (通⽤,CentOS 較常⻅) /dev/cdrom (目前 CDROM)
錄音帶機/dev/ht0:(IDE 界⾯) /dev/st0 (SATA/SCSI界⾯) /dev/tape (目前錄音帶)
三、磁盤分區
1、MSDOS (MBR) 分區表
開機管理記錄區與磁盤分區表統統放在磁盤的第⼀個扇區,這個扇區⼤⼩⼀般是512Bytes。
主要開機記錄區(Master Boot Record, MBR):可以安裝開機管理程式的地⽅,有446 Bytes
分區表(partition table):記錄整顆硬碟分區的狀态,有64 Bytes
由于分區表所在區塊僅有64 Bytes容量,是以最多僅能有四組記錄區,每組記錄區記錄了該區段的啟始
與結束的柱⾯号碼。 若将硬碟以⻓條形來看,然後将柱⾯以直條圖來看,那麼那64 Bytes的記錄區段
有點像下⾯的圖⽰:
如果硬碟裝置名是/dev/sda 的話,那麼四個分區分别為
P1:/dev/sda1
P2:/dev/sda2
P3:/dev/sda3
P4:/dev/sda4
分區的意義是什麼呢?
資料安全性:整塊磁盤分為四個分區,互相之間不會影響,即使⼀個損壞,其他盤⼀樣可以正常⼯作,⼀個
常⻅的應⽤場景就是我們在重新安裝系統的時候,隻需要格式化C槽,其他盤的資料不受影響
讀寫速度快:資料集中在某⼀個分區,讀寫查找磁盤速度較全局查找快,對于磁盤性能有很⼤提升
如果想要對磁盤進⾏更多的分區劃分怎麼辦?
磁盤⽀持擴充分區,可以實作劃分多塊分區(4塊)的功能,如圖所⽰:
即 P+E模式,P:主要分區,E :擴充分區, L:邏輯分區
P1:/dev/sda1
P2:/dev/sda2
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8
這種模式是我們經常⽤的模式,例如我的系統是ubuntu16.04,⽽我的磁盤分區情況是:
具體分區情況:
可以看出,sda1是主分區P,sda2是擴充分區E,5-9是邏輯分區
MBR 主要分區、延伸分區與邏輯分區的特性我們作個簡單的定義啰:
主要分區與延伸分區最多可以有四筆(硬碟的限制)
延伸分區最多隻能有⼀個(作業系統的限制)
邏輯分區是由延伸分區持續切割出來的分區;
能夠被格式化後,作為資料存取的分區為主要分區與邏輯分區。延伸分區⽆法格式化;
邏輯分區的數量依作業系統⽽不同,在Linux系統中SATA硬碟已經可以突破63個以上的分區限制;
思考題:
1、如果我想将⼀顆⼤硬碟'暫時'分區成為四個partitions,同時還有其他的剩餘容量可以讓我在未來的時候
進⾏規劃, 我能不能分區出四個Primary?若不⾏,那麼你建議該如何分區?
2、假如我的PC有兩顆SATA硬碟,我想在第⼆顆硬碟分區出6個可⽤的分區(可以被格式化來存取資料之
⽤), 那每個分區在Linux系統下的裝置⽂件名為何?且分區類型各為何?⾄少寫出兩種不同的分區⽅式
2、GUID partition table, GPT 磁盤分區表
未完待續。。。
參考連結:
https://www.kernel.org/doc/Documentation/devices.txt
https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/20.html