Linux學習筆記(一):設備與磁盤磁區
- 設備與檔案名
- 磁盤磁區
- MBR磁區表格式
- GPT磁區表格式
- BIOS與UEFI開機檢測程式
- Linux安裝模式下的磁盤磁區
設備與檔案名
在Linux中,設備(device)都被當成檔案來對待,
| 設備 | Linux檔案名 |
|---|---|
| SCSI/SATA/USB 硬碟 | /dev/sd[a-p] |
| USB快閃碟 | /dev/sd[a-p] |
| VirtI/O介面 | /dev/vd[a-p],用于虛擬機 |
| 軟盤驅動器 | /dev/fd[0-7] |
| 列印機 | /dev/lp[0-2],用于25針列印機 /dev/usd/lb[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,當前磁帶 |
Question:如果個人PC上有兩個SATA磁盤和一個USB磁盤,主板上有六個SATA插槽,兩個SATA磁盤分別插在主板的SATA1和SATA5插槽上,請問這三個磁盤在Linux系統中的檔案名分別是什么?
Answer:SATA1插槽上的磁盤:/dev/sda;SATA5插槽上的磁盤:/dev/sdb;USB磁盤(開機后才能被系統捕捉到):/dev/sdc,
磁盤磁區
磁盤的一個盤面可以劃分為不同的扇區(sector)和磁道(track),每個磁道包含相同數目的扇區,一個盤面包含多條磁道,每個盤面對應一個磁頭(head),磁盤不同盤面的相同半徑的磁道構成了一個磁柱(cylinder),磁柱是檔案系統的最小單位,也是磁區槽的最小單位, 存 儲 容 量 = 磁 頭 數 × 磁 道 ( 磁 柱 ) 數 × 每 道 扇 區 數 × 每 扇 區 字 節 數 存盤容量 = 磁頭數 \times 磁道(磁柱)數 \times 每道扇區數 \times 每扇區位元組數 存儲容量=磁頭數×磁道(磁柱)數×每道扇區數×每扇區字節數
磁盤的磁區格式主要分為MBR(Master Boot Record)和GPT(GUID Partition Table)兩種,大于2TB的磁盤只能采用GPT磁區格式,
MBR磁區表格式
MBR磁區格式兼容Windows磁盤,開機管理程式記錄區和磁區表都放在磁盤的第一個扇區,改扇區大小通常為512bytes,包括以下兩個資料:
- 主要啟動紀錄區(Master Boot Record, MBR):安裝開機管理程式的地方,有446bytes;
- 磁區表(partition table):紀錄整塊磁盤磁區的狀態,有64bytes,
MBR磁區表最多僅能有四組記錄區,每組記錄了該區段的起始與結束的磁柱號碼,這四個磁區被稱為主要磁區槽(primary partition)或者延伸磁區槽(extended partition),如果該硬碟設備的檔案名為/dev/sda,MBR磁區表中記錄的四個磁區槽的Linux檔案名分別為:/dev/sda1,/dev/sda2,/dev/sda3,/dev/sda4,如果作業系統為Windows,四個磁區槽的代號分別為C、D、E、F,
主要磁區和延伸磁區一共最多只能有四個,而且延伸磁區最多只能有一個,但是可以通過延伸磁區將硬碟磁區成四個以上的磁區,延伸磁區使用額外的扇區來記錄磁區資訊,由延伸磁區繼續切分出來的磁區槽被稱為邏輯磁區槽(logical partition),
假設一個硬碟設備被分為一個主磁區和一個延伸磁區,而延伸磁區又被繼續分為五個邏輯磁區,那么這七個磁區的Linux檔案名分別為:/dev/sda1,/dev/sda2,/dev/sda5,/dev/sda6,/dev/sda7,/dev/sda8,/dev/sda9,邏輯磁區的編號從5開始,因為編號1、2、3、4被保留給了主磁區和延伸磁區,
最后,延伸磁區無法格式化,但是主磁區和邏輯磁區可以被格式化,
GPT磁區表格式
GPT使用邏輯區塊地址(Logical Block Address, LBA)來處理扇區的定義,以兼容所有磁盤,每個LBA大小預設為512bytes,GPT使用了34個LBA區塊(LBA0至LBA33)記錄磁區資訊,
其中:
- LBA0為MBR相容區塊,包含了446bytes的開機管理程式和一個GPT磁區格式標志;
- LBA1為GPT表頭記錄,記錄了磁區表本身的位置和大小、備份用的GPT磁區位置(最后34個LBA區塊)、磁區表的檢驗機制碼(用于判斷GPT是否正確、是否需要從備份區塊位置恢復);
- LBA2-33為實際紀錄磁區資訊處,每個LBA都可以記錄4筆磁區資訊,總共可以有128筆磁區記錄,每筆紀錄用到128bytes空間,其中64bits用來記錄開始/結束的扇區號碼,對于單一磁區槽而言,其最大容量限制為 2 64 × 512 b y t e s = 2 63 K B = 2 33 T B 2^{64}\times512bytes = 2^{63}KB = 2^{33}TB 264×512bytes=263KB=233TB,
BIOS與UEFI開機檢測程式
主機系統在加載硬體驅動方面的程式主要包括BIOS(Basic Input Output System)和UEFI(Unified Extensible Firmware Interface,統一可擴展韌體介面)兩種機制,
BIOS搭配MBR/GPT的開機流程
BIOS是寫入到主板上的一個韌體(Firmware),BIOS會依照設定去識別第一個可開機的存盤設備,比如硬碟,然后到該硬碟里讀取第一個扇區的MBR位置,MBR內含的開機管理程式(boot loader)能夠讀取核心檔案,從而使得作業系統開始作業,BIOS也能從GPT磁區的LBA0區塊讀取開機管理程式,
開機管理程式除了可以安裝到MBR以外,也可以安裝到每個磁區槽的啟動扇區(boot sector),從而實作多重引導,如果要安裝多重引導,最好先安裝Windows再安裝Linux,因為Windows的安裝程式會主動覆寫MBR以及自己所在磁區槽的啟動扇區,
UEFI搭配GPT的開機流程
BIOS要通過GPT提供兼容模式才能讀取磁盤設備,UEFI由C語言開發而成,意在取代BIOS,其本質類似一個低階的作業系統,
Linux安裝模式下的磁盤磁區
檔案系統與目錄樹的關系:掛載
掛載就是把一個目錄當成進入點,將磁盤磁區槽的資料放置在該目錄下,也就是說,進入該目錄就可以讀取該磁區槽,進入點的目錄稱為掛載點,
References:
[1] 關于磁盤,磁柱,磁頭,扇區等
[2] 硬碟基本知識(磁道、扇區、柱面、磁頭數、簇、MBR、DBR)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/148027.html
標籤:其他
上一篇:流量轉發映射
下一篇:關于DDS資料分發服務
