db schreibt weiter: "Der Grund dafür liegt in einem 'fehlerhaften' parted Paket, welches von Installern wie YaST zum Partitionieren verwendet wird.
Einige Kommentare von den entsprechenden Distributoren-Websites:
- Von Mandrake:
»Part of the reason I could not understand the bug, is that I could not
believe windows XP was still using the error prone int13 function 2
(CHS based) instead of the (available everywhere for some time) int13
function 0x42. Under linux, grub and lilo only use function 2 when
function 0x42 fails (they don't even ask the BIOS if it manages 0x42
since some BIOS don't report correctly having this functionality, cf
FORCE_LBA in grub).
The other reason is that I thought BIOS faking heads number (the
so-called LBA mode) was a choice independant of the content of the
drive. This is wrong, the BIOS tries to adapt its mode based on the
partition table.
So here is what happened:
- kernel 2.6 doesn't try to give the logical geometry, and gives the
physical geometry instead
- diskdrake uses the physical geometry to generate the CHS information
(which is a broken duplicate of the linear sector number)
- the BIOS sees the partition table uses a different CHS geometry, and
adapt to it
- ... and Windows computes the CHS to read its stage1.5 based on the
previous geometry that it keeps in its boot sector. Alas the CHS
doesn't get the same sector and Windows's boot dies (with very bad
error detection)«
- Von SuSE:
»Das Partitionierungswerkzeug parted, welches im Zuge der Installation von YaST verwendet wird, schreibt unter bestimmten Umständen eine falsche Partitionstabelle.
Das Problem tritt auf, wenn
- BIOS und Linux unterschiedliche Plattengeometrien "sehen" UND
- die Windows-Partition größer als ca. 8GB ist (bzw. genauer, wenn die erste Festplattenpartition auf dem Zylinder 1024 endet oder darüber hinausreicht).
Windows orientiert sich beim Booten in manchen Fällen an diesen Partitionstabellenwerten und scheitert.
Das Problem tritt zur Zeit distributionsübergreifend auch bei anderen Linux Versionen auf, bei denen der Kernel 2.6 zum Einsatz kommt.«
- Von RedHat/Fedora:
»There is a bug in Fedora Core 2 that causes the hard disk geometry as
reported in the partition table to be altered during installation. This
change may cause Windows boot failure. Although this bug is severe, it is
recoverable and no data should be lost. It is important not to panic if and
when this happens so you do not cause further problems or cause actual loss
of data in the process of recovering from the error.«
Die verschiedenen Distributoren schlagen auch verschiedene Lösungswege vor.
Dass es auch andere Betriebssysteme gibt, die einen schlimmeren Bug haben (Naja, ein Bug ist's ja nicht wirklich bei parted, nur eine kleine Inkompatibilität, bei anderen kann man's wirklich als Bug anschauen...), zeigt ein Beitrag im Heise-Forum."
Entdeckt hat db das Ganze durch zwei Heise-Artikel:
|