NotePublic/Software/System/Linux/Modules/FileSystem/Linux_下分区表的备份与恢复.md

45 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# Linux 下分区表的备份与恢复
分区表是磁盘分区的重要信息,一旦损坏磁盘将变得不可用,磁盘数据将会丢失,因此有必要备份磁盘分区表,并在分区表损坏的情况下利用备份信息对分区表进行恢复。
## 分区表备份
可通过手动或自动的方式对分区表进行备份。自动备份可利用 gdisk 工具,命令如下:
```bash
gdisk /dev/<block device>
```
之后选择 b 备份 GPT 数据到文件,输入文件名即可完成备份。
GPT 分区表位于磁盘的头 35 个扇区(每扇区 512 字节),因此通过 dd 命令将磁盘的头 35 个扇区读取到文件中即可实现 GPT 分区表的备份,命令如下:
```bash
dd if=/dev/<block device> of=<back up file name> bs=512 count=35
```
## 恢复分区表
无论是自动备份还是手动备份,都可以利用如下的 dd 命令恢复磁盘分区表信息:
```bash
dd if=<back up file name> of=/dev/<block device> bs=512
sync
```
## 分区表修复
有时候没有磁盘分区表备份文件,又想恢复磁盘分区信息,可利用 GPT 的后备分区表对主分区表进行恢复gdisk 工具就可以实现该功能。
*注GPT 后备分区表保存在磁盘的结尾,用于备份和恢复主分区表。*
gdisk 工具在启动时可自动识别分区表损毁,并提示是否修复,使用如下命令运行 gdisk 工具:
```bash
gdisk /dev/<block device>
```
会提示分区表错误并询问是否使用后备分区表进行恢复。选择“1-Use current GPT”即使用当前的后备分区表进行恢复之后使用 p 命令核对分区信息,最后使用 w 命令写入分区信息到磁盘。
gdisk 也支持手动恢复分区表,输入 r 命令进入 experts 模式,之后可使用 b 或 c 命令进行恢复即可(使用 m 命令可查看帮助信息)。