WinXP install cd hangs at boot time if machine started with floppy

Bug #586420 reported by tekditt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

I have a second problem:

I wanted to install Windows Server 2003 on a virtio drive, so I tried to start the machine with the install cd as the boot drive and a floppy image with the viostor drivers. The problem is, the install cd hangs at boot time. If I start VNC I just see a black ground with 640x480.

I've also tried this with the install cd of Windows Server 2008 R2 and it works!

Could it be that the BIOS screws up because the older install cds are using the floppy emulation to boot the setup?

Tags: qemu-kvm
Revision history for this message
Anthony Liguori (anthony-codemonkey) wrote :

Can you please include information about what version of QEMU you are using including the full command line you are using to launch it?

Changed in qemu:
status: New → Incomplete
Revision history for this message
tekditt (vekmitt-tekditt) wrote :

Oh, I forgot, I'm the one who also reported this bug: https://bugs.launchpad.net/qemu/+bug/586175

qemu-kvm-0.12.4 with SeaBIOS 0.5.1 on Gentoo (No-Multilib and AMD64)

The install cd hangs at every combination of -fda/-cdrom/-hdc and -drive, just like

> qemu-kvm -cdrom /srv/vm/win2k3srv.iso -hda /srv/vm/hive.vdi -fda /srv/vm/virtio.img -boot d -vnc 192.168.0.1:0

Also interesting: I tried it with an already installed windows installation in the image. When CD boots it asks for "Press any key to boot from CD". After I pressed some key it changes the display resolution from BIOS to 640*480 and nothing happens.

I just can't use qemu to virtualize my stupid Windows Server... -___-

Revision history for this message
Ryan Harper (raharper) wrote :

using qemu.git tip today I can boot into win2k3 32-bit install with an attached floppy:

x86_64-softmmu/qemu-system-x86_64 -L pc-bios -cdrom /scratch/isos/en_win_srv_2003_r2_enterp
rise_cd1.iso -fda /scratch/isos/winparavirt.img -boot d -vnc :9 -monitor stdio -enable-kvm

Can you try with upstream qemu.git and -enable-kvm

tags: added: qemu-kvm
Revision history for this message
tekditt (vekmitt-tekditt) wrote :

Well, I tried your command line and I've got the bug "qemu: could not load PC BIOS 'bios.bin'"

It seems something went wrong with my compiled qemu. I'll try qemu.git now.

Revision history for this message
Jes Sorensen (jes-sorensen) wrote :

If you built your own qemu it may try to look for the BIOS in /usr/local/share/qemu and not where it was originally installed on your system. Could you please try to specify it with the -L option and see.

You don't mention what system you are running on, it would likely be -L /usr/share/qemu-kvm or -L /usr/share/qemu but it depends on the system.

Jes

Revision history for this message
tekditt (vekmitt-tekditt) wrote :
Download full text (3.3 KiB)

I wrote already which system I use (see the third reply).
It's Gentoo on AMD64 with the hardened no-multilib profile with qemu-kvm 0.12.4 and SeaBIOS 0.5.1.

It isn't really my own build. Since I use Gentoo, it was compiled on my own computer and it's installed in /usr, not in /usr/local.
Qemu only gives an error if I use the -L parameter.

Still, I can't boot any Windows XP and 2003 install CD. It definitely hangs at boot time, it happens anything in the cpu registers, only EIP and EFL are changing between these values:

Command line :
> qemu-kvm -L /usr/share/qemu/ -cdrom /srv/vm/win2k3srv.iso -fda /srv/vm/virtio.img -boot d -enable-kvm -monitor stdio

(qemu) info kvm
kvm support: enabled

(qemu) info registers
EAX=00000000 EBX=000002fe ECX=00000002 EDX=00000040
ESI=00000000 EDI=00000004 EBP=00000010 ESP=000002e4
EIP=0000e919 EFL=00033246 [---Z-P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0040 00000400 0000ffff 0000f300
CS =f000 000f0000 0000ffff 0000f300
SS =9f40 0009f400 0000ffff 0000f300
DS =9f40 0009f400 0000ffff 0000f300
FS =230c 000230c0 0000ffff 0000f300
GS =230c 000230c0 0000ffff 0000f300
LDT=0000 00000000 ffffffff 00000000
TR =0028 feffd000 00002088 00008b00
GDT= 0003f000 000003ff
IDT= 00000000 0000ffff
CR0=00000010 CR2=00000000 CR3=00039000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

(qemu) info registers
EAX=00000000 EBX=000002fe ECX=00000002 EDX=00000040
ESI=00000000 EDI=00000004 EBP=00000010 ESP=000002e4
EIP=0000e91a EFL=00023046 [---Z-P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0040 00000400 0000ffff 0000f300
CS =f000 000f0000 0000ffff 0000f300
SS =9f40 0009f400 0000ffff 0000f300
DS =9f40 0009f400 0000ffff 0000f300
FS =230c 000230c0 0000ffff 0000f300
GS =230c 000230c0 0000ffff 0000f300
LDT=0000 00000000 ffffffff 00000000
TR =0028 feffd000 00002088 00008b00
GDT= 0003f000 000003ff
IDT= 00000000 0000ffff
CR0=00000010 CR2=00000000 CR3=00039000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

By the way, I have t...

Read more...

Revision history for this message
Jes Sorensen (jes-sorensen) wrote :

I obviously missed the Gentoo part. Anyway, if QEMU complains about not being able to find bios.bin, then it is because it is looking in the wrong place, either due to you specifying the wrong -L or because the default location of the new build is looking in the wrong place.

However looking at every command line example you are giving, I notice you are specifying -fda in every one of them. Are you really intending to try and install win2003 on a floppy????

-fda/-fdb file use 'file' as floppy disk 0/1 image

Revision history for this message
tekditt (vekmitt-tekditt) wrote :

I admit I used -L wrong, but that's not the issue. I don't need to specify it, because QEMU finds the right directory itself.

My problem is, the installer CD hangs also if I add -hda/-hdb. The setup should be able to boot anyway, even without any hard drive. It's possible that the CD image could be damaged, but I used it since years and it booted in every real machine and also in VirtualBox.

(I would like to try qemu.git, but it doesn't want to be compiled. Either it breaks up or it hangs up.)

Revision history for this message
tekditt (vekmitt-tekditt) wrote :

Well, I forgot something to mention. Again:

I can boot the install CDs of Windows XP and Windows Server 2003 if I DON'T use any floppy drive. -fda/-fdb FILE as well as -drive file=FILE,if=floppy are causing this bug, the bug not to be able to boot these install CDs.

Revision history for this message
Jes Sorensen (jes-sorensen) wrote : Re: [Qemu-devel] [Bug 586420] Re: WinXP install cd hangs at boot time if machine started with floppy

On 06/10/10 12:49, tekditt wrote:
> Well, I forgot something to mention. Again:
>
> I can boot the install CDs of Windows XP and Windows Server 2003 if I
> DON'T use any floppy drive. -fda/-fdb FILE as well as -drive
> file=FILE,if=floppy are causing this bug, the bug not to be able to boot
> these install CDs.

Just to be sure I understand you 100% - what you are saying is that it
works ok if you don't specify a floppy image?

If that is the case, does this floppy image you are specifying boot on
it's own? It could be corrupted.

Cheers,
Jes

Revision history for this message
tekditt (vekmitt-tekditt) wrote :

@Jes:

No, it doesn't boot on its own, it's a simple FAT formatted floppy image. I've even tried to format a real floppy on Windows, copied the drivers on it, and saved the whole floppy as an image with rawrite. I also tried other floppy images, but:

QEMU 0.12.4 hangs if I try to boot from the Win2k3 install cd AND use a floppy image at the same time. If I boot from the Win2k8 install cd, it works fine.

The install cd of Win2k3 isn't corrupted. It just can't be because I even tried it with an ISO image downloaded directly from MS. And both images boot up everywhere, as well on real machines as on VirtualBox.

Revision history for this message
tekditt (vekmitt-tekditt) wrote :

Today I merged the new release qemu-kvm-0.12.4-r3 and, o, wonder, I can use floppy and cd at the same time!
This bug seems to be fixed finally. thx for your support!

Revision history for this message
Jes Sorensen (jes-sorensen) wrote :

Closing per tekditt's posting on 2010-07-22

Changed in qemu:
status: Incomplete → Fix Committed
Aurelien Jarno (aurel32)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.