LINUX.ORG.RU
ФорумAdmin

KVM, не грузится винда с опцией -disk ...,boot=on


0

0

Если запускать гостевую систему следующей коммандой, то винда выдает ошибку:
sudo kvm -drive file=/dev/LV1/WIN2K_1,boot=on -m 256 -cdrom windows_2000.iso -boot c -net nic,vlan=0 -net tap,vlan=0,ifname=vnet4 -vnc myip:3

Винда пишет:
Disk I/O error: Status = 00000001
Disk I/O error: Status = 00000001
Disk I/O error: Status = 00000001

Не удается запустить Windows 2000 из-за испорченного или отсутствующего файла:
<windows 2000 root>\system32\ntoskrnl.exe.
Установите заново копию указанного выше файла.

Если boot=on убрать или грузиться с img файла (-drive file=/home/virt/win2k.img,boot=on), то грузится нормально.
Но если запускать через libvirt, то boot=on подставляется автоматически и как его можно убрать я не знаю.

/etc/libvirt/qemu/win2k_1.xml:
<domain type='kvm'>
  <name>win2k_1</name>
  <uuid>0edf3efc-a784-6568-9778-0fd063866b64</uuid>
  <memory>262144</memory>
  <currentMemory>262144</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type>hvm</type>
    <boot dev='hd'/>
  </os>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <source file='/dev/LV1/WIN2K_1'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <interface type='bridge'>
      <mac address='00:16:3e:64:d1:81'/>
      <source bridge='br0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5903' listen='myip'/>
  </devices>
</domain>



При этом линуксовые гости запускаются нормально с этой опцией с LVM-разделов.

ЗЫ. Может кто объяснит, что означает опция boot=on, в гугле не нашел.




Ответ на: комментарий от dimon555

Про win2k-hack уже давно нагуглил:

-win2k-hack
Use it when installing Windows 2000 to avoid a disk full bug. After Windows 2000 is installed, you no longer need this option (this option slows down the IDE transfers).

Как оказалось, если сделать img больше 7.8 ГБ (точнее системный раздел), то вылазит та же ошибка.

Вот на мелкософте описана ошибка - http://support.microsoft.com/kb/317050, но почему она проявляется на 2000-й винде и только с boot=on?

Собственно вопрос в том, как заставить libvirt запускать kvm без опции boot=on. Можно конечно запускать виртуалки с виндами вручную, но хочется рулить всеми виртуалками с помощью virsh.

anti_social
() автор топика

Честно говоря, руки бы поотламывал. Оказалось это мейнтейнеры убунты подрихтовали исходники libvirt и намертво вшили в код ",boot=on". Придется наверное пересобирать пакет.

anti_social
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.