如何复制操作系统并将其放在另一个分区作为备份,然后将备份复制到原始分区作为原始副本的全新安装?
例如我有两个分区:
Partition : Original OS | Partition : Empty
我复制了原始操作系统
Partition : Original OS | Partition : Original OS
我将第二份副本标记为备份
Partition : Original OS | Partition : Original OS Back Up
后来原始操作系统被损坏
Partition : Original OS Corrupted | Partition : Original OS Back Up
我将原始操作系统复制回损坏的分区并重新安装
Partition : Original OS | Partition : Original OS Back Up
答案1
对于 Linux(此处有一个 WINDOWS 标签;在这种情况下,请阅读“Ghost”和类似工具)
man dd
并且man gzip
可能正是您所需要的。
您还需要从其他介质(而不是您“受阻碍”的介质)启动 - 例如 Ubuntu 安装介质。
但与任何有能力的工具一样,错误可能会非常严重,请记住这一点。:-)
dd 基本上抓取纯数据并将其放在其他地方。
dd if=/dev/sda1 of=/dev/sda2
这是您想要的基础,假设您的磁盘是 /dev/sda 。只需切换和
即可恢复备份。但请注意,/dev/sda2 必须至少与 /dev/sda1 一样大,如果它更大,您将在执行恢复时收到来自 dd 的错误消息(但这没有坏处)。if
of
lsblk
将告诉您哪些设备处于活动状态,以及可能的分区安装位置(基本操作无需 sudo)。
现在,我建议您考虑安装第二个分区,允许通过任何文件系统进行访问,例如 /media/backups/ 。这样也可以将 /media/backups/ 用于其他用途。在这种情况下,只需从第一个分区创建一个文件,例如:使用
dd if=/dev/sda1 of=- | gzip --fast /media/backups/first-partition-backup.dd.gz
以下方法恢复gzip -d /media/backups/first-partition-backup.dd.gz | dd if=- of=/dev/sda1
注意:未经测试的命令,实际使用前请检查语法和开关!
破折号通常是 stdin/stdout 的替代品,这里通过管道重定向。
这样做的缺点dd
(无论上述哪种方式)是整个分区都会被复制,文件系统的“空闲”部分也会被复制。例如,已删除的文件仍作为数据保留在空闲块中 - 这些仍然会占用空间(即使通过 gzip 压缩)。