和dd

和dd

我是 Linux 新用户。我重新安装了 Wubi至少十次过去几周,因为在启动和运行系统时(驱动程序、解决等)我弄坏了一些东西(X、grub、未知的东西),无法让它恢复工作。特别是对于像我这样的新手来说,重新安装整个系统比尝试排除几层失败的“修复”尝试更容易(也更快)。

从 Windows 开始,我期望有一些“磁盘映像”实用程序可以运行,以便在我处理东西之前为我的 Linux 安装(以及启动分区!!)制作快照。然后,在对我的机器进行 foobar 操作后,我会以某种方式将我的机器恢复到那个工作快照。

Linux 上与 Windows 磁盘映像程序类似的程序是什么安克诺斯 (Acronis) 真实影像或者诺顿幽灵


注意:我发现了一个类似的问题:轻松备份/恢复已安装的系统?

答案1

dd

dd是可用于完成此任务的低级实用程序。它本质上是一个低级逐字节复制实用程序。如果您想以“UNIX”方式完成此任务,请继续阅读。

对文件系统和硬盘的所有引用都位于虚拟/dev/文件系统本地。其中有大量“节点”,/dev/它们几乎是计算机上所有设备的接口。例如,/dev/hda/dev/sda表示系统中的第一个硬盘驱动器(hda 和 sda 取决于硬盘驱动器),和/dev/hda1表示硬盘驱动器上的第一个分区。

制作分区原始映像的最直接方法是将dd整个分区转储到单个文件中(请记住,操作系统/dev/sda1通过文件接口访问分区)。确保您位于较大的分区或辅助驱动器上,然后执行以下命令:

dd if=/dev/hda1 of=./part1.image备份(对不同的分区重复此操作) dd if=./part1.image of=/dev/hda1恢复。当您备份/dev/hda1此分区时应该卸载(或以只读方式安装)以避免潜在的损坏。

您可以使用完全相同的命令来备份整个硬盘(替换hda1hda)。然后,您可以使用任何压缩程序(gunzip、zip、bzip)压缩文件进行存储。您可以使用相同的技术复制整个分区以克隆您的计算机。

但是,在恢复备份时有一个限制:分区必须与从中获取映像的分区大小相同(或更大),因此这会限制您在恢复时的选项。但是,在恢复备份后,您可以随时使用gparted或扩展分区parted。当您尝试恢复整个磁盘副本时,情况会变得更加混乱。但是,如果您将备份恢复到完全相同的硬盘驱动器,则完全不必担心这一点。

然而,如果你想要一个“更友好”的实用程序诺顿幽灵那么这个建议可能不适合您。

答案2

这是 Clonezilla Live:http://clonezilla.org/

Clonezilla 的教程可以在这里找到这里。

答案3

我们在 Ubuntu 中有一个可用的 GUI,称为“磁盘”(gnome-disks),并且在更高版本的 Ubuntu 中成为默认设置。

或者

sudo apt-get install gnome-disk-utility

以“磁盘”形式启动/搜索,或以 形式运行gnome-disks

还需要:

  • 分区

  • 一个实时的 Ubuntu(或衍生产品)实时会话 USB 棒。


准备分区:

明显地,正在使用时无法复制分区:需要将其卸载,以免在复制过程中发生变化(这是不言而喻的)。因此,为了备份系统分区,您必须在 USB Live 系统中启动 - 或者,如上图所示,在单独的(多启动)系统中启动。系统分区是标有星号的分区。如果您尝试复制系统分区,很快就会收到错误:

在此处输入图片描述

此外,还要注意,可启动分区的备份和恢复都是有风险的过程,并且有价值/敏感数据的备份应该首先以不同的方式完成(通过复制数据而不是整个分区等)。 - 根据我的经验,这适用于 Ubuntu 系统分区,但不适用于 Windows 分区。

或者,为了尽量减少保存映像所占用的空间,可以先缩小分区(从末尾,即从右侧),以便它不包含空白空间。这里有一篇关于此的帖子:创建不大于其文件的分区备份映像

保存分区:

在此处输入图片描述

恢复分区:

按照这个答案:如何使用“磁盘”正确恢复系统分区(iso 映像)。请参阅那里的问题。主要思想是必须将映像 (iso) 恢复到现有的空分区上,即:

  • 格式化

  • 未安装

  • 比保存的图像更大

准备恢复的分区以供使用:

请参阅上述链接答案下的评论,Gparted 将目标分区和恢复分区之间的空间差异报告为未分配空间。可以使用 Gparted 修复此问题:选择分区并应用“检查”操作。

如果恢复的分区是要用作主分区的系统分区:

答案4

以下是Ubuntu 维基

使用 dd 进行备份
以下示例将创建一个驱动器映像/dev/sda,该映像将被备份到外部驱动器并进行压缩。例如,可以使用 bzip2 实现最大压缩:

sudo dd if=/dev/sda status=progress | bzip2 > /media/usb/image.bz2

恢复驱动器映像
要恢复驱动器映像,需要启动到实时环境。恢复非常简单,实际上只需要反转 if 和 of 值。这将指示dd使用存储在文件中的数据覆盖驱动器。确保映像文件未存储在您要恢复到的驱动器上。如果这样做,最终在操作过程中 dd 将覆盖映像文件,从而损坏它和您的驱动器。

要使用 dd 恢复上述驱动器:

bzcat /media/usb/image.bz2 | sudo dd of=/dev/sda status=progress

恢复整个驱动器时,系统不会自动创建设备(/dev/sda1/dev/sda2等)。重新启动以确保自动检测。

如果你将 Ubuntu 还原到新驱动器,并且 UUID(请参阅使用UUID更多信息)更改后,您必须更改引导加载程序和挂载点。您需要通过终端编辑以下内容:

sudo nano /boot/grub/menu.lst
sudo nano /etc/fstab 

要了解驱动器的新 UUID,请使用以下命令:

sudo blkid 

从此列表中,您可以将信息与 fdisk 的信息交叉引用,以了解哪个驱动器是哪个。然后只需更新 GRUB 和 fstab 文件中的 UUID 即可。

相关内容