如何从 Linux 克隆/备份/恢复 Windows 10?

Sop*_*rez 8 windows cloning

案例场景

$ sudo fdisk -l
Disk /dev/sda: 223,6 GiB, 240057409536 bytes, 468862128 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x13a30a5a

Device  Boot     Start     Final  Sectors Size Id Type
/dev/sda1  *           2048   1333247   1331200   650M 27 WinRE NTFS hidden
/dev/sda2           1333248 264058879 262725632 125,3G  7 HPFS/NTFS/exFAT
/dev/sda3         264060926 468860927 204800002  97,7G  5 Extended
/dev/sda5         264060928 434049023 169988096  81,1G  7 HPFS/NTFS/exFAT
/dev/sda6         434051072 464771775  30720704  14,7G 83 Linux
/dev/sda7         464773120 468860927   4087808     2G 82 Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)

安装了Windows 10/dev/sda2,我假设它/dev/sda1是来自同一 Windows 系统的隐藏分区。

如何从 Linux备份我的 Windows 10安装以便以后恢复?

应要求提供更多数据:

  • “安装”是指将 Windows 恢复到进行克隆时所需的“完整分区”(或多个分区)。
  • 能够恢复到相同的系统(计算机、硬件)甚至硬盘驱动器就足够了。即:我安装了 Windows 10,做了备份,几个月前我想恢复我做的备份,所以不需要再次执行 Windows 10(驱动程序、打印机、程序等)的完整安装。

测试到现在(所有测试都在具有相同分区布局的同一台计算机上执行):

  • PartImage(克隆sda1sda2):不起作用。恢复的操作系统将无法启动。
  • FSArchiver(克隆sda1sda2):不工作。恢复的操作系统将无法启动。

Lin*_*eak 5

pv 方法

您可以像这样使用pv(手册页)实用程序:

sudo sh -c 'pv < /dev/sda > /destination'
Run Code Online (Sandbox Code Playgroud)

当然,您可以先成为 root:

sudo -i
Run Code Online (Sandbox Code Playgroud)

然后只做备份

pv < /dev/sda > /BackupDestination
Run Code Online (Sandbox Code Playgroud)

然后在需要时进行恢复

pv < /BackupDestination > /dev/sda
Run Code Online (Sandbox Code Playgroud)

笔记

  • 这基本上dd与其他答案中的工作相同,但速度更快并显示进展。

  • 这种方法可能比 慢rsync,但它只是复制文件,这不是故意的。

  • 它可以 1:1 复制所有内容,您可能会说这是完美的副本。

  • 您还需要引导扇区以便稍后引导。最简单的方法是备份整个驱动器。

  • 要使用dd(man page)显示进度,您可以添加到命令中:

    status=progress
    
    Run Code Online (Sandbox Code Playgroud)

提示

为了您之后能够有效地压缩图像,请不要忘记将可用空间归零。


use*_*275 2

是的,最简单的解决方案是

dd if=/dev/sda of="/media/usb/$(date).img"
Run Code Online (Sandbox Code Playgroud)

这很慢并且占用大量空间,因此您可以

  • 只需复制您想要的分区+引导扇区
  • 归零并压缩可用空间
  • 文件而不是基于块的备份
  • rdiff-backup 用于反向差异(第一次后大小大幅减小)
  • rsync(在慢速网络上显着加速)
  • 如果您将 Windows 放入虚拟机中,则牛 FS (btrfs/zfs) 比 rsync/diff 备份更快/更小只是一个选择,而且我不确定它们是否适合该场景。

您可能错过了引导扇区、UUID,应该阅读 grub 和 https://en.m.wikipedia.org/wiki/Windows_Vista_startup_process

  • @SopalajodeArrierez整个事情是简单的方法,否则你需要考虑分区表类型、引导扇区、UUID、对齐、标志、实用分区等。 (2认同)