是否可以在 Windows 上对 SSD 进行完整映像备份?

del*_*les 9 windows windows-11

最近,我从 Mac 转向了 PC 笔记本电脑。我已经在 MacBook 上使用了 Windows 和 Parallels。因为是虚拟机,所以我只要复制虚拟机文件就可以做一个完整的备份。当我需要恢复机器的先前版本时,我只需将旧文件粘贴到同一位置即可。

这非常方便,因为作为软件开发人员,配置新环境总是一件麻烦事;通常我会花几天时间做一些事情,比如安装应用程序、配置、个性化等等。

有没有一种有效的方法来制作SSD的完整映像,这样如果我将来需要恢复它,我只需恢复映像即可?这意味着恢复确切的设置、应用程序、数据等一切,就像我以前在 Parallels 上所做的那样,但在普通的 Windows 笔记本电脑上。

Kel*_*ari 7

u1686_grawity的回答很好。您还可以使用CloneZilla等工具来制作映像并将其还原到虚拟机和裸机。


小智 7

我使用一个名为Macrium Reflect的工具。它可以复制磁盘/SSD 和分区。此外,当您获得更大的磁盘/SSD 时,它还会调整分区大小。

我与他们没有任何关系(只是客户)。

  • 有免费和付费版本。尽管免费版本在 v8.0 上被冻结(并且不再更新),但它具有您合理需要的所有功能。 (3认同)

use*_*686 5

Windows 具有“系统还原”功能,该功能使用文件系统快照,只要操作系统仍在运行,您就可以从同一磁盘将整个操作系统恢复到较早的状态(或提取旧文件)\xe2\x80\x93。

\n

如果您想将映像存储在外部磁盘上,Windows 没有很好的工具1,但有许多第三方产品可用于完整系统备份以及磁盘克隆。

\n

这取决于您是否需要一次性备份或连续备份 \xe2\x80\x93 克隆/映像程序将创建简单的磁盘映像,但每次创建完整映像将花费更长的时间,而备份程序通常会使用自定义存档格式只有它可以提取,但优点是它可以跟踪更改的内容,从而加快备份时间(这样您就可以根据需要每天甚至每小时获得过去的版本)。通常这两种类型都有一个用于恢复到空系统的可引导环境。

\n
\n

1就内置工具而言,Windows 确实附带了“备份和还原 (Windows 7)”应用程序,但顾名思义,除了还原旧备份之外,它不再受到真正的支持。忽略新的“Windows 备份”应用程序,它基本上是变相的 OneDrive。

\n

Sysinternals Disk2vhd 可用于手动创建 .vhdx 格式的全磁盘映像(与 Hyper-V 使用的相同,因此理论上它可以作为虚拟机启动);不幸的是,据我所知,没有简单的工具可以将此类映像恢复到物理磁盘 \xe2\x80\x93,唯一的选择是带有 qemu-img 或 qemu-nbd 的 Linux live USB。

\n

Windows 安装 USB 可用于使用 DISM \xe2\x80\x93 创建 .wim 格式映像(基于文件的存档),它是用于安装Windows 以及制作预配置操作系统映像 \xe2\x80\x93 的官方工具,但是当您想要对数百GB的常用系统进行映像时,它有点慢......而且它是基于文件的,因此恢复它非常乏味。(我也不能 100% 确定它是否重现某些 NTFS 属性。)

\n


JW0*_*914 1

\n

如果 Windows不在VM 中运行,则不建议使用完整磁盘映像,因为实际上不需要它们,除非专门通过FFU映像部署到多台计算机;除此之外,Windows 中实际上没有分区级或磁盘级映像的用例,因为 Win \xe2\x89\xa5 XP 使用 NTFS 作为默认文件系统(具体到这个问题,操作系统分区是唯一的)需要镜像的分区)

\n

因此,除了 FFU 映像之外,Windows 中不需要包含偏移量、对齐方式、块大小等的传统分区级或磁盘级映像,并且它们:

\n
    \n
  • 缺乏本机 Windows 支持,因此需要第三方程序和非标准 Windows 启动介质
  • \n
  • 通常缺乏压缩和奇偶校验,这是Windows 映像文件格式的主要优点\n
      \n
    • WIM/ESD 可以在相对较小的单个图像文件中包含多个图像,所提供的数据不可能损坏/CheckIntegrity并且始终/Verify使用
    • \n
    \n
  • \n
  • 将映像锁定到特定分区或驱动器布局(偏移、对齐、块大小等)
  • \n
  • 通常没有数据验证,因此容易遭受数据损坏

  • \n
\n
\n

影像学

\n

PowerShell 映射| 赢得 \xe2\x89\xa5 8: Dism| 赢得\xe2\x89\xa4 7:ImageX

\n

初始基础 WIM/ESD 确实比第三方克隆需要更长的时间来捕获,因为奇偶校验内置于 WIM/ESD 文件格式中;在基本图像之后,后续附加图像花费的时间更少。WIM/ESD 可以在相对较小的单个图像文件中包含多个图像,提供的数据不可能损坏/CheckIntegrity并且始终/Verify使用

\n
    \n
  • WIM(Windows IM Age)可以捕获整个分区或单个文件夹/文件
  • \n
  • ESD(电子软件分发)只能捕获操作系统分区并且必须使用(算法比 效率高约 33 % \ n/Compress:Recovery /Compress:Max
      \n
    • Windows \xe2\x89\ xa5 10:只能用于PBR [按钮重置] 导出的图像
    • \n
    • Windows \xe2\x89\xa4 8.1:可用于可启动的 Windows 安装或 PBR 映像

    • \n
    \n
  • \n
  • 通过创建配置文件来指定排除或例外WimScript.ini,这是/ScratchDirWinPE 中必需的,因为默认情况下它只有 32MB 的暂存 [temp] 空间\n
      \n
    • 要消除 的需要/ScratchDir,请参阅WinPE/WinRE 自定义部分

    • \n
    \n
  • \n
  • 尽管/CheckIntegrity ( ImageX:)/Check确实延长了图像处理时间,/Verify仍应始终使用它们,因为它们可以防止 WIM/ESD 内发生数据损坏

  • \n
\n
\n

先决条件

\n
    \n
  1. 引导WinRE : (操作系统分区只能从 WinPE捕获) \n
      \n
    1. 打开管理终端:WinKey+ R\xe2\x86\x92打开: powershell \xe2\x86\x92 Ctrl+ Shift+OK\n
      shutdown /r /o /f /t 00\n
      Run Code Online (Sandbox Code Playgroud)\n
    2. \n
    3. 疑难解答\xe2\x86\x92高级选项\xe2\x86\x92命令提示符

    4. \n
    \n
  2. \n
  3. 识别脱机操作系统分区的挂载点:( 很可能不是C: \n
      \n
    1. DiskPart\xe2\x86\x92 之一:\n
        \n
      • lis vol\xe2\x86\ sel vol #x92 \ det volxe2\x86\x92 \xe2\x86\x92exit
      • \n
      • lis dis\xe2\x86\x92 sel dis #\xe2\x86\x92 lis par\xe2\x86 sel par #\x92 \xe2\x86\x92 det par\xe2\x86\x92exit

      • \n
      \n
    2. \n
    \n
  4. \n
\n
\n

捕获图像附加图像

\n
    \n
  1. 要么: \n
      \n
    1. 捕获基本映像: \n
      # Mount Points:\n  # C: offline OS partition\n  # Z: partition WIM is being saved to\n\n# Windows \xe2\x89\xa58: DISM\n  Dism /Capture-Image /ImageFile:"Z:\\Base.wim" /CaptureDir:"C:" /Name:"Windows Backup" /Description:"Base Image 2023.11.17 @ 12:00" /Compress:Max /CheckIntegrity /Verify /ScratchDir:"Z:"\n\n# Windows XP \xe2\x89\xa4 7: ImageX\n  ImageX /Capture "C:" "Z:\\Base.esd" "Windows Backup" "Base Image 2023.11.17 @ 12:00" /Compress:Recovery /Check /Verify /ScratchDir:"Z:\\"\n
      Run Code Online (Sandbox Code Playgroud)\n
        \n
      • 机械硬盘:由于使用 时压缩需要更长的时间/Compress:<Max||Recovery>,如果时间是问题,使用 会更有效/Compress:Fast,稍后使用或导出索引MaxRecovery

      • \n
      \n
    2. \n
    3. 将图像附加到现有 WIM: \n
      # Mount Points\n  # C: offline OS partition\n  # Z: partition containing the WIM\n\n# Windows \xe2\x89\xa58: DISM\n  Dism /Append-Image /ImageFile:"Z:\\Base.wim" /CaptureDir:"C:" /Name:"Windows Backup" /Description:"Appended Image 2023.11.17 @ 12:00" /CheckIntegrity /Verify /ScratchDir:"Z:"\n\n# Windows XP \xe2\x89\xa4 7: ImageX\n  ImageX /Append "C:" "Z:\\Base.esd" "Windows Backup" "Appended Image 2023.11.17 @ 12:00" /Compress:Recovery /Check /Verify /ScratchDir:"Z:\\"\n
      Run Code Online (Sandbox Code Playgroud)\n
        \n
      • 压缩锁定为捕获基本图像时设置的值
      • \n
      • 可以通过以下方式删除单个索引/Delete-Image或通过以下方式将其导出到自己的 WIM/ESD:/Export-Image

      • \n
      \n
    4. \n
    \n
  2. \n
\n
\n

应用图像

\n
    \n
  1. 格式化脱机操作系统分区: \n
      \n
    1. DiskPart\xe2\x86\x92 lis dis\xe2 sel dis #\x86\x92 lis par\xe2\x86\x92 \xe2\x86\x92sel par #
    2. \n
    3. 验证所选分区是否正确: det par
    4. \n
    5. format fs=ntfs quick label=OS\xe2\x86\x92det par
    6. \n
    7. 如果挂载点 [ Ltr] 仍然存在 \xe2\x86\x92 exit;如果不是:assign letter=O\xe2\x86\x92 exit\n
        Volume ###  Ltr  Label        Fs     Type        Size     Status     Info\n  ----------  ---  -----------  -----  ----------  -------  ---------  --------\n* Volume 8     O   OS           NTFS   Partition    300 GB  Healthy    Boot\n
      Run Code Online (Sandbox Code Playgroud)\n
      \n
    8. \n
    \n
  2. \n
  3. /Get-ImageInfo确保应用正确的索引 [image]: \n
    # Windows \xe2\x89\xa58: DISM\n  Dism /Get-ImageInfo /ImageFile:"Z:\\Base.wim"\n\n# Windows XP \xe2\x89\xa4 7: ImageX\n  ImageX /Info "Z:\\Base.wim"\n
    Run Code Online (Sandbox Code Playgroud)\n
    \n
  4. \n
  5. 将映像应用到脱机操作系统分区: \n
      # Mount Points\n    # C: offline OS partition image is being applied to\n    # Z: partition containing the WIM\n\n# Windows \xe2\x89\xa58: DISM\n  Dism /Apply-Image /ImageFile:"Z:\\Base.wim" /Index:1 /ApplyDir:"C:" /CheckIntegrity /Verify /ScratchDir:"Z:"\n\n# Windows XP \xe2\x89\xa4 7: ImageX\n  ImageX /Apply "Z:\\Base.wim" 1 "C:" /Check /Verify /ScratchDir:"Z:\\"\n
    Run Code Online (Sandbox Code Playgroud)\n
    \n
  6. \n
  7. BootRec必须在退出 WinPE/WinRE 之前运行: \n
      \n
    • BIOS: \n
      BootRec /FixMBR && BootRec /FixBoot && BootRec /RebuildBCD\n
      Run Code Online (Sandbox Code Playgroud)\n
    • \n
    • UEFI: \n
      ::# With existing bootable EFI partition:\n    BootRec /FixMBR && BootRec /RebuildBCD\n\n\n::# Without existing bootable EFI partition:\n    ::# Create EFI directories and enter:\n        MkDir "Y:\\EFI\\Microsoft\\Boot"\n        Cd /d "Y:\\EFI\\Microsoft\\Boot"\n\n    ::# Create EFI boot structure:\n        BootRec /Fixboot\n\n        ::# If Access Denied error occurs (C: is applied image):\n            BcdBoot C:\\Windows /s Y: /f UEFI\n\n    ::# Resolve any other boot issues:\n        BootRec /FixMBR && BootRec /RebuildBCD\n
      Run Code Online (Sandbox Code Playgroud)\n
      \n
    • \n
    \n
  8. \n
\n
\n
\n

附加 WIM 示例

\n
PS $  ls -file "Z:\\WIM"\n\n  Directory: Z:\\WIM\n\n    Mode                LastWriteTime            Length  Name\n    ----                -------------            ------  ----\n    -a----        2023.09.05 00:33:46   40,193,295,546B  Base.wim\n    -a----        2023.09.05 00:07:12              568B  Dism.cmd\n    -a----        2023.09.05 00:09:51               97B  WimScript.ini\n\n\nPS $  Dism /Get-ImageInfo /ImageFile:"Z:\\WIM\\base.wim"\n\n  Deployment Image Servicing and Management tool\n  Version: 10.0.22621.1\n\n    Details for image : Z:\\WIM\\base.wim\n\n      Index : 1\n        Name : Alienware 18: Windows 11\n        Description : v22H2: Base (Drivers & Updates Only)\n        Size : 48,259,986,179 bytes\n\n      Index : 2\n        Name : Alienware 18: Windows 11\n        Description : v22H2: Programs Installed (Customizations Applied)\n        Size : 74,666,504,006 bytes\n
Run Code Online (Sandbox Code Playgroud)\n
PS $ Dism /Get-ImageInfo /ImageFile:"Z:\\WIM\\base.wim" /Index:1\n\n  Deployment Image Servicing and Management tool\n  Version: 10.0.22621.1\n\n    Details for image : Z:\\WIM\\base.wim\n\n      Index : 1\n        Name : Alienware 18: Windows 11\n        Description : v22H2: Base (Drivers & Updates Only)\n        Size : 48,259,986,179 bytes\n        WIM Bootable : No\n        Architecture : x64\n        Hal : COMPUTER\\Generic\n        Version : 10.0.22621\n        ServicePack Build : 2215\n        ServicePack Level : 0\n        Edition : Professional\n        Installation : Client\n        ProductType : WinNT\n        ProductSuite : Terminal Server\n        System Root : WINDOWS\n        Directories : 48508\n        Files : 195745\n        Created : 2023.08.28 - 22:09:33\n        Modified : 2023.08.28 - 22:09:34\n        Languages : en-US (Default)\n\n\nPS $  Dism /Get-ImageInfo /ImageFile:"Z:\\WIM\\base.wim" /Index:2\n\n  Deployment Image Servicing and Management tool\n  Version: 10.0.22621.1\n\n    Details for image : Z:\\WIM\\base.wim\n\n      Index : 2\n        Name : Alienware 18: Windows 11\n        Description : v22H2: Programs Installed (Customizations Applied)\n        Size : 74,666,504,006 bytes\n        WIM Bootable : No\n        Architecture : x64\n        Hal : COMPUTER\\Generic\n        Version : 10.0.22621\n        ServicePack Build : 2215\n        ServicePack Level : 0\n        Edition : Professional\n        Installation : Client\n        ProductType : WinNT\n        ProductSuite : Terminal Server\n        System Root : WINDOWS\n        Directories : 60460\n        Files : 275154\n        Created : 2023.09.04 - 23:30:09\n        Modified : 2023.09.04 - 23:30:10\n        Languages : en-US (Default)\n
Run Code Online (Sandbox Code Playgroud)\n
\n
\n
\n

配置新驱动器

\n
    \n
  1. DiskPart \n
    ::# List disks:\n    Lis Dis\n\n::# Select OS drive # WIM is being applied to:\n    Sel Dis #\n\n::# Wipe partition table (assumes no data on drive is being preserved)\n    Clean\n
    Run Code Online (Sandbox Code Playgroud)\ nUEFI: \n
    Convert Gpt\n
    Run Code Online (Sandbox Code Playgroud)\n
    \n
  2. \n
  3. 创建启动分区: \n\n
    \n
  4. \n
  5. 创建系统分区: \n
      \n
    • 驱动器的其余部分作为系统分区:
      如果C:无法分配,请将 3 和 5 更改为另一个字母\n\n
    • \n
    • [200GB] 系统分区之后的附加分区:
      如果将用户数据目录存储在(推荐)以外的分区上C:\\,则所需的最大大小为 ~300GB (所需大小乘以 1024: 200*1024=204800 \n\n
    • \n
    \n
  6. \n
  7. 创建 WinRE 分区: (应有 320MB 可用空间以允许将来 WIM 大小增加) \n\n
    \n
  8. \n
  9. 解决所有启动问题:( 应用 WIM 后) \n
      \n
    • BIOS: \n
      BootRec /FixMBR && BootRec /FixBoot && BootRec /RebuildBCD\n
      Run Code Online (Sandbox Code Playgroud)\n
    • \n
    • UEFI: \n
      ::# With existing bootable EFI partition:\n    BootRec /FixMBR && BootRec /RebuildBCD\n\n\n::# Without existing bootable EFI partition:\n  ::# Create EFI directories and enter:\n      MkDir "Y:\\EFI\\Microsoft\\Boot"\n      Cd /d "Y:\\EFI\\Microsoft\\Boot"\n\n  ::# Create EFI boot structure:\n      BootRec /Fixboot\n\n      ::# If Access Denied error occurs (C: is applied image):\n          BcdBoot C:\\Windows /s Y: /f UEFI\n\n  ::# Resolve any other boot issues:\n      BootRec /FixMBR && BootRec /RebuildBCD\n
      Run Code Online (Sandbox Code Playgroud)\n
      \n
    • \n
    \n
  10. \n
  11. 删除 EFI 挂载点并重新启动: \n
    DiskPart\n\n  Sel Vol Y\n  Remove\n  Exit\n
    Run Code Online (Sandbox Code Playgroud)\n
    \n
  12. \n
\n
\n
\n

WinPE/WinRE 自定义

\n

要增加 WinPE/WinRE 中可用的临时空间,无需/ScratchDir

\n

WinPE

\n
    \n
  1. 打开管理终端: WinKey + R\xe2\x86\x92打开: powershell \xe2\x86\x92 Ctrl+ Shift+OK
  2. \n
  3. \n
    ## <InstallUSB>: drive letter for the Install USB ##\n\n# Create working directory:\n  MkDir "C:\\Mount"\n\n# Get correct image index (Windows Setup is usually #2):\n  Dism /Get-ImageInfo /ImageFile:"<InstallUSB>:\\sources\\boot.wim"\n\n# Mount WinPE Windows Setup WIM:\n  Dism /Mount-Image /ImageFile:"<InstallUSB>:\\sources\\boot.wim" /Index:2 /MountDir:"C:\\Mount"\n\n# Load WinPE SYSTEM hive:\n  Reg Load HKLM\\WinPE "C:\\Mount\\Windows\\System32\\config\\SYSTEM"\n\n  # Show hidden files:\n    Reg Add HKLM\\WinPE\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v Hidden /t REG_DWORD /d 1\n    Reg Add HKLM\\WinPE\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v ShowSuperHidden /t REG_DWORD /d 1\n\n  # Show file extensions:\n    Reg Add HKLM\\WinPE\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v HideFileExt /t REG_DWORD /d 0\n\n  # Unload Hive:\n    Reg Unload HKLM\\WinPE\n\n# Set WinPE default temp space to 512MB:\n  Dism /Set-ScratchSpace:512 /Image:"C:\\Mount"\n\n# Unmount WinPE Windows Setup WIM:\n  Dism /Unmount-Image /MountDir:"C:\\Mount" /Commit\n\n# Cleanup:\n  RmDir /s /q "C:\\Mount"\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
\n

WinRE

\n
    \n
  1. 打开管理终端: WinKey + R\xe2\x86\x92打开: powershell \xe2\x86\x92 Ctrl+ Shift+OK
  2. \n
  3. 挂载 WinRE 分区:
    DiskPart \xe2\x86\x92 lis vol\xe2\x86\x92 sel vol #\xe2\x86 det vol\x92 \xe2\x86\x92 assign letter=W\xe2\x86\x92exit