linux磁盤分區
Linux 磁盤分區主要分為基本分區(primary partition)和擴充分區(extension partition)兩種。基本分區和擴充分區的數目之和不能大于四個,且基本分區可以馬上被使用,但不能再進行分區;擴充分區必須再進行二次分區后才能使用。
在 Linux 中,每一個硬件設備都映射到一個系統文件。對于硬盤、光驅等 IDE 設備,分配的文件由hd前綴組成;對于各種 SCSI 設備,則分配的文件由sd前綴組成。
要深入理解硬盤分區,需要了解一些硬盤的物理結構概念,如磁道、扇區、柱面、簇等。磁道是硬盤被分成的同心圓;扇區是磁道中被分成的等份區域,是硬盤數據存儲的最小單位;具有相同磁道編號的同心圓組成的面稱作柱面,柱面數就是磁盤上的磁道數,且柱面是硬盤分區的最小單位;操作系統將相鄰的扇區組合在一起形成簇,然后對簇進行管理,每個簇可以包括多個扇區。
另外,還需掌握主引導分區(MBR)、擴展分區、邏輯分區的概念。MBR 是整個硬盤最重要的區域,它有 512 個字節,可分為兩個部分:一是用于存放引導代碼(bootloader)的 446 個字節;二是用于存放磁盤分區表的 64 個字節,每個分區的信息需用 16 個字節來記錄,因此一個硬盤最多可以有 4 個分區,即主分區和擴展分區。
通常所說的 “硬盤分區” 就是指修改磁盤分區表,它定義了 “第 n 個磁盤塊是從第 x 個柱面到第 y 個柱面”。當系統要讀取第 n 個磁盤塊時,就是去讀硬盤上第 x 個柱面到第 y 個柱面的信息。
由于擴展分區只能有一個,若想將硬盤劃分為超過 4 個分區,就需要擴展分區來幫忙。系統允許在額外的硬盤空間存放另一份磁盤分區信息,而擴展分區本身不能直接使用,還需將其劃分為邏輯分區才行。
Linux 默認可分為 3 個分區,分別是:
- boot 分區:對應于
/boot目錄,約 100MB,存放 Linux 的 grub(bootloader)和內核源碼。用戶可通過訪問/boot目錄來訪問該分區。 - swap 分區:沒有對應的目錄,用戶無法直接訪問。Linux 下的 swap 分區即為虛擬內存,用于當系統內存空間不足時,先將臨時數據存放在 swap 分區,等待一段時間后再調入內存執行。虛擬內存的大小為物理內存的 2 倍。
- 根分區:在 Linux 操作系統中,除
/boot目錄外的其它所有目錄都對應于該分區,用戶可通過訪問除/boot目錄外的其它所有目錄來訪問該分區。
在實際操作中,可以使用
fdisk -l命令查看硬盤分區情況,使用mkfs命令格式化分區。Linux 分區與 Windows 不同,它是先有目錄,再將物理地址映射到目錄中,所有路徑都是從根目錄開始。
此外,在嵌入式系統中,分區情況又有所不同,它一般可分為 bootloader、para、kernel、根分區等。嵌入式系統沒有 swap 分區,只有實際的物理空間,bootloader、para、kernel 這三個分區的功能類似于 Linux 系統中的
/boot分區,而根分區(/)可構造,其功能類似于 Linux 系統中的根分區,且分區只能由地址或目錄來區分。如果你想在 Linux 中進行磁盤分區操作,可以使用 fdisk 等分區工具。具體步驟如下(以下示例以在
/dev/sdb磁盤上進行分區操作為例):- 使用 ssh 遠程連接工具登錄到系統,輸入
fdisk /dev/sdb并回車,給硬盤進行分區; - 輸入
n回車新建分區,接著輸入p回車新建主分區; - 選擇分區號(如 1-4 之間)并回車,設置分區起始的柱面可直接回車選擇默認;
- 設置分區結束柱面,如輸入
+3g表示從起始柱面開始向后 3GB 結束,即分區大小為 3GB; - 輸入
p查看分區是否成功; - 按需求劃分擴展分區(輸入
e回車)和邏輯分區(輸入n回車后再輸入l回車); - 再次輸入
p查看當前分區狀態; - 最后輸入
w回車,進行保存退出。
完成分區后,還需對分區進行格式化,例如使用
mkfs -text3 /dev/sdb1等命令對相應分區進行格式化處理。請注意,在進行磁盤分區操作時,要謹慎操作,因為這可能會導致數據丟失。建議在操作前備份重要數據。同時,不同的 Linux 發行版可能會有一些細微差別,具體操作時可參考相應的文檔或系統幫助信息。

