我有一台安装了 Windows 7 的开发笔记本电脑。我想将其切换到 Ubuntu,并将现有的 Win7 物理安装转换为在新安装的 Ubuntu 下运行的 VirtualBox 中使用。
完成后,我不需要启动到本机 Windows - 完成后它可以仅限于 VM。
我尝试过这篇文章virtualbox.org
,但它无法与 Win7 配合使用。我不确定如何继续,因为我有安装了 Win7 的分区以及System Reserved
100mb 分区,所以我从中选择了两个分区disk2vhd
,并取消选择vss
和vhdx
选项,但没有运气(它根本无法启动,甚至没有 BSOD,我收到了一些NS_
我现在没有记录的错误)。
我还发现这文章讨论了使用VBoxManage
选项createrawvmdk
创建指向物理磁盘的伪 VMDK 文件,但我不确定需要执行哪些步骤,主要是因为这个答案给出了在新的 VMDK 文件中使用现有 MBR 的另一种更简单的策略。
所以我现在很困惑,我是否应该创建一个指向假主引导记录的环回设备,如链接中所述fds-team.de
?还是直接创建 VMDK 并从我的 VM 中重新使用 GRUB 引导加载程序?我有点担心第二种选择,因为如果我意外启动 VM 并选择 Ubuntu,而已经在本机运行相同的 Ubuntu 安装,则会发生严重的数据损坏
我链接的文章有点旧了,所以现在也许有更好的方法可以做到这一点?如果第一个链接的virtualbox.org
使用过程disk2vhd
(或等效VMWare
实用程序)有更新,那可能是我的第一选择。
谢谢!!!
答案1
我找到了解决方案。我发布答案是希望其他人也能找到并得到帮助
我上面发布的第一个链接(来自virtualbox.org
)基本上是正确的。我将以此为基础,并针对 win7 / 给出更新的答案virtualbox
。
- 使用链接中提到的实用程序准备 Windows 注册表
MergeIDE
。不要担心.bat
或.exe
文件,只需直接导入.reg
文件(实用程序不是为 win7 设计的,但注册表项相同)。 - 运行
disk2vhd
实用程序 - 取消选择
vxhd
,use Volume Shadow copy
如果它们被选中(对我来说只有vxhd
默认选择) - 确保选择了
boot
分区和system reserved
分区(两者都需要,如果仅选择c:\
驱动器,则会失败) - 选择除
c:\
保存之外的其他分区VHD
,以节省时间(对我来说,打开和关闭似乎都花费相同的时间,ymmv)
现在您有了 VHD 文件。所以,您可能会想,“太棒了,virtualbox 现在支持 VHD,我只需启动它即可”。 我建议将其转换为 VDI 文件,我的系统崩溃了两次,整个 80GB VHD 都损坏了,无法修复。不知道 VDI 格式是否也容易发生这种情况,但何必这么麻烦呢。
您可能还需要做的另一件事是更改 vhd 所在的控制器。我的默认控制器是IDE
,直到我更改为,映像才会启动SATA
其他说明:
-- 当我启动 VHD 时,它必须运行 chkdsk 并更正一些文件 -- 当我在 virtualbox 中运行 VHD 后第一次启动 Win7 时,由于某种原因,chkdisk 也需要运行并清理一些文件
我提到最后这 2 点是因为这让我觉得我可能做错了什么。如果其他有知识的人看到这个,希望他们可以添加评论或编辑帖子。
答案2
你也许可以使用Microsoft 虚拟机转换器 3.0为您当前的 Windows 7 安装制作一个 VHD,然后使用或转换该 VHD 以用于 VirtualBox。
嗨嗨。