Windows Server retten mit grml Linux

(2007-08-21)

grml ist eine Linux-Live-CD für Nutzer, die lieber textbasierte Programme als grafische benutzen. Es basiert auf Debian GNU/Linux, ist aber deutlich aktueller. Meiner Meinung nach eignet sich grml am besten, wenn es darum geht, Rechner zu retten.

Die Problematik

Der zu rettende Rechner war ein Windows Small Business Server 2003. Dort laufen zahlreiche Dienste, unter anderem auch ein Exchange-Server, welcher seine Daten auf C:\ ablegt. Nun sammelten sich dort mit der Zeit immer mehr Daten an, sodass auf C:\ nur noch 100 MB frei waren. Die Daten sollen daher auf zwei neue SATA-Festplatten übertragen werden und die Partitionen anschließend vergrößert werden (sowohl C:\ als auch D:\).

Verschiedene Windows-Programme konnten die Daten nicht übertragen, da sie nicht mit dynamischen Datenträgern (ein Windows-spezifisches Partitionsformat, welches zum Beispiel für Software-RAID unter Windows benötigt wird) umgehen können. Außerdem fuhr der Windows Server nicht mehr hoch, sobald der SATA-Controller (von Promise) eingebaut war und die Festplatten angeschlossen waren (wenn sie nicht angeschlossen sind, funktioniert es).

Rettung

Beim Booten von der grml-CD (Version 1.0) wurden alle Controller und Festplatten ordnungsgemäß erkannt. Ein Blick in die Ausgabe von fdisk -l zeigte dann, dass zwei Partitionen vorhanden waren, mit Typ SFS (42). Dies ist der Typ, den Windows beim Erstellen eines dynamischen Datenträgers setzt.

Ein Kopieren auf Partitionsebene brachte keinen Erfolg, sprich: Der Server bootete wieder nicht (dies äußert sich übrigens darin, dass er nach ca 15 Sekunden einfach einen Neustart durchführt, ohne Fehlermeldung, Bluescreen, Logeintrag oder sonstige Informationen).

Eine 1:1-Kopie der Festplatte (dd if=/dev/sdc of=/dev/sda bs=5M) klappte dann letztendlich.

Das neue Problem, was sich nun stellte, war, dass die üblichen Partitionsprogramme unter Windows kaum mit dynamischen Partitionen umgehen können (Acronis Disk Director Server und Paragon Partition Manager). Die windowseigene Datenträgerverwaltung kann leider keine Partitonen erweitern, die erstellt wurden, bevor der Datenträger in einen dynamischen umgewandelt wurde. Somit konnte zwar D:\ vergrößert werden, nicht aber C:\.

Glücklicherweise gibt es das Linux-Programm testdisk, welches Partitionen erkennt und auch dynamische Partitionstabellen in normale Partitionstabellen umwandeln kann. Dies klappte problemlos und anschließend konnten mit den oben genannten Programmen die Partitionen vergrößert werden.

Bemerkungen

Der Promise-Controller möchte, wenn das RAID-1 inkonsistent ist, und man es auflösen will, den MBR (Master Boot Record) der Festplatte löschen. Das RAID-1 kann man, ohne dass die Festplatte angeschlossen ist, nicht löschen, da es gar nicht in der Liste auftaucht. Somit muss man sich also den MBR löschen lassen und anschließend via fixmbr und fixboot von der Windows Installations-CD wiederherstellen. fixmbr funktioniert übrigens bei dynamischen Datenträgern anscheinend nicht (zumindest bringt es keine Ausgabe und repariert auch nichts).

Außerdem taucht das angebliche RAID-1 bei grml nicht als solches auf; die Festplatten werden einzeln erkannt (/dev/sda und /dev/sdb). Der „RAID-Controller” macht also kein Hardware-RAID, sondern über einen Windows-Treiber ein Software-RAID – na super. Ob man ihm unter Linux vorspielen kann, dass das RAID in Ordnung sei, indem man einfach den Inhalt von /dev/sda auf /dev/sdb kopiert, habe ich nicht ausprobiert (wäre aber interessant zu wissen).

Fazit

Mit Linux-Live-CDs kann man einige Dinge (1:1-Kopien, Umwandlung dynamischer Datenträger) ohne großen Aufwand, komplett ohne Kosten und sehr zuverlässig durchführen. Für Windows-Admins lohnt sich also der Blick über den Tellerrand ;-).