将我的 Windows 安装移动到 SSD 的最简单方法?

Jon*_*tus 47 windows ssd hard-drive partitioning

我已经冒险购买了一个 SSD,并希望将我现有的 Windows 安装转移过来。当前的硬盘为 500Gb,但我已将内容缩减至约 40Gb。我正在将它转移到 100Gb SSD,并寻找最简单的方法来复制所有内容并将 SSD 设置为引导设备。

我看过一些像 Macrium Reflect 这样的工具,但它们似乎无法恢复到较小的驱动器。我是否需要像PING这样的东西才能做到这一点?如果可能的话,我试图避免可怕的基于 Linux 的启动实用程序,有人知道更简单的方法吗?

Bri*_*an 35

ImageX是一个免费工具,它是Windows 7 WAIK 的一部分下载)。这是我们在工作中使用的成像机器。它甚至可以用来创建机器的备份。如果您正在使用 C 驱动器(您有另一个驱动器 D,并且您的 SSD 当前设置为 E),那么只需启动到 Windows PE,然后

ImageX /capture c: d:\image.wim "bootDrive" /verify /compress fast
Run Code Online (Sandbox Code Playgroud)

这将image.wim在另一个驱动器上生成一个非常大的文件。你甚至可以映射一个驱动器,然后把它放到网络上,这就是我们所做的。

然后,重新配置驱动器以确保 SSD 现在是C:\

再次重新启动到 Windows PE,然后键入:

imagex /apply d:\image.wim 1 c: /verify
Run Code Online (Sandbox Code Playgroud)

然后,在那之后,运行这个命令是至关重要的,仍然在 PE 中:

bcdboot.exe c:\windows
Run Code Online (Sandbox Code Playgroud)

这将使一切都可以启动。

如果bcdboot.exe失败,您可能必须首先使用该diskpart实用程序将您复制 Windows 的分区标记为活动分区。


更新:

开源imageX wimlib-imagex.exe

wimlib-imagex.exe capture c: d:\backup.wim "OS" /compress fast
wimlib-imagex.exe apply d:\backup.wim c: 
Run Code Online (Sandbox Code Playgroud)

  • 如何重新配置​​驱动器 (3认同)
  • 什么是windows PE? (2认同)

小智 11

我的成功经验:

  • 连接 SSD 驱动器并格式化为 NTFS
  • 使用 Windows 7 原始 DVD 启动 -> 还原
  • 检查源驱动器号和目标驱动器号(例如 E: 和 H:)
  • 执行:

    ROBOCOPY "E:\Program Files" "H:\Program Files" /MIR /SEC /SECFIX /R:0
    ROBOCOPY "E:\Program Files (x86)" "H:\Program Files (x86)" /MIR /SEC /SECFIX /R:0
    ROBOCOPY "E:\Windows" "H:\Windows" /MIR /SEC /SECFIX /R:0
    ROBOCOPY "E:\Users" "H:\Users" /MIR /SEC /SECFIX /R:0
    BOOTSECT /nt60 H: /mbr
    
    Run Code Online (Sandbox Code Playgroud)
  • 分离旧驱动器并使用 Windows 7 原始 DVD 重新启动 -> 还原

  • 关掉
  • 交换驱动器,开机,在BIOS中选择从新驱动器启动


小智 10

Windows 7 的内置备份功能使这变得非常容易,只要您有另一个(第三个)驱动器来存储备份。

http://www.winsupersite.com/article/windows-7/replace-your-hard-drive-using-free-windows-7-tools

我这个周末刚做了这个,效果很好。

  • 注意 Windows Image Recovery 不会让您从较大的分区还原到较小的分区,即使实际数据量小于较小的分区。我尝试使用这种方法将 Windows 7 从 2TB 硬盘上移到 128GB SSD 上,尽管驱动器上只有 80GB 的数据,但它失败了,并显示“找不到可用于恢复系统磁盘的磁盘”。 (7认同)

Jor*_*ner 7

我昨天刚刚成功地将我的 Windows 安装复制到了一个新的 SSD。我知道我想使用GParted,但不知道在那之后该怎么做。在我复制 Windows 后,我花了几个小时才让计算机从 SSD 启动,所以我想我会记下我做了什么。

这是我所做的:

  • 在我的硬盘驱动器上释放足够的空间,以便它上的内容适合 SSD。

  • 下载并刻录了GParted live CD。它是一个基于 Linux 的分区编辑器,但我发现它易于使用且可靠。

  • 将SSD放入电脑。

  • 更改了 BIOS 中的启动优先级,使 SSD 位于顶部(很好地验证,以便您知道从何处启动)。

  • 启动到 GParted 并将我的硬盘驱动器的分区大小调整为小于 SSD。调整大小花了将近一个小时。然后我将硬盘驱动器的分区复制并粘贴到 SSD 并调整其大小以同时填充 SSD。花了大约半个小时。(进入高级模式并考虑选项,例如 --recover,如果处理有缺陷的磁盘)。

  • 我用旧的 Windows 安装拔掉了硬盘驱动器。您不必这样做,但如果拔掉电源插头,那么当计算机启动并出现桌面时,您就知道一切正常。(在我的尝试时,我没有足够的硬盘拔下,有一次我从SSD启动时,它是驱动器E,但注册表还是引用驱动器C.所以我用E:\Windows从SSD,但C:\UsersC:\Program Files从硬盘驱动器。 )

  • 启动到 Windows 7 安装盘并打开恢复命令提示符。需要更改驱动器号,以便 SSD 的分区是 C: 就像在硬盘驱动器上一样。我用diskpart. 像这样(SSD 是 111 GB):

** 重要提示:如果分区被克隆到新磁盘,则在连接两个磁盘时您将无法区分它们。最简单的事情是在操作系统分区中留下一个文本文件,说明这是哪个驱动器。

    X:\Sources> diskpart

    DISKPART> list volume

    Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
    ----------  ---  -----------  -----  ----------  -------  ---------  --------
    Volume 0     C                NTFS   Partition    465 GB  Healthy    
    Volume 1     D                NTFS   Partition    111 GB  Healthy    

    DISKPART> select volume 0
    ...
    DISKPART> assign letter=E
    ...
    DISKPART> select volume 1
    ...
    DISKPART> assign letter=C
    ...
    DISKPART> select volume 0
    ...
    DISKPART> assign letter=D
    ...

The partition also needed to be set active:

    DISKPART> list disk

      Disk ###  Status         Size     Free     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
      Disk 0    Online          465 GB  1024 KB
      Disk 1    Online          111 GB      0 B

    DISKPART> select disk 1
    ...
    DISKPART> list partition

      Partition ###  Type              Size     Offset
      -------------  ----------------  -------  -------
      Partition 1    Primary            111 GB  1024 KB

    DISKPART> select partition 1
    ...
    DISKPART> active
    ...
    DISKPART> exit
Run Code Online (Sandbox Code Playgroud)
  • 在重新启动之前执行这些命令:

    bootrec /fixmbr
    bootrec /fixboot
    bootrec /rescanos
    bcdboot c:\windows
    
    Run Code Online (Sandbox Code Playgroud)

    我不确定它们是否都是必需的,但运行它们并没有什么坏处。

  • 从 SSD 启动,一切正常。我重新插入了硬盘驱动器。


bor*_*tao 6

虽然@Brian 的回答应该有效,但我使用了这个,它的速度要快得多,而且不需要 WAIK 或 WinPE:

  1. 创建分区

    • 在新驱动器的开头创建一个 100MB 的分区,将其标记为活动
    • 创建另一个至少与原始 C 一样大的主分区:
    • 挂载两个分区,例如小分区为 Y:,大分区为 X:
  2. 复制分区

    我们必须复制所有内容,甚至 MBR。

    • 获取可在 Windows 7 中运行的分区复制实用程序。我使用了 Acronis Disk Director,但我相信 Norton Ghost、Acronis True Image 甚至 Seagate Discwizard 都应该这样做。
    • 将您的 C: 分区复制到新驱动器 X:
    • 这应该需要重新启动
  3. 更改驱动器号

    您必须编辑新驱动器 regedit,以便分配的驱动器号不是 X:,而是 C:

    • 打开注册表编辑
    • 选择 HKEY_LOCAL_MACHINE
    • 转到文件 -> 加载配置单元
    • 打开 X:\[Your windows dir]\System32\Config\SYSTEM
    • 选择一个密钥名称,例如“TEMP”
    • 它将创建一个临时文件夹,打开它并找到 MountedDevices
    • 向下滚动并重命名\DosDevices\C:\DosDevices\Z:(或未使用的字母)
    • 最后重命名\DosDevices\X:\DosDevices\C:

    确保重命名新驱动器注册表中的条目,而不是旧的

  4. 创建 BCD

    这应该bcdboot.exe起到作用

    • 获取EasyBCD
    • 转到 BCD 部署,选择新驱动器的 100MB 分区 Y:
    • 安装 BCD
    • 接受对话框,打开全新的BCD
    • 转到添加新条目,选择 Windows,键入:Windows Vista/7,驱动器 C: 并单击Add Entry
  5. 更改引导设备

    • 重新启动并进入您的 BIOS 配置(F1 或 DEL)
    • 更改 HD 优先级,将新 HD 上移

就这样

  • 这种方法对我很有效(我既不需要 DVD 也不需要额外的硬盘)。请注意,我使用了 [xxclone](http://www.xxclone.com/) 第 2 步,因为所有其他选项都需要花钱(或者,对于 Seagate Discwizard,要求您安装 Seagate 或 Maxtor 产品) . (3认同)