我的问题是如何转换预先创建的 tar.gz 格式的 OpenVZ OS 模板(例如 这些) 到映像文件,以便能够使用其他虚拟化解决方案(例如 QEMU 或 VirtualBox)启动它。
为了实现这一点,我制作了一个空的映像文件,对其进行了分区,并创建了两个分区,一个主分区和一个用于交换的扩展分区。我将第一个分区设为 ext3(0x83),将另一个分区设为交换分区(0x82)。然后,我将第一个分区设为可启动分区,并将 tar.gz 的内容复制到第一个分区。但是当我尝试启动时,它会在启动的第一阶段挂起。
答案1
OpenVZ 模板缺少启动非基于容器的客户端所需的许多重要文件,例如缺少内核和引导加载程序 (GRUB)。实际上,/boot
OpenVZ 模板上缺少整个目录,因此您需要从某个地方获取它。一种方法是使用“正常”安装程序(例如 CD 或基于网络的安装)安装您需要的发行版的极简设置,然后/boot
使用 LiveCD 将其复制到 OpenVZ 转换映像。之后,您需要使用相同的 LiveCD 手动设置 GRUB。另一种方法是使用正常安装设置一组最小软件包,然后将所有内容从 OpenVZ 模板 rsync 到新映像。