上一篇                     
               
			  Linux克隆分区表怎么做?
- Linux
- 2025-06-26
- 2316
 使用
 
 
sgdisk或
 sfdisk工具可克隆分区表,操作前务必备份数据,确保目标磁盘容量≥源盘,示例:
 sgdisk -R=/dev/sdb /dev/sda 将sda分区表复制到sdb(GPT分区表适用)。
在Linux系统中克隆分区表是一项重要的操作,主要用于备份、磁盘迁移或灾难恢复,它能完整复制源磁盘的分区结构(包括起始/结束扇区、分区类型、GUID等),但不会复制分区内的数据,以下是两种主流方法的详细操作指南:

操作前必备准备
- 备份数据:
 分区表操作有极高风险,误操作可能导致数据丢失,务必提前备份重要数据(如用dd备份分区表:dd if=/dev/sdX of=partition_table_backup.bin bs=512 count=1)。
- 确认磁盘标识符:
 通过lsblk或fdisk -l查看磁盘名称(如源盘/dev/sda,目标盘/dev/sdb)。
- 卸载目标盘:
 确保目标磁盘所有分区未挂载:umount /dev/sdb*。
方法1:使用 sfdisk(适用于MBR/MSDOS分区表)
 
sfdisk 是操作MBR分区表的标准化工具,兼容性高。
操作步骤:
# 1. 备份源磁盘分区表到文件(可选但推荐) sudo sfdisk -d /dev/sda > sda_partition_table.bak # 2. 克隆分区表到目标磁盘 sudo sfdisk /dev/sdb < sda_partition_table.bak # 或直接管道操作(无需中间文件) sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb
关键参数说明:
- -d:导出分区表为可读脚本格式。
- <:将备份文件重定向到- sfdisk以写入目标盘。
- 验证命令:sudo fdisk -l /dev/sdb检查分区是否一致。
方法2:使用 sgdisk(适用于GPT分区表)
 
GPT分区表需使用 gdisk 工具包中的 sgdisk,支持GUID、分区名称等高级属性。

操作步骤:
# 1. 克隆分区表(自动复制GUID和分区属性) sudo sgdisk --replicate=/dev/sdb /dev/sda # 2. 随机化目标磁盘GUID(避免冲突) sudo sgdisk --randomize-guids /dev/sdb
参数解析:
- --replicate:精确复制源盘分区结构到目标盘。
- --randomize-guids:为目标盘生成新GUID,避免多盘共存时的标识冲突(关键步骤!)。
- 验证命令:sudo gdisk -l /dev/sdb检查GPT分区信息。
常见问题与注意事项
- 磁盘容量差异:
 若目标盘小于源盘,克隆会失败,确保目标盘容量 ≥ 源盘(可用lsblk检查)。
- 分区表类型匹配: 
  - MBR盘 → 用 sfdisk
- GPT盘 → 用 sgdisk
 (通过sudo fdisk -l /dev/sda | grep Disklabel查看类型)
 
- MBR盘 → 用 
- 克隆后刷新内核分区表:
 执行partprobe /dev/sdb或重启系统。
- 数据迁移需求:
 克隆分区表后,需手动复制数据(如dd或rsync按分区复制内容)。
- MBR分区表 → 优先选 sfdisk
- GPT分区表 → 必须用 sgdisk --replicate+--randomize-guids
- 风险提示:
 操作前务必备份分区表及数据,误操作可能导致系统无法启动或数据丢失,建议在非生产环境测试验证。
引用说明:本文方法参考自
util-linux官方文档(sfdisk)、GPT fdisk 手册(sgdisk)及Linux内核Wiki,具体命令可通过man sfdisk或man sgdisk查看权威指南。
 
 
 
			 
			