首页/数据/备份与容灾速查/dd 备份分区表与引导扇区

dd 备份分区表与引导扇区

用 dd 把磁盘的分区表、MBR 引导扇区单独备份成小文件,误操作后可以快速恢复磁盘结构信息。

备份与容灾速查数据更新于 2026-10-13

dd 备份分区表与引导扇区

用 dd 把磁盘开头的一小段数据单独备份成文件,里面包含 MBR 引导代码与分区表。磁盘被误操作(分区工具误删、重装系统写坏引导)后,可以先把磁盘结构信息恢复回来,再处理数据。GPT 磁盘除头部外还有一份备份分区表,用 sgdisk 这类工具做结构化备份比手工 dd 更稳妥。

基本信息

适用平台Linux(dd 来自 coreutils,sgdisk 来自 gdisk 包)
权限要求root,直接读写块设备
MBR 大小前 512 字节(含引导代码与分区表),有扩展分区时需额外备份
GPT 备份sgdisk --backup 同时保存主分区表与备份分区表

典型使用场景

  • 重装或迁移前留一份磁盘结构,出问题时快速恢复分区布局
  • 磁盘出现分区表异常时的应急修复,避免整盘重建
  • 批量装机前的模板盘结构留档,便于核对分区起点与对齐
  • 故障分析:确认分区表的实际内容是否与文档一致
  • 恢复演练中的一环:分区结构恢复与数据恢复要分别验证

备份与恢复示例

备份与恢复示例
# MBR:前 512 字节,含引导代码与分区表
dd if=/dev/sda of=/backup/sda-mbr.img bs=512 count=1
ls -l /backup/sda-mbr.img && sha256sum /backup/sda-mbr.img > /backup/sda-mbr.sha256
# GPT:结构化备份主表与备份表(推荐)
sgdisk --backup=/backup/sda-gpt.bin /dev/sda
sgdisk -p /dev/sda > /backup/sda-partitions.txt   # 同时留一份可读的分区清单
# 恢复(危险操作,务必反复确认设备名)
# dd if=/backup/sda-mbr.img of=/dev/sda bs=512 count=1
# sgdisk --load-backup=/backup/sda-gpt.bin /dev/sda

对象与手段对照

对象备份手段恢复后果
MBR 引导代码dd 前 446 字节只恢复引导代码,分区表不动
MBR 分区表dd 前 512 字节分区布局回到备份时点
GPT 分区表sgdisk --backup主备双表一并恢复
文件系统数据不在此范围内分区表恢复不等于数据恢复
dd 写块设备是不可撤销的破坏性操作:写错设备名会直接覆盖另一块盘的开头。执行前用 lsblk 反复确认设备名,恢复前先对目标盘做一次完整快照或镜像。
备份内容要与文档分开保存:分区结构与实际设备清单(设备名、容量、分区起点)一并留档,恢复前先核对容量与扇区大小是否一致,避免把为 512 字节扇区盘准备的分区表恢复到 4K 扇区盘上。

易错点

  • 只备份 MBR 不覆盖完整结构:GPT 磁盘或含扩展分区的场景需要额外手段
  • 把分区表恢复当作数据恢复:表回来了但文件系统可能已不可用,两者要分别验证
  • 备份文件没有校验和:需要恢复时无法判断这份小文件本身是否损坏
  • dd 命令里设备名写错:直接覆盖其他磁盘的开头,属于难以挽回的事故

数据来源与参考

  • man 1 dd
  • gdisk / sgdisk 手册(分区表备份与恢复)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌