我有一台设备,里面有一个主板,可以启动到基于 Linux 的操作系统。我有兴趣能够克隆这个硬盘驱动器,以便在它出现故障的情况下我有一个备份计划来保持设备正常工作。到目前为止,我已经能够将硬盘安装到另一台运行 Linux 的 PC 上,并且能够将数据从分区中删除。但是我不知道如何处理两个分区 - sdb2 和 sdb13,它们不显示为 EXT3 文件系统; sdb2 是 0x05 扩展的,而 sdb13 是 0x83 的,它没有显示它有任何文件系统,我无法安装它。如果我使用不同大小的新硬盘,我还不确定如何处理 GRUB。我想知道我想做的事情是否可能......如果我从以下内容中有足够的信息
输出来自fdisk -l
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00066c45
Device Boot Start End Blocks Id System
/dev/sdb1 63 208844 104391 83 Linux
Partition 1 does not start on physical sector boundary.
/dev/sdb2 208845 31262489 15526822+ 5 Extended
Partition 2 does not start on physical sector boundary.
/dev/sdb5 208908 6650909 3221001 83 Linux
Partition 5 does not start on physical sector boundary.
/dev/sdb6 6650973 7052534 200781 83 Linux
Partition 6 does not start on physical sector boundary.
/dev/sdb7 7052598 7646939 297171 83 Linux
Partition 7 does not start on physical sector boundary.
/dev/sdb8 7647003 7855784 104391 83 Linux
Partition 8 does not start on physical sector boundary.
/dev/sdb9 7855848 15679439 3911796 83 Linux
/dev/sdb10 15679503 23503094 3911796 83 Linux
Partition 10 does not start on physical sector boundary.
/dev/sdb11 23503158 24097499 297171 83 Linux
Partition 11 does not start on physical sector boundary.
/dev/sdb12 24097563 24691904 297171 83 Linux
Partition 12 does not start on physical sector boundary.
/dev/sdb13 24691968 31262489 3285261 83 Linux
输出来自sfdisk -d
# partition table of /dev/sdb
unit: sectors
/dev/sdb1 : start= 63, size= 208782, Id=83
/dev/sdb2 : start= 208845, size= 31053645, Id= 5
/dev/sdb3 : start= 0, size= 0, Id= 0
/dev/sdb4 : start= 0, size= 0, Id= 0
/dev/sdb5 : start= 208908, size= 6442002, Id=83
/dev/sdb6 : start= 6650973, size= 401562, Id=83
/dev/sdb7 : start= 7052598, size= 594342, Id=83
/dev/sdb8 : start= 7647003, size= 208782, Id=83
/dev/sdb9 : start= 7855848, size= 7823592, Id=83
/dev/sdb10: start= 15679503, size= 7823592, Id=83
/dev/sdb11: start= 23503158, size= 594342, Id=83
/dev/sdb12: start= 24097563, size= 594342, Id=83
/dev/sdb13: start= 24691968, size= 6570522, Id=83
我能够挂载 sdb 1、5、7、8、9、10、11、12 的 EXT3 文件系统,并将每个文件系统的内容保存到 sdb1.tar、sdb5.tar 等。
我还完成了dd if=/dev/sdb of=./sdb_dd bs=512 count=1
将驱动器的 MBR 保存到名为sdb_dd
.
答案1
因此,如果您只想备份整个磁盘,则无需安装每个单独的分区并压缩数据。正如@Christopher所说,你可以使用像clonezilla这样的东西。您还可以使用 DD 备份到文件或逐字节复制到新磁盘。 DD 的优点是它是一个标准的 GNU 实用程序,几乎在每个 *nix 发行版上都可用。
以下假设您启动到活动磁盘/未在要克隆的磁盘上运行的其他 Linux 操作系统。此外假设您要备份的磁盘是/dev/sdb。
存储在备份映像/文件中
备份
dd if=/dev/sdb | gzip -c /location_to_store_backup_image/myserver.img.gz
恢复
gunzip -c /location_to_store_backup_image/myserver.img.gz | dd of=/dev/sdb
直接到其他盘
备份
dd if=/dev/sdb of=/dev/sdb
恢复
将克隆的磁盘插入盒子并启动系统=D