From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K3wax-0000Ks-Mn for qemu-devel@nongnu.org; Wed, 04 Jun 2008 13:16:19 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K3wav-0000JZ-O4 for qemu-devel@nongnu.org; Wed, 04 Jun 2008 13:16:18 -0400 Received: from [199.232.76.173] (port=39461 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K3wav-0000JT-Kk for qemu-devel@nongnu.org; Wed, 04 Jun 2008 13:16:17 -0400 Received: from dtp.xs4all.nl ([80.126.206.180]:45065 helo=abra2.bitwizard.nl) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1K3wav-0001ef-4p for qemu-devel@nongnu.org; Wed, 04 Jun 2008 13:16:17 -0400 Received: from erik by zurix.bitwizard.nl with local (Exim 3.36 #1 (Debian)) id 1K3was-0002uP-00 for ; Wed, 04 Jun 2008 19:16:14 +0200 Date: Wed, 4 Jun 2008 19:16:14 +0200 From: Erik Mouw Message-ID: <20080604171613.GA10192@harddisk-recovery.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: Erik Mouw Subject: [Qemu-devel] How to get beyond the 16 head limit? Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi, 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? Regards, Erik PS: I am using qemu-0.9.1 for this experiment -- +-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 -- | Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands +-- Datarecovery Services Nederland B.V. KvK Utrecht: 30160549