[SeaBIOS] qemu-kvm: SeaBIOS 1.9.0 and above cannot boot Windows 10 from harddisk

Johannes Krottmayer krottmayer.johannes at gmail.com
Tue Apr 26 23:16:20 CEST 2016


Am 2016-04-26 um 22:38 schrieb Kevin O'Connor:
[...]
> To report a SeaBIOS issue, the SeaBIOS log is needed.  Please see
> http://www.seabios.org/Debugging#Diagnostic_information

$ qemu-system-x86_64 -chardev stdio,id=seabios -device
isa-debugcon,iobase=0x402,chardev=seabios -bios
../qemu/seabios-1.9.2/out/bios.bin -machine pc,accel=kvm -cpu core2duo
-m 2048 -smp 2 -hda win10.img -boot c
SeaBIOS (version 1.9.2-20160426_212753-zeus)
BUILD: gcc: (SUSE Linux) 4.8.5 binutils: (GNU Binutils; devel:gcc /
openSUSE_13.1) 2.26.0.20160318-244
No Xen hypervisor found.
Running on QEMU (i440fx)
Running on KVM
RamSize: 0x80000000 [cmos]
Relocating init from 0x000dc1d0 to 0x7ffad7f0 (size 75648)
Found QEMU fw_cfg
QEMU fw_cfg DMA interface supported
RamBlock: addr 0x0000000000000000 len 0x0000000080000000 [e820]
Moving pm_base to 0x600
=== PCI bus & bridge init ===
PCI: pci_bios_init_bus_rec bus = 0x0
=== PCI device probing ===
Found 6 PCI devices (max PCI bus is 00)
=== PCI new allocation pass #1 ===
PCI: check devices
=== PCI new allocation pass #2 ===
PCI: IO: c000 - c04f
PCI: 32: 0000000080000000 - 00000000fec00000
PCI: map device bdf=00:03.0  bar 1, addr 0000c000, size 00000040 [io]
PCI: map device bdf=00:01.1  bar 4, addr 0000c040, size 00000010 [io]
PCI: map device bdf=00:03.0  bar 6, addr feb80000, size 00040000 [mem]
PCI: map device bdf=00:03.0  bar 0, addr febc0000, size 00020000 [mem]
PCI: map device bdf=00:02.0  bar 6, addr febe0000, size 00010000 [mem]
PCI: map device bdf=00:02.0  bar 2, addr febf0000, size 00001000 [mem]
PCI: map device bdf=00:02.0  bar 0, addr fd000000, size 01000000 [prefmem]
PCI: init bdf=00:00.0 id=8086:1237
PCI: init bdf=00:01.0 id=8086:7000
PIIX3/PIIX4 init: elcr=00 0c
PCI: init bdf=00:01.1 id=8086:7010
PCI: init bdf=00:01.3 id=8086:7113
Using pmtimer, ioport 0x608
PCI: init bdf=00:02.0 id=1234:1111
PCI: init bdf=00:03.0 id=8086:100e
PCI: Using 00:02.0 for primary VGA
handle_smp: apic_id=1
Found 2 cpu(s) max supported 2 cpu(s)
Copying PIR from 0x7ffbfcb8 to 0x000f6cc0
Copying MPTABLE from 0x00006dfc/7ffa47f0 to 0x000f6bc0
Copying SMBIOS entry point from 0x00006dfc to 0x000f69d0
Scan for VGA option rom
Running option rom at c000:0003
Start SeaVGABIOS (version rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org)
VGABUILD: gcc: (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision
202388] binutils: (GNU Binutils; openSUSE 13.1) 2.23.2
enter vga_post:
   a=00000010  b=0000ffff  c=00000000  d=0000ffff ds=0000 es=f000 ss=0000
  si=00000000 di=00007090 bp=00000000 sp=00006d0e cs=f000 ip=d27b  f=0000
VBE DISPI: bdf 00:02.0, bar 0
VBE DISPI: lfb_addr=fd000000, size 16 MB
Attempting to allocate VGA stack via pmm call to f000:d332
pmm call arg1=0
VGA stack allocated at eded0
Turning on vga text mode console
set VGA mode 3
SeaBIOS (version 1.9.2-20160426_212753-zeus)
All threads complete.
Found 1 lpt ports
Found 1 serial ports
Searching bootorder for: /pci at i0cf8/isa at 1/fdc at 03f0/floppy at 0
ATA controller 1 at 1f0/3f4/0 (irq 14 dev 9)
ATA controller 2 at 170/374/0 (irq 15 dev 9)
PS2 keyboard initialized
ata0-0: QEMU HARDDISK ATA-7 Hard-Disk (40960 MiBytes)
Searching bootorder for: /pci at i0cf8/*@1,1/drive at 0/disk at 0
DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
Searching bootorder for: /pci at i0cf8/*@1,1/drive at 1/disk at 0
All threads complete.
Scan for option roms
Running option rom at c980:0003
pmm call arg1=1
pmm call arg1=0
pmm call arg1=1
pmm call arg1=0
Searching bootorder for: /pci at i0cf8/*@3
Searching bootorder for: /rom at genroms/kvmvapic.bin
Searching bootorder for: HALT
drive 0x000f6900: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
s=83886080
Running option rom at ca80:0003
Space available for UMB: cd000-ed000, f6540-f68a0
Returned 131072 bytes of ZoneHigh
e820 map has 7 items:
  0: 0000000000000000 - 000000000009fc00 = 1 RAM
  1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
  2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
  3: 0000000000100000 - 000000007ffe0000 = 1 RAM
  4: 000000007ffe0000 - 0000000080000000 = 2 RESERVED
  5: 00000000feffc000 - 00000000ff000000 = 2 RESERVED
  6: 00000000fffc0000 - 0000000100000000 = 2 RESERVED
enter handle_19:
  NULL
Booting from Hard Disk...
Booting from 0000:7c00
KVM internal error. Suberror: 1
emulation failure
EAX=00000200 EBX=0000aa55 ECX=00000007 EDX=00000080
ESI=00007be4 EDI=00000800 EBP=000007be ESP=00007bfc
EIP=000000a4 EFL=00003206 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 ffffffff 00809300
CS =07c0 00007c00 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =0000 00000000 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 00000000
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000000
Code=18 68 1a 00 b4 48 8a 16 0e 00 8b f4 16 1f cd 13 9f 83 c4 18 <9e> 58
1f 72 e1 3b 06 0b 00 75 db a3 0f 00 c1 2e 0f 00 04 1e 5a 33 db b9 00 20
2b c8 66 ff

>> QEMU output with SeaBIOS 1.9.0 and above:
> 
> Did it work with some prior version of SeaBIOS?

Yes. Tested it with the default version (1.7.2.2) of my distribution,
1.8.0, 1.8.1 and version 1.8.2.

Booting from ISO works with all versions.

Thanks,
Johannes



More information about the SeaBIOS mailing list