将Windows 7(OEM)移动到ubuntu上的Virtualbox中


0

我有一台预安装Windows 7的笔记本电脑,并且在双启动模式下与ubuntu一起使用了一段时间。

现在我想将windows-7安装移动到一个在ubuntu中运行的虚拟盒中。

我遵循了几个描述,但到目前为止无济于事。

我最接近这条路径: - 在Windows上:使用“disk2vhd”创建现有windows安装的映像 - 在Windows上生成60GB的.vhd文件 - 在ubuntu上创建恢复磁盘(DC) :创建一个虚拟机(在virtualbox 4.3.36中),分配.vhd-File als SATA-Disk,将带有恢复盘的CD-Drive分配为IDE-Drive。 - 在ubuntu上:从CD启动vm。它成功地从CD启动,发现现有的Windows-7安装有启动问题,提供修复它们,修复没有任何效果。

在没有CD的情况下启动vm,从HD启动失败,出现:错误:未知文件系统进入救援模式grub rescue>

grub在这做什么?我想,我在windows-vm里面。它不应该知道在linux主机上的任何事情。

有什么我可以检查,看看为什么启动失败?


“它不应该知道在Linux主机上的任何事情。” - 听起来像是在复制主机的硬盘并创建虚拟硬盘,其中包括引导(GRUB)分区。
Ramhound

这是一个很好的暗示!实际上,在我的原始系统上,windows-partition(c:/ = / dev / sda1)被标记为“boot”。知道如何避免它/处理它吗?
Nicolai

使用其他工具获取物理HDD并仅将单个分区转换为虚拟HDD,然后在虚拟机中创建所需的启动分区。我真的没有提供一个提示,我提供了一个解释,基于你未能以某种方式确认的假设。
Ramhound

用gparted检查我的原始硬盘,我看到几个分区。其中只有一个被标记为“启动”。这是分区窗口,它是ntfs格式的,包含/ boot / BCD。只有该单个分区已转换为.vhd文件。
Nicolai

我们在谈论GPT还是MBR?虽然它可能在启动时被标记,但是在与Windows相同的分区上定位grub是不常见的(我可以保证不是这种情况)。我使用的上下文中的启动分区是哪个分区包含您的启动管理器(即您的情况下为Grub)。
Ramhound

Answers:


0

感谢Ramhound的暗示,我找到了解决方案。

背景似乎是.vhd文件包含Master-Boot-Record(MBR),它本身包含对grub的引用。

从恢复磁盘启动VM,可以修复MBR:

  • 启动命令提示符
  • 启动程序“diskpart”
  • “list volume”显示VM中的可用卷,
  • “select disk 1”选择卷C:/
  • “list partition”在C中显示分区:/(只有一个)
  • “select partion 1”选择此分区
  • “活跃”使这个分区活跃起来
  • “exit”离开diskpart
  • “bootrec / fixmbr”重建MBR
  • “bootrec / fixboot”重建bootloader
  • “bootrec / rebuildbcd”重建boot-data-table

完成所有这些步骤后,VM最终按预期启动

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.