移至更大驱动器后启动 Vista 时出现问题

移至更大驱动器后启动 Vista 时出现问题

我正在尝试将 32 位 Vista 安装移到更大的硬盘上。我尝试使用常规方法执行此操作:

  1. 将系统启动到 Ubuntu Live CD
  2. 使用以下方法备份 MBR:dd if=/dev/sda of=/some/backup/place bs=512 count=1
  3. 将整个分区备份dd到临时的外部 USB 驱动器。(此系统仅能安装一个硬盘)
  4. 关闭并安装新的驱动器。
  5. 再次启动 Ubuntu Live CD。
  6. 使用 从备份将 MBR 恢复到新驱动器上dd if=/some/backup/place of=/dev/sda bs=512 count=1
  7. 用于fdisk删除作为 MBR 的一部分恢复的分区,并创建一个与要恢复的分区大小相同的新分区,记得将其标记为可启动。(这样做的原因是旧驱动器有其他分区,我不想移动它们。)
  8. 使用 恢复整个分区dd,并检查是否可以挂载新的分区。
  9. 重新启动进入新驱动器并检查 Windows 是否仍然正常运行。运行磁盘检查以确保其完整性。

我已经在各种版本的 Windows 上使用过这种方法数十次,而且效果一直很好。这是我第一次在 Vista 上尝试这种方法,但我发现它不能正常工作。系统无法从新驱动器启动。当我尝试从新驱动器启动时,只看到一个闪烁的光标,没有其他任何内容。

我尝试过的事情:

  • 使用上述方法,我从 备份/dev/sda3并恢复到/dev/sda1。我担心移动分区号可能会混淆 Vista 引导加载程序,因此我尝试将新分区再次命名为sda3(只需在fdisk上述阶段指定正确的主分区号即可完成)。这并没有解决无法启动的问题。
  • 我也尝试过使用“ ”从头创建新的 MBR(不参考备份)dd if=/dev/zero of=/dev/sda bs=512 count=1 && lilo -M /dev/sda mbr,然后从上面的第 7 步继续。但这并没有解决问题。

我现在确信分区本身已正确恢复。我的 Ubuntu Live CD 可以正常安装该分区。我唯一剩下的问题就是让系统从新驱动器启动。

有谁知道 Vista 引导加载程序与 Windows XP 有何不同,以便我可以调试为什么上述方法不起作用?

答案1

引导加载程序与 XP 有很大不同,因此我建议从 Windows 光盘进行修复。它应该会检测分区并修复引导扇区,然后您就可以(如果您是双引导)使用 LiveCD 进行 GRUB 刷新。

答案2

我终于解决了这个问题。

我决定复制整个驱动器,而不仅仅是我想要的一个分区。

  1. 启动 Ubuntu Live CD。
  2. 备份全部/dev/sda使用dd
  3. 关机,放入新驱动器,重新启动 Ubuntu Live CD。
  4. 将备份恢复到新的/dev/sda使用中dd,包括不需要的分区。
  5. 重新启动进入新驱动器,并检查 Vista 是否正常运行。
  6. 根据需要重新调整分区。

我不知道我的第一个方法出了什么问题,但现在已经解决了。:)

相关内容