Roderick W. Smith的sgdisk命令可用于从命令行管理硬盘驱动器的分区,下面将介绍使用sgdisk所需的基础知识。参考Gnu Parted – 一个分区管理工具的使用、怎样用parted管理硬盘分区。
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命令完全定义分区: # 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对于几个字段具有特殊情况含义: 1、在分区号字段中,0表示应使用下一个可用号码(编号从1开始)。 2、在起始地址字段中,0表示应使用最大可用空闲块的开始,硬盘驱动器开头的一些空间始终保留给分区表本身。 3、在结束地址字段中,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 有关最新和详细的信息,请查看sgdisk手册页: $ man sgdisk 注:运行以上命令会输出sgdisk的使用介绍。
相关主题 |