罗德里克·W·史密斯的 sgdisk 命令可用于从命令行管理硬盘驱动器的分区。 您需要开始使用它的基础知识如下所示。
以下六个参数是您使用 sgdisk 最基本功能所需要知道的全部内容:
- -p
打印分区表:# sgdisk -p /dev/sda
- -dx
删除分区 x:# sgdisk -d 1 /dev/sda
- -nx:y:z
创建一个编号为 x 的新分区,从 y 开始,到 z 结束:# sgdisk -n 1:1MiB:2MiB /dev/sda
- -cx:y
将分区 x 的名称更改为 y:# sgdisk -c 1:grub /dev/sda
- -tx:y
将分区 x 的类型更改为 y:# sgdisk -t 1:ef02 /dev/sda
- –列表类型
列出分区类型代码:# sgdisk –list-types
正如您在上面的示例中看到的,大多数命令都要求 设备文件名 最后一个参数指定要操作的硬盘驱动器。
上面显示的参数可以组合起来,这样您就可以通过一次运行 sgdisk 命令来完全定义一个分区:
# sgdisk -n 1:1MiB:2MiB -t 1:ef02 -c 1:grub /dev/sda
可以通过在值前面加上前缀来为某些字段指定相对值 + 或者 – 象征。 如果您使用相对值,sgdisk 将为您计算。 为了 example, 以上 example 可以写成:
# sgdisk -n 1:1MiB:+1MiB -t 1:ef02 -c 1:grub /dev/sda
价值 0 对几个字段有特殊意义:
- 在分区编号字段中,0 表示应使用下一个可用编号(编号从 1 开始)。
- 在起始地址字段中,0 表示应该使用最大可用空闲空间块的开始。 硬盘驱动器开头的一些空间始终为分区表本身保留。
- 在结束地址字段中,0 表示应该使用最大可用空闲空间块的末尾。
通过使用 0 和相应字段中的相对值,您可以创建一系列分区,而无需预先计算任何绝对值。 为了 example,以下 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
以上 example 展示了如何为基于 BIOS 的计算机对硬盘进行分区。 这 grub 分区 在基于 UEFI 的计算机上不需要。 因为 sgdisk 在上面为你计算所有的绝对值 example,您可以跳过在基于 UEFI 的计算机上运行第一个命令,其余命令无需修改即可运行。 同样,您可以跳过创建交换分区,并且不需要修改剩余的命令。
还有一个使用单个命令从硬盘中删除所有分区的快捷方式:
# sgdisk –zap-all /dev/sda
有关最新和详细的信息,请查看手册页:
$ man sgdisk