symlink.ch
Wissen Vernetzt - deutsche News für die Welt
 
symlink.ch
FAQ
Mission
Über uns
Richtlinien

Moderation
Einstellungen
Story einsenden

Suchen & Index
Ruhmeshalle
Statistiken
Umfragen

Redaktion
Themen
Partner
Planet

XML | RDF | RSS
PDA | WAP | IRC
Symbar für Opera
Symbar für Mozilla

Freunde
Benutzergruppen
LUG Switzerland
LUG Vorarlberg
LUGen in DE
SIUG
CCCZH
Organisationen
Wilhelm Tux
FSF Europe
Events
LinuxDay Dornbirn
BBA Schweiz
CoSin in Bremgarten AG
VCFe in München
Menschen
maol
Flupp
Ventilator
dawn
gumbo
krümelmonster
XTaran
maradong
tuxedo

 
Probleme mit 2.6er Distributionen: Windows bootet nicht mehr
Veröffentlicht durch XTaran am Mittwoch 02. Juni 2004, 11:42
Aus der Windows-Altlasten Abteilung
Linux db schreibt: "Auf einigen aktuellen Distributionen mit Kernel 2.6 (SuSE 9.1, Mandrake 10, Fedora Core 2) gibt es ein Problem, dass Windows nach der Installation von Linux in einigen Fällen nicht mehr bootet (betrifft also nur Dualboot-Szenarien)."

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:

Robolympics 2 | Druckausgabe | 1st Swiss School Squeakers Day am 6.6. in Bern  >

 

 
symlink.ch Login
Login:

Passwort:

extrahierte Links
  • Fedora
  • Heise
  • Linux
  • Mandrake
  • RedHat
  • SuSE
  • db
  • Von Mandrake
  • Von SuSE
  • Von RedHat/Fedora
  • Beitrag im Heise-Forum
  • Fedora Linux Core 2 beschädigt Partitionstabelle
  • Linux-Distributionen können Partitionstabelle beschädigen
  • Mehr zu Linux
  • Auch von XTaran
  • Diese Diskussion wurde archiviert. Es können keine neuen Kommentare abgegeben werden.
    It's not a bug... (Score:1)
    Von burnstone (chh123 (k. A. :) ) gmx.ch) am Wednesday 02. June 2004, 12:31 MEW (#1)
    (User #1584 Info)
    ...sondern eine Sicherheitserhöhung. Also ein Feature...

    Gruss

    burnstone
    Ist schon ein Bug (Score:2)
    Von P2501 am Wednesday 02. June 2004, 12:55 MEW (#2)
    (User #31 Info) http://www.p2501.ch/

    Die CHS-Aufteilung der Partitionstabelle sollte derjenigen des BIOS entsprechen. Das ein modernes Betriebssystem aber überhaupt auf CHS zurückgreift, kann man im Grunde auch als Bug ansehen (warum nicht gleich MFM? ;-).

    Oder man kann das ganze Gebastel, dass sich so selbstbewusst "PC Bootvorgang" nennt, als Bug bezeichnen. ^_^;


    --
    Linux ist eine Turboprop. HURD ist ein Düsenjetprototyp, der seinen Heimatflughafen nie verlassen hat.

    Re: Ist schon ein Bug (Score:2, Interessant)
    Von Domi am Wednesday 02. June 2004, 13:52 MEW (#3)
    (User #33 Info) http://www.schaf.ch
    >Die CHS-Aufteilung der Partitionstabelle sollte derjenigen des BIOS entsprechen.
    das ist doch der vorteil von Novell, Linux, ..., dass sie die Harddisk Infos nicht vom BIOS holen.
    auch wenn das (alte) BIOS die neusten Platten wieder mal nicht erkennt, kann man trotzdem vom OS aus die volle Kapazität nutzen
    (das klappte schon mit Novell 3.12 mit 'grossen' Platten auf 486ern : )

    oder hat das gar nichts mit CHS zu tun?
    Re: Ist schon ein Bug (Score:2)
    Von P2501 am Wednesday 02. June 2004, 14:19 MEW (#5)
    (User #31 Info) http://www.p2501.ch/

    Heutzutage wird für die Adressierung nicht CHS (cylinder/head/sector) sondern LBA (linear block adressing) verwendet. Auch LILO und GRUB greifen darauf zurück, wenn es vorhanden ist (auf modernen PCs eigentlich immer). Darum ist es eher erstaunlich, dass WinXP beim Bootvorgang CHS verwendet, denn damit limitiert es den Standort des XP-Kernels auf die ersten beiden physikalischen Gigabytes. (IIRC)


    --
    Linux ist eine Turboprop. HURD ist ein Düsenjetprototyp, der seinen Heimatflughafen nie verlassen hat.

    Re: Ist schon ein Bug (Score:2)
    Von P2501 am Thursday 03. June 2004, 13:25 MEW (#6)
    (User #31 Info) http://www.p2501.ch/

    Kleine Korrektur: Die CHS-Adressierung ist 2 Bits kleiner, als ich es in Erinnerung hatte, was die gesamthaft adressierbaren Blöcke auf 2^20 verkleinert. Zudem darf die Sektorenadresse nicht 0 sein, was die Anzahl nochmals um 2^14 senkt. Bei Blöcken a 512 Byte bleiben somit noch 504 Megabyte Daten, die per CHS angesprochen werden können.


    --
    Linux ist eine Turboprop. HURD ist ein Düsenjetprototyp, der seinen Heimatflughafen nie verlassen hat.

    Re: Ist schon ein Bug (Score:0, Offtopic)
    Von Anonymer Feigling am Wednesday 02. June 2004, 14:07 MEW (#4)
    HURD ist doch nur eine Legende ...

    Linux User Group Schweiz
    Durchsuche symlink.ch:  

    Never be led astray onto the path of virtue.
    trash.net

    Anfang | Story einsenden | ältere Features | alte Umfragen | FAQ | Autoren | Einstellungen