我有一台预装了 Windows 7 的笔记本电脑,并在双启动模式下继续使用了一段时间。
现在我想将 Windows 7 安装移到虚拟机中,在 ubuntu 中运行。
我遵循了几种描述,但至今无济于事。
我最接近的方法是遵循以下路径: - 在 Windows 上:使用“disk2vhd”创建现有 Windows 安装的映像 - 生成 60GB 的 .vhd 类型文件 - 在 Windows 上:创建恢复磁盘 (DC) - 在 ubuntu 上:创建虚拟机(在 virtualbox 4.3.36 中),将 .vhd 文件指定为 SATA 磁盘,将包含恢复磁盘的 CD 驱动器指定为 IDE 驱动器。 - 在 ubuntu 上:从 CD 启动虚拟机。它成功从 CD 启动,找到存在启动问题的现有 Windows 7 安装,提出修复问题,修复后无效。
在没有 CD 的情况下启动虚拟机,从 HD 启动失败,并显示:错误:未知文件系统进入救援模式 grub rescue>
grub 在这里做什么?我认为,我在 windows-vm 中。它应该不知道在 linux 主机上。
我可以检查什么来查看启动失败的原因吗?
答案1
感谢 Ramhound 的提示,我找到了解决方案。
背景似乎是 .vhd 文件包含主引导记录 (MBR),而主引导记录本身包含对 grub 的引用。
从恢复磁盘启动虚拟机,可以修复 MBR:
- 启动命令提示符
- 启动程序“diskpart”
- “list volume”显示虚拟机中可用的卷,
- “选择磁盘 1”选择卷 C:/
- “列出分区”显示 C:/ 中的分区(仅一个)
- “select partion 1”选择此分区
- “active”使该分区处于活动状态
- “exit” 离开 diskpart
- “bootrec /fixmbr”重建MBR
- “bootrec /fixboot”重建引导加载程序
- “bootrec /rebuildbcd”重建启动数据表
完成上述步骤后,虚拟机终于按预期启动了