如何制作磁盘映像并在以后从中还原?


172

我是Linux新用户。在过去的几周里,我至少从头开始重新安装了Wubi 十次,因为在启动和运行系统(驱动程序,分辨率等)时,我损坏了某些东西(X,grub,未知数),但我无法它恢复工作。尤其是对于像我这样的新手来说,重新安装整个shebang比尝试对失败的“修复”尝试进行多层故障诊断要容易(并且要快得多)。

我来自Windows,我希望有一些“磁盘映像”实用程序可以运行,以便在我插入东西之前制作Linux安装(以及启动分区!)的快照。然后,对我的计算机进行foobar操作后,我将以某种方式将我的计算机还原到该工作快照。

Linux与Windows磁盘映像程序(Acronis True ImageNorton Ghost)等效吗?


注意:我发现了一个类似的问题:容易备份/还原已安装系统吗?


Torben,在Wubi文件夹(通常为C:\ UBUNTU,但可能是其他驱动器和文件夹)下,您不仅会发现为Ubuntu安装创建的回送磁盘映像,而且还会发现一些其他重要文件(如Wubi加载器) )。抱歉,这是一个猜测,但我认为这是有教养的。;-)也许(因为我确实从未尝试过-抱歉-但是如果您尝试它也不会受到伤害-我会的)如果在系统处于良好状态时备份该文件夹,则可以通过替换Wubi来收回Wubi处于非功能状态的良好状态。
Charles Roberto Canato 2011年

请将此作为答案发布,因为这听起来不错,特别是对于Wubi安装!在我上次失败之后,我安装了一个“真正的” Ubuntu,而不是Wubi,所以这个小技巧将在我下次进入该位置时放到我的抽屉里。
2011年

您只需复制文件和主引导记录(freesoftwaremagazine.com/articles/…),就可以了。
con-f-use

你什么意思?你能解释一下吗?我还需要这些软件包和文件。
BigSack 2012年

Acronis True Image可以在系统运行时捕获准确的备份。除了提到Linux的Ghost的答案以外,以下所有答案均失败了,因为它们实际上并未取代Acronis和Ghost的功能。通常认为可以在运行备份的系统上进行备份。尽管这是事实,但由于在进行备份时文件系统中的文件已更改,因此创建的备份存在无法正确还原的风险,从而使备份与其自身不一致。
椭圆视图

Answers:


91

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

Clonezilla的教程可以在这里找到


3
+1更安全的方式。dd使用起来几乎没有危险。
Bhargav Nanekalva 2014年

7
Clonezilla不会对正在运行的文件系统(如Acronis或Ghost)进行映像,因此Clonezilla不会执行其操作。为了使用Clonezilla,必须停止操作系统,并且第二个操作系统必须挂载其文件系统并拍摄快照。如果不停止操作系统,则还原可能无法正常工作,因为在多任务操作系统中,其他任务可能会使备份处于非自然状态。
椭圆视图

1
嗯,是的Clonezilla应该从启动光盘用于具有排他性(就像任何全驱成像工具(视窗成了一个有点exeception虽然它的卷影复制服务“黑客”的)。
弗兰克Nocke

如今,“启动CD”通常是指“启动USB记忆棒”。Linux Live USB Creator是一种很好的创建方法。它甚至具有“ Clonezilla Live CD”,甚至可以在其预定义的图像下选择...单击,构建,准备启动。唯一警告:只会在您的(朋友)Windows计算机上运行...
Frank Nocke

113

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

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

制作分区原始映像的最直接的方法是使用dd将整个分区转储到单个文件中(请记住,操作系统/dev/sda1通过文件接口访问分区)。确保您位于较大的分区或辅助驱动器上,并执行以下命令
dd if=/dev/hda1 of=./part1.image进行备份(针对不同的分区重复)
dd if=./part1.image of=/dev/hda1以进行还原

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

但是,有一个限制,在还原备份时,该分区的大小必须与从其获取映像的分区的大小相同(或更大),因此在还原时这会限制您的选择。但是,使用gparted或恢复备份后,您始终可以扩展分区parted。当您尝试还原整个磁盘副本时,图片变得更加混乱,但是,如果要将备份还原到相同的精确硬盘驱动器,则完全无需担心。

但是,如果您想要“更友好的”实用程序ala norton ghost,那么此建议可能不适合您。


3
我几乎希望为此提供一个内置工具,但是我也希望该工具...不那么友好:-)一旦获得更多Linux经验,这可能是一个很好的解决方案。
2011年

还检查ddrescue。也许与SystemRescueCd
webwurst 2013年

dd工作,如果我需要一个虚拟机的快照,并安装它的另一个虚拟机上?如果/etc/hostname两台计算机上的某些文件(如)必须不同怎么办?
Thomas

对于虚拟机映像,@ Thomas最好使用相应的VM Manager内置功能,例如在Virtual Box中导出映像
tommyk

1
@Bibhas:100GB磁盘中将仅使用80GB;但是您之后可以按照常规方式扩展分区。
DJCrashdummy16年

31

我们在Ubuntu中有一个GUI,称为“磁盘”(gnome-disks),在以后的Ubuntu中是默认的。

要么

sudo apt-get install gnome-disk-utility

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

还需要:

  • Gparted

  • 实时Ubuntu(或衍生产品)实时会话usb-stick。


准备分区:

显然,分区在使用时无法复制:需要将其卸装,以使其在复制期间不会发生变化(这是不言而喻的)。因此,为了备份系统分区,您必须在usb live系统中启动-或如上图所示,在单独的(多次启动)系统中启动。系统分区是标有星号的分区。如果您尝试复制系统分区,则会很快收到错误消息:

在此处输入图片说明

另外,必须注意备份和还原可启动分区都是危险的过程,重要的/敏感数据的备份应该首先以不同的方式进行(通过复制数据而不是整个数据)。分区等)。-根据我的经验,这适用于Ubuntu系统分区,但不适用于Windows分区。

可选地,为了最小化保存的图像占用的空间,可以先缩小一个分区(从末端开始,即从右边开始),以使其不包括空白空间。这是关于此的帖子:创建分区备份映像,其大小不得大于其文件

保存分区:

在此处输入图片说明

恢复分区:

遵循此答案:如何使用“磁盘”正确还原系统分区(iso映像)。看到那里的问题。主要思想是必须将映像(iso)恢复到现有的空分区上,该分区为:

  • 格式化的

  • 未安装

  • 大于保存的图像

准备还原的分区以供使用:

有关Gparted将目标分区和已还原分区之间的空间差异报告为未分配空间这一事实,请参见上面链接的答案下的注释。可以使用Gparted解决:选择分区并应用“检查”操作。

如果还原的分区是您要用作主要分区的系统分区:


1
如果实时CD是x86(因为CPU是x86),则创建映像的速度很快就会失败,约为2GB,其中32位带符号的数字下溢。我现在正在尝试dd查看它是否具有相同的错误。
Shahbaz

2
如果正在使用磁盘,则无法使用-您实际上无法备份系统分区:(并且直到您选择该选项,它甚至都不会警告您,请输入密码:(
NoBugs

1
全部正确-只需从安装CD引导系统(在“尝试U​​buntu”模式下),然后在不使用分区或驱动器时运行它。
SDsolar '17

1
“显然,在使用中无法复制分区:需要将其卸载,因此在复制过程中不会遭受更改(这是不言而喻的)” Windows为什么可以这样做?
cdlvcdlv

1
@cipricus否。您可以保存多个快照(例如,在WU修补程序之前和之后),而系统可以在记录的所有过程和会话中使用。我相信也有针对Linux的实用程序。
cdlvcdlv

16

Ubuntu存储库中的“转储”和“还原”备份实用程序使您能够备份和恢复整个系统的“系统状态”。

可以使用以下方式从存储库中安装“ dump”和“ restore”实用程序:

sudo apt-get install dump

以下是手册页的链接:
转储
恢复

就您而言,您可以将系统备份到便携式驱动器:

dump -0uan -f my_file /

为了恢复,您需要:

  1. 从Ubuntu Live CD / DVD / USB引导。

  2. 安装转储实用程序。

  3. 挂载硬盘。

  4. 恢复(即restore -r -f my_file /my_mount)。

注意:如果要还原到新磁盘,则需要安装引导加载程序(GRUB)。

可以在将Linux移动到另一个硬盘驱动器(转储,还原,备份)中找到更多信息。


如果我无法登录ubuntu,如何从中恢复?
BigSack 2012年

这是使用上述转储和还原命令恢复或移动系统的过程。linuxscrew.com/2007/08/13/…–
Sparky

1
@ virtual.stack-如果您可以提供一些使用备份和还原备份的方法,则答案会好很多:)
atenz 2012年

1
@tijybba-对不起,我已经更新了回复。请让我知道是否现在更清楚了。问候。
Sparky

虽然我喜欢转储,但它不是基于映像的备份。
psusi 2014年

9

以下是来自Ubuntu Wiki的步骤

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

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

还原驱动器映像
要还原驱动器映像,将需要引导到实时环境中。恢复非常简单,实际上只涉及反转if和value。这将告诉dd您用文件中存储的数据覆盖驱动器。确保映像文件未存储在要还原到的驱动器上。如果这样做,最终在操作dd期间将覆盖映像文件,从而损坏映像文件和驱动器。

要还原上面的驱动器:

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

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

如果将Ubuntu恢复到新驱动器,并且UUID(请参阅UsingUUID进行了更改),则必须更改引导加载程序和安装点。一个人将要通过终端编辑以下内容:

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

要知道驱动器的新UUID是什么,请使用以下命令:

sudo blkid 

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


6

我建议为此任务使用RemasterSys。在此处输入图片说明

它会为您的安装创建iso,使用Deja Dup备份用户Date。


4

还有适用于Linux的Ghost,但是Clonezilla是更好的选择-它是最新的。Ghost Linux的最新版本于2009年5月上市,而Clonezilla的最新版本于2010年11月发布。与Ghost相比,Clonezilla的一个小限制是您无法在还原时调整分区的大小,而Norton Ghost可以。

您可能不需要它,但是Clonezilla也支持多播。


当心,Clonezilla不会为正在运行的文件系统(如Ghost)拍摄正确的快照。
椭圆视图

4

您可以使用CloneZilla完全满足您的需求


它会在8GB笔式驱动器上克隆我的320GB Hardrive吗?
BigSack 2012年

1
这应该。因为您说的总安装大小仅为500mb。
米奇

1
仅当操作系统停止时,CloneZilla才起作用。Acronis和Ghost在操作系统运行时工作。
椭圆视图

3

如virtual.stack所示,使用“转储”和“还原”是一种解决方案。

但是,如果您具有外部USB硬盘驱动器或NAS,则可能对使用Clonezilla感兴趣。你只需要点击下载的ISO映像这里(您可以访问全球下载页面点击这里),然后用“ Brasero”将其刻录。从Clonezilla Live CD引导并执行主硬盘驱动器的备份(磁盘或分区到映像)(使用运行良好的Ubuntu)。请注意,您无法备份已挂载为备份目标的分区(相当逻辑)。如果您的系统已损坏,则只需使用Clonezilla Live CD重新启动并执行系统还原。不要忘记Clonezilla会创建快照,因此,如果您的数据(“ / home”,“ / etc”,...)与Ubuntu系统位于同一磁盘/分区上,那么您将从备份中找回快照并放宽自执行备份以来的操作...

您可以在此处找到有关Clonezilla Live的教程:如何使用Clonezilla-教程

您也可以使用“ Back In Time(backintime-gnome)”(可从Ubuntu软件中心获得)或其他方式(DéjàDup,...)来获取数据备份。您只需要在备份配置文件中包含(“ / home”,“ / etc”,“ / var”,“ / usr / local”,...)。这样,您可以使用Clonezilla恢复健康的系统,然后使用“ Back In Time”返回最新数据。


转储将无法正确镜像正在运行的文件系统(如Acronis或Ghost),因此转储和还原不会执行Acronic或Ghost的操作。为了使用转储,必须停止操作系统,并且第二个操作系统必须挂载其文件系统和快照。如果不停止操作系统,则还原可能无法正常工作,因为在多任务操作系统中,其他任务可能会使备份处于非自然状态。
椭圆视图

3

如果您使用的是Wubi,为什么不直接启动Windows并复制root.disk文件呢?

然后,还原就像重命名root.disk其他内容一样简单,然后将副本重命名为root.disk


2

2015年11月更新

新的Remastersys是Pinguy Builder,还有一个名为Systemback的应用程序,我个人更喜欢。这是安装方法:

sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update
sudo apt-get install systemback

更新05.01.2015

我在本步骤2和其他说明中提供的链接不再起作用。但是,在网站关闭之前,我已经下载了Remastersys文件,可以通过Ubuntu Software Center完美地安装它们。!! 我不确定Ubuntu软件中心是否提供了这些文件,但是如果您在计算机上安装了这些文件,则可以通过该文件进行安装。

您需要一个可以生成iso文件的程序,这就是Remastersys。

这组说明帮助我在Ubuntu 14.04.1 32bit上成功安装和运行remastersys,并成功创建并使用了我制作的自定义iso引导式闪存驱动器。

注意:闪存驱动器将起作用,除非您在制作系统映像之前出于某种原因手动进行了内核升级。

  1. 按Ctrl-Alt-T并运行

     sudo apt-get install plymouth-x11  
    
  2. 转到此链接并下载用于32位或64位系统的remastersys版本

    http://www.remastersys.com/ubuntu/pool/main/r/remastersys-gui/

    重要信息:我下载了3.0.4-1 i386版本,但我检查了3.0.2-版本,但它不起作用。

  3. 打开程序和更新(在Dash或系统参数中搜索)

  4. 在“程序和更新”中,转到“其他”选项卡,然后按“添加...”。

  5. 复制/粘贴此

       deb http://www.remastersys.com/ubuntu precise main 
    

然后按确定

  1. 现在,在“其他”选项卡上的列表中查找带有“ www.remastersys.com/”的两行,并确保选中两个框。如果要求输入密码。

  2. 按Ctrl-Alt-T并运行

     sudo apt-get install remastersys-gui 
    
  3. 要打开remastersys-gui,您始终需要root特权。在终端(Ctrl-Alt-T)中也是如此

     sudo -i remastersys-gui 
    

1

您可以使用Clonezilla

  • 下载Clonezilla实时CD
  • 将iso文件刻录到CD
  • 完成初始计算机的重启后,启动Clonezilla Live CD,然后从初始硬盘克隆到其他硬盘。

在此处查看这些屏幕截图,并可以随意询问任何歧义菜单


您也可以将Ghost用于Linux G4l。

这里下载iso,然后刻录到CD并使用Live CD。



我已经在一个盒子上安装了一些软件。我还有其他空白框。我已经下载了Clonezilla并将其刻录到CD。我希望其他机器上的所有系统都是所有软件中第一个的精确克隆。在这种情况下我该如何进行?
prasad.surase 2014年

Clonezilla不会对正在运行的文件系统(如Acronis或Ghost)进行映像,因此Clonezilla不会执行其操作。为了使用Clonezilla,必须停止操作系统,并且第二个操作系统必须挂载其文件系统并拍摄快照。如果不停止操作系统,则还原可能无法正常工作,因为在多任务操作系统中,其他任务可能会使备份处于非自然状态。
椭圆视图

@Elipticalview OP要求提供系统救援映像,而不是重新
掌握操作,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.