Problem:
The Linux kernel now doesn't show the same disk geometry as the BIOS
does. The fix is to use sfdisk to recreate the partition table.
Windows XP refuses to boot with a valid partition table and the FC2
installer tries to fix the invalid, but usable, partition table written
by XP.
Yes, it can be worked around in the installer, but that doesn't change
where the actual bug lies. In all likelihood there will be an update to
fix the problem, but faulting FC2 for breaking dual boot with XP is
absurd considering that XP goes to a lot of effort already to make it
difficult.
It turns out that the bug (#115980) [redhat.com] is a result of a few
subtle but key changes within the 2.6 kernel. A certain functionality
with regards to hard disk geometry has been pulled out, as the kernel
developers thought it would be better if userspace utilities took care
of this instead. The Bugzilla bug is related to CHS geometry problems,
which most likely stems from an error within the parted utility,
addressing the BIOS incorrectly. It turns out that BIOS updates tend to
fix problems for many users that have been bitten by this "bug". On
newer machines, this is basically non-reproducible.
Possible fix here.
http://www.redhat.com/archives/fedora-test...y/msg02143.html > /me assumes it would be possible to automate the fix up of the
> partition table with creative use of:
>
> sfdisk -d | sfdisk -C# -H# -S#
>
You are right, that is a way better solution. I wasn't aware of the
sfdisk utility before.
I tried to recreate the bad partition problem again (from the saved mbr
sector), made sure XP wasn't booting any more and then I run in Linux:
sfdisk -d /dev/hda | sfdisk --no-reread -H240 /dev/hda
This seems to have fixed it just like my original procedure (well much
easier
). I even did a byte compare of the mbr with the one I restored
before using those long steps and they are the same.
Plus, I did not have to run 'fdisk /mbr' from DOS any more (I guess the
sfdisk utility just changes the values not the rest of signatures etc).
So this looke like the best solution to fix the problem so far.
If this helps to find the problem with the wrong geometry, even after
fixing the mbr, the kernel reports wrong geometry in
/proc/ide/hda/geometry. My laptop is a IBM Thinkpad 600, so it probably
has an older BIOS. If there is anything else I can do to help finding the
bug, please let me know.
--
Radu
--
Richard Jobity, Tunapuna, Trinidad and Tobago | ph: (868) 620-5550
-----------------------------------------------------------------
http://www.ttlug.org |
http://www.weakblog.com |
http://www.jobity.commail @ richjob@jobity.com | icq: 5183191 | aim: richjob | ym: richjob
-----------------------------------------------------------------
Trusted computing gives companies more control over your machine than
you have.