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
【编辑推荐】 - Linux下使用killall命令终止进程的8大用法
- 如何在Linux上安装并启用Flatpak支持?
- 如何检查多个远程Linux系统是否打开了指定端口?
- Linux 内核 5.2 将引入 Fieldbus 现场总线子系统
- 在Linux中把用户添加到组的四个方法
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0 (编辑:上饶站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|