qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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.

      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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).