如何使用sgdisk管理分區
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 表示應使用下一個可用編號(編號從 1 開始)。
- 對于起始地址字段,0 表示使用***可用空閑塊的頭。硬盤開頭的一些空間始終保留給分區表本身。
- 對于結束地址字段,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