sfdisk -d 是备份分区表的推荐方法,支持文本导出、批量处理、自动校验与定时任务;dd 仅适用于传统 bios 磁盘的 mbr+分区表512字节备份,uefi/gpt 环境应优先使用 sfdisk 或 sgdisk。

Linux 分区表本身体积极小(通常几十字节),但一旦损坏会导致整个磁盘无法识别,系统无法启动。因此,定时自动备份分区表是低成本、高回报的基础防护措施,关键在于“轻量、可靠、可验证”。
用 sfdisk 备份分区表(推荐)
sfdisk 是专为分区表设计的工具,支持文本格式导出/恢复,比 dd 更安全、更易读、更易校验。
- 备份当前磁盘(如 /dev/sda)分区表: sudo sfdisk -d /dev/sda > /backup/partition-sda-$(date +\%Y%m%d).sfdisk
- 支持多磁盘批量备份(例如同时备份 sda 和 nvme0n1): for dev in sda nvme0n1; do sudo sfdisk -d /dev/$dev > /backup/partition-$dev-$(date +\%Y%m%d).sfdisk; done
- 备份文件是纯文本,可用 cat 查看、diff 比对、grep 检索,便于版本管理或审计
配合 cron 实现每日自动执行
确保备份任务不依赖人工干预,且失败时有记录可查。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 创建专用备份目录并设权限: sudo mkdir -p /backup/partition && sudo chown root:root /backup/partition && sudo chmod 700 /backup/partition
- 编辑 root 的定时任务:sudo crontab -e,添加一行: 0 3 * * * /bin/bash -c 'for d in sda sdb nvme0n1; do [ -b /dev/\$d ] && sudo sfdisk -d /dev/\$d > /backup/partition/partition-\$d-\$(date +\%Y%m%d).sfdisk 2>/dev/null; done'
- 该命令每天凌晨3点运行,自动跳过不存在的设备,静默忽略错误,避免日志刷屏
补充:用 dd 备份 MBR+分区表(仅限传统 BIOS 磁盘)
若需保留主引导记录(MBR)及分区表(共512字节),适用于 Legacy 启动环境:
- 备份命令(注意 of= 后路径不可写错): sudo dd if=/dev/sda of=/backup/mbr-sda-$(date +\%Y%m%d).img bs=512 count=1
- 恢复命令(危险操作,务必确认目标设备): sudo dd if=/backup/mbr-sda-20260610.img of=/dev/sda bs=512 count=1
- ⚠️ 注意:UEFI 系统使用 GPT 分区表,MBR 不适用;GPT 分区表应优先用 sfdisk -d 或 sgdisk --backup
验证与保留策略
备份无效等于没备。必须包含验证环节,并控制历史版本数量。
- 每次备份后自动校验:追加命令 && sha256sum /backup/partition-*.sfdisk >> /backup/partition-checksums.log
- 保留最近7天备份,自动清理旧文件: find /backup/partition -name "partition-*.sfdisk" -mtime +7 -delete
- 建议将 /backup 目录挂载到独立物理磁盘或远程 NFS,避免同盘故障导致备份丢失










