![将 xen 内核替换为非 xen 内核](https://linux22.com/image/50614/%E5%B0%86%20xen%20%E5%86%85%E6%A0%B8%E6%9B%BF%E6%8D%A2%E4%B8%BA%E9%9D%9E%20xen%20%E5%86%85%E6%A0%B8.png)
我有一个 Xen 格式 (XVA) 的虚拟设备,我希望在另一个虚拟机管理程序 (MS Hyper-V) 上运行它。到目前为止我做了什么:
我已使用 XenConvert 将 XVA 转换为 OVF,这会生成一个 vhd 文件。我创建了一个新的 VM 并将 vhd 附加到它。
VM 无法启动,我认为发生这种情况是因为它运行的是 xen dom0 内核。这是错误:
我想我需要用非 xen 内核替换 xen 内核。我可以简单地下载一个预编译的内核(在哪里?),使用 live CD 启动,将其放在磁盘上并更改 grub.conf 吗?
编辑:
尝试Doug O'Neal的答案,我需要安装lvm2(apt-get install lvm2)并挂载VolGroup00。之后我用 yum 安装了内核并将其复制到启动分区。我编辑了 grub.conf 并尝试启动。启动内核后系统挂起。有什么建议么?
编辑2:
更改 grub 以使用 tty0 作为控制台(以前是 xvc0),现在更进一步,将首先解决该问题。编辑3:
我根据 @Nils 的回答更改了对 XEN 广告的几个引用。仍然需要更换内核,我认为这目前是我的问题:当我运行 yum install kernel 时,我观察到以下错误:
打开 /sys/block 时出错:没有这样的文件或目录 打开 /sys/block 时出错:没有这样的文件或目录 警告:找不到内核 2.6.18-348.18.1.el5 的模块 xenblk
我在 CentOS bug tracker 中发现了这个错误:http://bugs.centos.org/view.php?id=2083 正如我尝试的那样: mkiinitrd -v --with=xenblk --omit-scsi-modules --omit-raid-modules /boot/initrd-2.6.18-348.18.1.el5.img 2.6.18-348.18 .1.el5 但失败了:
找不到内核 2.6.18-348.18.1.el5 的模块 xenblk,正在中止
答案1
XEN-Kernel 不是这里的主要问题。您需要将 Hyper-V-disk-module 带入 initrd。
之后,您需要删除所有对 xvda(或类似内容)的引用,并将其替换为“旧”DomU 的 Bootloader、Grub 和 /etc/fstab 中的 sda(或类似内容)。
对于 2.6.32 以上的内核,这是小菜一碟 - 因为 Linux 主流包含这些模块。
在此之前,您必须为您的内核编译这些模块。
这里Microsoft Technet 中关于该主题的一个很好的起点。
答案2
尝试从救援 CD 启动并安装本地磁盘。 chroot 进入已安装的文件系统并运行yum install kernel
.这可能适合你。