RoderickW.Smith的sgdisk命令从命令行管理硬盘驱动器的分区。下面介绍了使用它所需的基础知识。sgdisk的大部分基本功能只需要知道以下六个参数:1.-p打印分区表:#sgdisk-p/dev/sda2,-dx删除分区x:#sgdisk-d1/dev/sda3,-nx:y:z创建一个新的分区号x,从y开始到z结束:#sgdisk-n1:1MiB:2MiB/dev/sda4,-cx:y将分区x的名称更改为y:#sgdisk-c1:grub/dev/sda5,-tx:y将分区x的类型更改为y:#sgdisk-t1:ef02/dev/sda6,--list-types列出分区类型代码:#sgdisk--list-types正如您在上面的示例中所看到的,大多数命令都要求将要操作的硬盘的设备文件名指定为最后一个参数。可以组合以上参数,以便您可以一次定义所有分区:#sgdisk-n1:1MiB:2MiB-t1:ef02-c1:grub/dev/sda在值前面添加+或–符号,可以为某些字段指定相对值。如果您使用相对值,sgdisk会为您计算。例如上面的例子可以写成:#sgdisk-n1:1MiB:+1MiB-t1:ef02-c1:grub/dev/sda0Values对于以下字段有特殊意义:对于分区号字段,0表示它应该使用下一个可用编号(编号从1开始)。对于起始地址字段,0表示使用最新可用的空闲块的头部。硬盘开头的一些空间总是为分区表本身保留的。对于结束地址字段,0表示使用最新可用空闲块的结尾。通过在适当的字段中使用0和相对值,您可以创建一系列分区而无需预先计算任何绝对值。例如,如果在空白硬盘上,以下sgdisk命令序列将创建典型Linux安装所需的所有基本分区:#sgdisk-n0:0:+1MiB-t0:ef02-c0:grub/dev/sda#sgdisk-n0:0:+1GiB-t0:ea00-c0:boot/dev/sda#sgdisk-n0:0:+4GiB-t0:8200-c0:swap/dev/sda#sgdisk-n0:0:0-t0:8300-c0:root/dev/sda上面的示例显示了如何为基于BIOS的计算机对硬盘驱动器进行分区。基于UEFI的计算机不需要grub分区。由于sgdisk在上面的例子中为你计算了所有的绝对值,你可以在基于UEFI的机器上跳过第一个命令并运行其余的而无需修改。同样,您可以跳过创建交换分区,其余命令不需要修改。还有一个快捷方式可以用一个命令删除硬盘上的所有分区:#sgdisk--zap-all/dev/sda***和详细信息,查看手册页:$mansgdisk
