From: Fabrice Bellard <fabrice@bellard.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] How to get beyond the 16 head limit?
Date: Wed, 11 Jun 2008 22:46:16 +0200 [thread overview]
Message-ID: <48503998.3090609@bellard.org> (raw)
In-Reply-To: <20080611174217.GE20448@harddisk-recovery.nl>
Erik Mouw wrote:
> On Wed, Jun 04, 2008 at 07:16:14PM +0200, Erik Mouw wrote:
>> We managed to recover data from an ancient 60 MB ESDI drive. Because
>> the interesting data is in some kind of proprietary database system
>> (running on top of its own OS) I tried to run the recovered disk
>> image in Qemu and let the database export itself to a floppy image.
>>
>> The drive has an unusual though valid geometry: 58 cylinders, 64 heads,
>> 32 sectors. Qemu refuses to boot the image because it says the CHS
>> format is invalid:
>>
>> erik@zurix:~/qemu > qemu -fda scratch.img -hda bd4467.img \
>> -hdachs 58,64,32 -std-vga -boot c -m 4 -net none
>> qemu: invalid physical CHS format
>>
>> I increased the head limit in vl.c from 16 to 64 but it appears that is
>> not enough to convince Qemu to accept the geometry. Qemu starts, but
>> when I check from DOS (in Qemu) it now looks as if the drive geometry
>> is 116/16/63. With a partition table patched to match that geometry I
>> can boot the database OS bootsector, which happily loads the db OS
>> kernel from the wrong location because it uses CHS addressing (instead
>> of LBA). Needles to say that won't fly.
>>
>> Like I said, I already increased the head limit in vl.c but that is
>> apparently not enough. What else do I have to change to get Qemu to use
>> my supplied disk geometry?
>
> It wasn't enough, there was also some work needed in hw/ide.c to get
> Qemu to accept and use the unual layout (see below for the patch).
> Right now Qemu is convinced that the geometry really is 58/64/32, but
> when testing in DOS through INT13 the geometry is 116/16/63. I guess
> that has to do with the BIOS getting in my way, could somebody confirm
> this?
At the IDE hardware level, you cannot have more than 16 heads, so your
problem is a BIOS issue.
Fabrice.
prev parent reply other threads:[~2008-06-11 20:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-04 17:16 [Qemu-devel] How to get beyond the 16 head limit? Erik Mouw
2008-06-11 17:42 ` Erik Mouw
2008-06-11 20:46 ` Fabrice Bellard [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48503998.3090609@bellard.org \
--to=fabrice@bellard.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.