[SeaBIOS] CHS translation (BIOS incompatibility)

Nikolay Ivanets stenavin at gmail.com
Sat Jun 2 16:49:07 CEST 2018


Hello.

I have a bootable disk image taken from physical machine. Original BIOS is
unknown. Operating system installed is Windows 2003 R2.

I'm trying to boot it with Qemu and Seabios and get "Error loading
operating system".

After investigation I found:
- image contains MBR partition table and single NTFS partition
- partition starts at CHS (0,1,1) and absolute offset is 0x20 (32 sectors)

Debugging MBR bootstrap code I found it makes several INT13 calls to BIOS:
AH=08, AH=02 to get disk parameters and load first partition sector.

It appeared BIOS returns CHS as (x,y,63) and thus MBR bootstrap loads 63rd
sector instead 32nd and "Error loading operating system" happens.

It seems well-known BIOS incompatibility issue.

Is there any way to workaround this in Seabios?
I would appreciate for any tips.

--
  Mykola Ivanets
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/seabios/attachments/20180602/520ce5b1/attachment.html>


More information about the SeaBIOS mailing list