Linux kann NTFS lesen – Windows XP nicht

Heute bat mich ein Bekannter um Hilfe, nachdem er seine Windows Systempartition unbrauchbar gemacht hatte. Das Unglück geschah beim Versuch mit Hilfe des Acronis Partition Expert die Clustergröße seiner Windows XP Systempartition zu verändern – natürlich ohne vorher ein Backup der Partition anzulegen. Nach scheinbar erfolgreichem Abschluss der Clustergrößenänderung fand der installierte Bootloader grub die Windowspartition nicht mehr. Der Versuch das Problem auf der Windows Rettungskonsole zu beheben scheiterten daran, dass die Systempartition von Windows lediglich als unpartitionierter Speicherplatz erkannt wurde. Auch eine mit BartPE erstellte LiveCD vermochte die Partition nicht zu erkennen. Allen Anschein nach hatte der Acronis Partition Expert die Partitionstabelle arg beschädigt.

Allerdings konnte die parallel installierte openSUSE 10.2 problemlos die Windows-Systempartition mounten und lesen. Dank dd war die vermeintlich zerstörte Partition schnell als Image auf eine externe Festplatte geschrieben. Der Rest wird einfach: Partition löschen, Windows neu installieren, mit einer beliebigen LiveCD starten, Image einbinden und sämtliche Dateien zurückspielen.

Was bleibt ist die Frage, warum Windows die Partition nicht lesen kann. Ist nun also der auf reserve engineering basierende NTFS Support von Linux tatsächlich stabiler oder zumindest fehlertoleranter als der von Microsoft selbst?

[tex]\LaTeX{}[/tex] mit WordPress

Fuktioniert jetzt auch dank mimeTeX auf meinem Sharedhosting Account bei all-inkl. 🙂

\sum_{k=1}^n~k = 1+2+...+n = \frac{n\cdot(n+1)}{2}
\Large\hspace{5}\unitlength{1}
    \picture(175,100){~(50,50){\circle(100)}
    (1,50){\overbrace{\line(46)}^{4$\;\;a}}
    (52,50){\line(125)}~(50,52;115;2){\mid}~(52,55){\longleftar[60]}
    (130,56){\longrightar[35]}~(116,58){r}~(c85,50;80;2){\bullet}
    (c85,36){3$-q}~(c165,36){3$q}
    (42,29){\underbrace{\line(32)}_{1$a^2/r\;\;\;}}~}

Kaputtes AirPort Extreme Update 2007-001

Die bittere Erkenntnis, dass Softwareaktualisierungen oftmals mehr neue Probleme verursachen als lösen, habe ich als Gelegenheitswindosuser mittlerweile verinnerlicht. Törichterweise habe ich Apple mehr Vertrauen geschenkt und bedenkenlos das AirPort Extreme Update 2007-001 installiert, obwohl mein WLAN bislang zufrieden stellend funktionierte. Die Rache folgte stehenden Fußes: Nach wenigen Minuten wurde die Verbindung zum Router unterbrochen und ließ sich selbst durch Neuinitialisierung des AirPort-Adapters meines MacBooks nicht wieder aufbauen. Einzig und allein ein Neustart schuf Abhilfe für durchschnittlich 15 Minuten.

Die Logs gaben auch nicht viel her:

Jan 29 13:12:47 macbook /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport: Error: WirelessAssociate2() = 88001006 for network wlan_s. The operation timed out.

Testweise habe ich die WPA2-Verschlüsslung für das Netzwerk deaktiviert (auf Dauer keine gute Idee!), die bevorzugten Netzwerke in den Systemeinstellungen gelöscht und schlussendlich alle relevanten Propertylists (com.apple.internetconfig.plist, com.apple.internetconfigpriv.plist, com.apple.internetconnect.plist) gelöscht. Nichts half.

Mir blieb nichts anders ürbig, als das Update wieder zu entfernen. Leider scheint Mac OS X 1.4.8 keine Option vorzusehen, einmal installierte Updates wieder zu deinstallieren. Zum Glück bietet Apple wenigstens alle viele Updates zum Download an, so dass es möglich ist durch ein Update aktualisierte Dateien durch die der Vorgängerversion zu ersetzen.

Da das Problem das AirPort-Kernelmodul zu betreffen scheint, sollte es genügen die Datei IO80211Family.kext im Verzeichnis /System/Library/Extensions auszutauschen. Solche Eingriffe sind zwar riskant, weil sich unter Umständen Versionskonfikte mit anderen Kernelmodulen und Systemfunktionen ergeben könnten, aber in Ermangelung anderer Lösungen oft einen Versuch wert.

Also bin ich wie folgt vorgegangen:

  1. Ganz wichtig: Backup von /System/Library/Extensions/IO80211Family.kext anlegen.
  2. Das letzte große Update auf Mac OS X 1.4.8 (206 MB) runterladen.
  3. Die DMG-Datei mounten, aber nicht installieren.
  4. Das enthaltene Paket MacOSXUpd10.4.8Intel.pkg zum Beispiel mit der Software Pacifist öffnen.
  5. Die Datei System/Library/Extensions/IO80211Family.kext aus dem Archiv nach /System/Library/Extensions/ entpacken.
  6. Den Mac neustarten.

Seitdem Eingriff läuft das WLAN wieder zufrieden stellend, zumindest bis zum nächsten Update. 😉