Xenサーバーで実行されているDebian7 VMのディスク全体をコピーしました(ddコマンドを使用)。元の画像をkvm形式(qemu-img)に変換できます。新しい仮想マシンを作成し、ディスクイメージを接続しました(KVMを使用)。起動しようとしましたが、失敗した(黒い画面のみが表示されます)、iso(Debian7)をダウンロードして回復モードで起動することにしました。回復モードを使用してカーネル(3.2.0-4-amd64)を再インストールし、initramfsを更新しました。また、/etc/modulesにいくつかの行を追加しました。
alias eth0 pcnet32
alias scsi_hostadapter mptbase
alias scsi_hostadapter2 mptspi
alias scsi_hostadapter3 ata_piix
alias scsi_hostadapter4 virtio_blk
しかし、始めようとすると得られるのは次のとおりです。
Loading Linux 3.2.0-4-amd64
Loading initial ramdisk
VMを実行するためのrootアクセス権がありますが、xenハイパーバイザーにアクセスできません。
私のKVM / virtualbox / ESXiでこの仮想マシンを起動するためにできることはありますか?
結局VMwareに入れたいので、質問にはVMwareというタグが付けられました。私はXenからインポートされたルールを理解するためにkvmを使用しています(para vs. virtualization)。
2020年4月1日に修正
こんにちはEblock、アドバイスありがとうございます。あなたの記事に沿ってソースVMで利用可能なvirtioモジュールのリストを確認した結果、
# find /lib/modules/ -name *virt*
/lib/modules/3.2.0-4-amd64/kernel/net/9p/9pnet_virtio.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/net/virtio_net.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/scsi/virtio_scsi.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/block/virtio_blk.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_pci.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_ring.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_balloon.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/char/virtio_console.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/char/hw_random/virtio-rng.ko
/lib/modules/3.2.0-4-amd64/kernel/sound/pci/oxygen/snd-virtuoso.ko
次に、これらのvirtioモジュールを/etc/modulesおよび/etc/initramfs-tools/modulesに追加し、initramfs-updateコマンドを使用してinitramfs(構造モードで)を更新しました。これで、My KVM-guest Debian VM(現在のCDからリカバリモードで実行中)にロードされたモジュールが表示されます(下図、残念ながらKVM画面からテキストをコピーして貼り付けることはできません)。
しかし、まだ仮想マシンを起動する運はありません:(私が得るものは次のとおりです。
Decompressing Linux... Parsing ELF Done
Booting the kernel...
私が試すべき他のものはありますか?組み込みのvirtioモジュールでカーネルをコンパイルしますか?
ベストアンサー1
すべてが大丈夫です。 VMが起動し、すべてのサービスが正しく起動されます(かなりの数)。 eblockが正しいことがわかりました。カーネルとinitrdにモジュールを追加するだけで十分でした。欠けている部分の1つは、grubに設定されているtty0の代わりにttyS0です(xenが「S」ポートを介して接続するため、「xen方式」)。これが一般的なブートステップのリストが欠落している理由です。 Mingettyが早く再生成されるという問題もあり(最後に「5分遅れ」が発生)、/ etc / inittabからttyに切り替えました。
1:2345:respawn:/sbin/getty tty1
2:2345:respawn:/sbin/getty tty2
....
大丈夫です、eblockに感謝します。