将我的物理操作系统转换为VirtualBox磁盘。

有没有可能将物理安装的Ubuntu(基于Intel的PC,带有Ubuntu 10.10)转换为VirtualBox虚拟磁盘,以便我可以在另一台计算机上使用相同的环境,或者保持虚拟状态进行测试?

类似于“Disk2VHD”的工具,它可以将物理的Windows 2003及以上版本转换为VHD或VMware镜像。

非常感谢您的帮助! 祝好!

2个回答

是的,不过可能需要很长时间。我实际上还没有尝试下面的步骤,但它们应该有效。
首先,您需要制作整个分区的映像。您需要知道Ubuntu分区的路径,例如/dev/sda1将是第一个连接的硬盘上的第一个分区。
请注意,您应该从未挂载要复制的分区的liveCD中执行上述命令 - 也就是说,您需要有另一个硬盘或其他设备来复制所有数据。
您可以关闭liveCD并重新启动到Ubuntu以执行最后一步:
将二进制文件转换为vbox驱动器:
VBoxManage convertdd PATH_TO_ubuntu.bin ubuntu.vdi --format VDI
你可以将生成的 ubuntu.vdi 作为 Virtualbox 的驱动器使用。只需确保在进行此操作时有足够的时间和硬盘空间。小提示:通过按下 Ctrl+Z 可以暂停命令行任务。该操作将进入睡眠状态,你可以继续使用电脑。当你想要恢复进程时,在终端中输入 fg,操作将会继续。对于像这样的长时间操作非常方便。

8在运行dd之前,我会使用gparted。如果你有一个200GB的Linux操作系统分区,使用dd将得到一个200GB的文件,即使你只使用了8GB。然后当你进行转换时,你将需要总共400GB的空间。所以使用gparted,将其缩小到9GB(给它一点空间),然后运行DD。需要注意的是,运行gparted确实需要很长时间,但从长远来看,比对一个200GB的bin DD备份进行VBoxManage要快得多。 :) - Psytek7
2这个方法也可以,并且更快:sudo dd if=PART_PATH | VBoxManage convertdd stdin ubuntu.vdi SIZE_BYTES --format VDI,其中 SIZE_BYTES 是设备的字节大小。 - Jacob
2我已经按照这些步骤操作了。在VirtualBox中启动VDI时,出现了一个错误:致命错误:找不到可引导的介质!系统停止运行。 - Riccardo
@butcher 我也是一样的 :( - 00fruX
1对于初始的 dd 命令,您需要对原始设备(例如 /dev/sda)进行镜像,而不仅仅是主分区(例如 /dev/sda1),这样您就可以得到引导分区。 - chess007
@chess007 但是我系统是双启动的,我的Ubuntu安装在/dev/sda7上。有什么办法可以让它启动起来吗? - RecursiveCursive

一个备选的方法是查看:'VMware vCenter Converter'
它是免费提供的,并声称可以一次完成此操作: http://linhost.info/2009/04/vmware-converter-installation-on-ubuntu-linux 从那里,它链接到了vmware页面,但只有在'版本4.01'下才有Linux版本可用。 在注册过程中,展开并寻找:"版本历史 - VMware vCenter Converter 4.0.1"

4我刚试过了。你仍然需要在网络上的某个地方有一个ESX服务器来存储虚拟机。VMware VCenter Converter只是将物理计算机转换为虚拟机并将其存储在ESX服务器上的“中间人”。(http://www.vmware.com/pdf/converter_standalone_guide401.pdf)- “在Linux转换中,源机器上不部署代理程序。而是创建一个辅助虚拟机,并部署到目标ESX/ESXi主机上。” - 00fruX