如何将当前安装的Ubuntu迁移到虚拟机?

我发现我的显卡驱动程序(ATI Radeon HD 4200)在原生的Windows系统中运行得更好,而在Ubuntu中,我甚至无法让闭源驱动程序正常工作。这让我想再次将Windows作为我的主操作系统,但同时在虚拟机中安装Ubuntu。有人知道如何将我当前的Ubuntu系统迁移到虚拟机吗?

祝你好运:http://www.localizingjapan.com/blog/2011/03/05/virtualizing-a-linux-system-creating-a-linux-vm-p2v/ ... 我只是在一个虚拟服务器上安装Ubuntu,并将所有重要数据从正常的Ubuntu复制到该虚拟机中。但我怀疑你的问题会解决。 - Rinzwind
2个回答

这与机器对机器的磁盘复制没有太大区别。试试使用Clonezilla

在运行Clonezilla制作分区镜像之前,我会先运行e2fsck -f然后再运行resize2fs -M将原始分区缩小到最小,这样当您将分区移动到虚拟机时,可以根据需要调整大小。 请注意,尽管我已经多次成功地运行了resize2fs -M,但也有可能出错。所以一定要备份。

我会在虚拟机中安装一个新的Ubuntu,这样您就可以按照自己的喜好进行分区,然后用由Clonezilla创建的原始分区镜像覆盖该分区。这样,您就知道引导程序在虚拟机中正常工作,并且您正在替换分区。

恢复分区后,在Clonezilla中使用resize2fs(不带选项)使文件系统适应分区映射(即扩大到最大)。

这是我通常将系统从一个系统转移到另一个系统的方法,无论是虚拟机还是非虚拟机。


太好了,我会尝试这个方法的,完成后会向您汇报。 - Raansu
刚刚完成了,由于我自己的用户错误,有一些小问题,哈哈,但是最终还是解决了。谢谢你的帮助!:D - Raansu
对于那些想要使用这种方法的人,不要忘记将新的UUID添加到/etc/fstab中的交换分区中,它已经改变了! - Raansu
1在我的情况下,最后多余的"resize2fs"是不必要的。如果你安装了一个全新的Ubuntu系统,并使用clonezilla来恢复你所需的分区,就像我做的那样,clonezilla会自动填充它。 - Raansu

你可以使用dd从live CD上安装Ubuntu。然后,你可以使用任何虚拟化技术引导原始镜像或转换原始镜像。
在这个过程中,你可能会遇到问题,特别是如果你安装了ATI驱动程序,所以建议最好重新安装。
假设你的Ubuntu安装在/dev/sda上,在live CD上运行dd命令。
dd if=/dev/sda1 of=/storage/ubuntu.img bs=1024 

最终的ubuntu.img文件将与您的Ubuntu安装一样大,并需要存储在单独的分区或外部存储设备中。 您可以将原始镜像作为硬盘启动,或将其转换为虚拟盒(VirtualBox)(或其他)映像文件。
VBoxManage convertdd ubuntu.img ubuntu.vdi

我撤销了ATI驱动程序的安装,现在使用最新的Xorg驱动程序来运行,所以理论上一切图形配置应该重新调整自己,我想... - Raansu