Roderick W. Smith 的 sgdisk
命令可在命令列中管理硬碟的分割區。下面將介紹使用它所需的基礎知識。
使用 sgdisk 的大多數基本功能只需要了解以下六個引數:
1、-p
列印 分割區表:
# sgdisk -p /dev/sda
2、 -d x
刪除 分割區 x:
# sgdisk -d 1 /dev/sda
3、 -n x:y:z
建立一個編號 x 的新分割區,從 y 開始,從 z 結束:
# sgdisk -n 1:1MiB:2MiB /dev/sda
4、-c x:y
更改分割區 x 的名稱為 y:
# sgdisk -c 1:grub /dev/sda
5、-t x:y
將分割區 x 的型別更改為 y:
# sgdisk -t 1:ef02 /dev/sda
6、–list-types
列出分割區型別程式碼:
# sgdisk --list-types
如你在上面的例子中所見,大多數命令都要求將要操作的硬碟的裝置檔名指定為最後一個引數。
可以組合上面的引數,這樣你可以一次定義所有分割區:
# sgdisk -n 1:1MiB:2MiB -t 1:ef02 -c 1:grub /dev/sda
在值的前面加上 +
或 –
符號,可以為某些欄位指定相對值。如果你使用相對值,sgdisk
會為你做數學運算。例如,上面的例子可以寫成:
# sgdisk -n 1:1MiB:+1MiB -t 1:ef02 -c 1:grub /dev/sda
0
值對於以下幾個欄位有特殊意義:
通過在適當的欄位中使用 0
和相對值,你可以建立一系列分割區,而無需預先計算任何絕對值。例如,如果在一塊空白硬碟中,以下 sgdisk
命令序列將建立典型 Linux 安裝所需的所有基本分割區:
# sgdisk -n 0:0:+1MiB -t 0:ef02 -c 0:grub /dev/sda# sgdisk -n 0:0:+1GiB -t 0:ea00 -c 0:boot /dev/sda# sgdisk -n 0:0:+4GiB -t 0:8200 -c 0:swap /dev/sda# sgdisk -n 0:0:0 -t 0:8300 -c 0:root /dev/sda
上面的例子展示了如何為基於 BIOS 的計算機分割區硬碟。基於 UEFI 的計算機上不需要 grub 分割區。由於 sgdisk
在上面的範例中為你計算了所有絕對值,因此你可以在基於 UEFI 的計算機上跳過第一個命令,並且可以無需修改即可執行其餘命令。同樣,你可以跳過建立交換分割區,並且不需要修改其餘命令。
還有使用一個命令刪除硬碟上所有分割區的快捷方式:
# sgdisk --zap-all /dev/sda
關於最新和詳細資訊,請檢視手冊頁:
$ man sgdisk