作者:上村崇 フリーランスのIT系エンジニア
twitter:@uemera facebook:uemura

KVMをバージョンアップして、ゲストOS(Windows)が起動しなくなったときの解決法


kvmをバージョンアップしたら、ゲストOS(Windows)が起動しなくなりました。
解決法が見つかりましたのでメモしておきます。
 
環境:
debian (wheezy)
qemu-kvm 1.0+dfsg-7
libvirt-bin 0.9.8-2
 
ゲストOSはWindows7
 
仮想マシンマネージャからゲストOS(Windows)を起動したら、一瞬立ち上がるのですがすぐに停止してしまいます。
LinuxのゲストOSは問題なく立ち上がるので、Windowsのみ起こる現象だと思います。
 
コマンドから
virsh start Windows.img
としても同じで、すぐに停止してしまいます。
 
/var/log/libvirt/qemu/ の下にログが出ています。
問題の部分は以下

2012-02-06 12:34:30.405+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/ /usr/bin/kvm -S -M pc-0.12 -cpu qemu32 -enable-kvm -m 4000 -smp 4,sockets=4,cores=1,threads=1 -name Windows7_32_9 -uuid 80dc1752-fb5f-cd38-cf69-9bccf0628c5e -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Windows7_32_9.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -drive file=/var/lib/libvirt/images/Windows7_32_9.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=18,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:aa:2c:0c,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -vnc 0.0.0.0:2,password -vga std -device AC97,id=sound0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
Domain id=46 is tainted: high-privileges
char device redirected to /dev/pts/5
kvm: /tmp/buildd/qemu-kvm-1.0+dfsg/memory.c:1239: memory_region_add_subregion_common: Assertion `!subregion->parent’ failed.

 
 
-M pc-0.12 のところ(マシンタイプ)を上げたらうまくいきました。
具体的には、
/etc/libvirt/qemu にあるxmlファイルを編集します。
[xml highlight=”3″]<br/>
<os>
<type arch=’i686′ machine=’pc-0.12’>hvm</type>
<boot dev=’cdrom’/>
<boot dev=’hd’/>
</os>
[/xml]
“pc-0.12” を “pc-0.14″に変更し、virsh defineで反映させます。
virsh define Windows.xml
 
参考:
fedora-virt – Re: [fedora-virt] Start guest from cli? – msg#00066 – 2012-01
http://mailinglist-archive.com/fedora-virt/2012-01/00066-Re+fedoravirt+Start+guest+from+cli

関連記事


Linux debianでRAID(ミラーリング)構築。mdadmとpartedで
mdadmによるRAID (ミラーリング)構成手順です。ディスクが1台壊れたのでRAIDを組み直しました。環境はLinux Debian 9.11 (stretch) partedやmdadmコマンドで構築します。

Postfixメールサーバー:送信不可のユーザーを設定する
メールサーバーPostfixにて、送受信ができないユーザーを設定をする方法です。Linux、debian環境です。特定のメールアドレスを送受信不可にします。メールを許可しないLinuxユーザーを作るときに有効です。

Web開発・Web制作のツールや用語を初心者向けに大量紹介。これだけ知っておけば安心。
Webページ製作やWebのシステム開発ではいろんなツールやテクニック、用語を使いますが、全体像がなかなか掴みにくいと思ったので、初心者向けに用語をたくさんまとめました。これさえ押さえておけば業界の常識用語はだいたい網羅できると思います。

KVM仮想マシンをWebからアクセスできるKimchiをdebianにインストール
自宅サーバーにてKVMの仮想マシンを動かしていますが、外からでもリモートで操作できるようにkimchiを導入しました。 GitHub – kimchi-project/kimchi: An HTML5 man …

Linuxの権限について解説。setuidとかsetgidとかスティッキービットとか
setuidとかsetgidとかスティッキービットの解説です。Linuxのこれらの機能については考え方が難しいですが、setuidは「一般ユーザーがroot権限で動かすことができる仕組み」です。setgidはそのグループ版です。詳細なメカニズムを解説します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です