使用 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
via: https://fedoramagazine.org/managing-partitions-with-sgdisk/
作者:Gregory Bartholomew 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive