- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。
sgdisk 是一个用于操作 GPT(GUID Partition Table)格式分区表的命令行工具,属于 gdisk 软件包的一部分。它可以帮助你在 Linux 系统中高效地创建、删除、修改和管理分区。由于 GPT 格式支持更大的磁盘和更多的分区,它比传统的 MBR(Master Boot Record)分区方式更具优势。要使用 sgdisk,需要先安装 gdisk,在大多数 Linux 发行版中,你可以通过以下命令进行安装:
Debian/Ubuntu:
sudo apt install gdisk
RedHat/CentOS:
sudo yum install gdisk
OpenSuSE:
sudo zypper install gdisk
1. 新建分区
使用 sgdisk 创建新分区时,可以根据需要指定分区号、起始地址和终止地址。-n 选项后跟的参数格式是 分区号:起始地址:终止地址。其中:
分区号为 0:代表自动选择第一个可用的分区号。
起始地址和终止地址为 0:表示从默认的第一个可用地址开始,到最后一个可用地址结束。
偏移量:使用 + 或 - 表示相对于起始或终止位置的偏移量。
示例:
创建一个没有指定大小和分区号的分区:
sgdisk -n 0:0:0 /dev/sdb
lsblk | grep sdb
该命令创建一个默认大小的分区,并使用第一个可用的分区号。
创建一个从默认起始位置开始,大小为 10GB 的分区:
sgdisk -n 2:0:+10G /dev/sdb
lsblk | grep sdb
该命令在 /dev/sdb 上创建一个大小为 10GB 的分区。
创建一个指定扇区范围的分区并设置类型:
sgdisk -n 2:2048:10485760 -t 2:8300 -p /dev/sdb
该命令为 /dev/sdb 创建一个从 2048 到 10485760 扇区的分区,并将其类型设置为 8300(Linux 文件系统)。
2. 查看分区详情
sgdisk 提供了查看分区信息的功能,通过 -i 选项可以查看单个分区的详细信息,使用 -p 查看整个磁盘的分区表。
示例:
查看某个分区的详细信息:
sgdisk -i 1 /dev/sdb
或
sgdisk --info=1 /dev/sdb
该命令显示 /dev/sdb 上第一个分区的详细信息。
查看整个 GPT 分区表:
sgdisk -p /dev/sdb
该命令列出 /dev/sdb 上所有的 GPT 分区。
3. 修改分区类型
使用 -t 选项可以修改某个分区的类型代码(type code),类型代码是用来指定分区用途的标识符,例如 8300 表示 Linux 文件系统。
示例:
修改第一个分区的类型:
sgdisk -t 1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 /dev/sdb
该命令将 /dev/sdb 的第一个分区的类型代码修改为 0FC63DAF-8483-4772-8E79-3D69D8477DE4(表示 Linux 文件系统)。
4. 修改分区名称
如果你想给分区添加描述性名称,可以使用 -c 选项。这样能帮助你更容易地识别分区。
示例:
为第一个分区设置名称:
sgdisk -c 1:"test data" /dev/sdb
该命令将 /dev/sdb 上第一个分区的名称设置为 "test data"。
5. 清除分区数据
如果需要清除分区数据并销毁 GPT 分区表,可以使用 -z 选项。请注意,这只会销毁 GPT 数据结构,不会删除 MBR。
示例:
清除 /dev/sdb1 上的分区数据:
sgdisk -z /dev/sdb1
6. 删除分区
sgdisk 还支持删除分区,使用 -d 选项删除指定的分区。要删除所有分区,可以使用 --zap-all。
示例:
删除第一个分区:
sgdisk --delete=1 /dev/sdb
删除所有分区:
sgdisk --zap-all --clear --mbrtogpt /dev/sdb
7. 备份与恢复分区表
在生产环境中,定期备份分区表非常重要,特别是在进行分区操作前。你可以使用 sgdisk 将分区表备份到文件中,并在发生故障时恢复。
示例:
备份分区表:
sgdisk --backup=/root/sda.partitiontable /dev/sda
sgdisk --backup=/root/sdb.partitiontable /dev/sdb
恢复分区表:
sgdisk --load-backup=/root/sda.partitiontable /dev/sda
8. 复制分区方案
如果你需要将一个磁盘的分区方案复制到另一个磁盘,可以使用 -R 选项。
示例:
将 /dev/sda 的分区方案复制到 /dev/sdb:
sgdisk -R /dev/sdb /dev/sda
9. GUID 随机化
为了确保磁盘的 GUID 唯一性,可以使用 -G 选项随机化新的硬盘上的 GUID。
示例:
随机化 /dev/sdb 的 GUID:
sgdisk -G /dev/sdb
10. 检查分区一致性
检查两个硬盘的分区表是否一致,可以通过打印出分区表来验证。
示例:
查看两个硬盘的分区表:
sgdisk -p /dev/sda
sgdisk -p /dev/sdb
蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
更多技术知识,蓝队云期待与你一起探索。
售前咨询
售后咨询
备案咨询
二维码
TOP