將 xen 內核替換為非 xen 內核

將 xen 內核替換為非 xen 內核

我有一個 Xen 格式 (XVA) 的虛擬設備,我希望在另一個虛擬機器管理程式 (MS Hyper-V) 上運行它。到目前為止我做了什麼:

我已使用 XenConvert 將 XVA 轉換為 OVF,這會產生一個 vhd 檔案。我建立了一個新的 VM 並將 vhd 附加到它。

VM 無法啟動,我認為發生這種情況是因為它運行的是 xen dom0 核心。這是錯誤:

錯誤 13:可執行格式無效或不受支援

我想我需要用非 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 核心並不是這裡的主要問題。您需要將 Hyper-V-disk-module 引入 initrd。

之後,您需要刪除所有對 xvda(或類似內容)的引用,並將其替換為「舊」DomU 的 Bootloader、Grub 和 /etc/fstab 中的 sda(或類似內容)。

對於 2.6.32 以上的內核,這是小菜一碟 - 因為 Linux 主流包含這些模組。

在此之前,您必須為您的核心編譯這些模組。

這裡Microsoft Technet 中關於這個主題的一個很好的起點。

答案2

嘗試從救援 CD 啟動並安裝本機磁碟。 chroot 進入已安裝的檔案系統並運行yum install kernel.這可能適合你。

相關內容