當硬碟仍有剩餘空間時,可使用 fdisk 進行分區管理。本文以 /dev/sdb 為例,示範從查看磁碟資訊、進入 fdisk 互動模式、建立主分區/擴充分區/邏輯分區、寫入分區表到格式化掛載的完整流程。
fdisk -l
# 範例輸出:
# /dev/sda:85.9 GB,已滿(含 sda1~sda5)
# /dev/sdb:21.5 GB,全新未分區
確認 /dev/sdb 為目標磁碟。
fdisk /dev/sdb
# 出現警告:Building a new DOS disklabel...
# 輸入 m 查看幫助選單
| 指令 | 說明 |
|---|---|
| n | 新增分區 |
| p | 列印分區表 |
| d | 刪除分區 |
| t | 變更分區類型(如 83=Linux, 82=Swap) |
| w | 寫入分區表並退出 |
| q | 不儲存直接退出 |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p # 選主分區
Partition number (1-4): 1
First cylinder (default): [Enter]
Last cylinder or +size: +5G # 建立 5GB 主分區
Command (m for help): n
e # 選擴充分區
Partition number (1-4): 2
First cylinder: [Enter]
Last cylinder: [Enter] # 佔用剩餘所有空間
Command (m for help): n
l # 在擴充分區中建立邏輯分區
First cylinder: [Enter]
Last cylinder or +size: +8G # 第一個邏輯分區 8GB
Command (m for help): n
l
First cylinder: [Enter]
Last cylinder: [Enter] # 第二個邏輯分區佔用剩餘
Command (m for help): p # 預覽分區表
# /dev/sdb1 主分區 5G
# /dev/sdb2 擴充分區
# /dev/sdb5 邏輯分區 8G
# /dev/sdb6 邏輯分區 剩餘
Command (m for help): w # 寫入並退出
# 格式化為 ext4
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb5
mkfs.ext4 /dev/sdb6
# 建立掛載點並掛載
mkdir -p /data1 /data2 /data3
mount /dev/sdb1 /data1
mount /dev/sdb5 /data2
mount /dev/sdb6 /data3
# 寫入 /etc/fstab 開機自動掛載
echo '/dev/sdb1 /data1 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdb5 /data2 ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdb6 /data3 ext4 defaults 0 0' >> /etc/fstab

w 指令寫入後資料難以恢復。parted 或 gdisk 支援 GPT 與大於 2TB 磁碟。partprobe 或重啟讓核心重讀分區表。