Alexander (HH): Windows XP und Netzwerk-Verbindung

Beitrag lesen

Moin Moin!

Linux gestartet, die Windows-Partition C: frisch formatiert, dann die XP-Setup-CD ins laufwerk und davon booten. Super, die erste Phase des Setups geht sauber durch, und nach dem ersten Neustart lesen wir auf dem Bildschirm:

Medienfehler
Medium wechseln und Taste drücken.

Wohlgemerkt: Das ist der erste Neustart, der schon nicht mehr von der Installations-CD erfolgt, sondern von der rudimentär eingerichteten Festplatte!

Jau, Informationen im Dateisystem und in der Partition passen nicht zusammen. Linux stört sich daran herzlich wenig, Windows macht sich dabei fürchterlich in die Hose. Laß Windows sich selbst die Partition einrichten und formatieren, am besten als allerersten Schritt mit einer fabrikfrischen oder frisch genullten (dd if=/dev/zero bs=512 count=100 of=/dev/sdX) Platte.

Nach einiger Recherche weiß ich nun: Windows hält's ziemlich streng mit dem ersten Gebot. Ich wusste ja schon aus früheren Erfahrungen, dass das Windows-Setup auf die Schnauze fällt, wenn *vor* der zukünftigen Windows-Partition eine "unbekannte" Partition existiert. Mir war auch klar, dass Windows bei der Installation den GRUB rücksichtslos platt macht, aber den kann man ja später relativ leicht wieder aufbauen.

Unnötig. Der MBR von MS kann völlig problemlos so ziemlich jedes System aus einer beliebigen, aktiven, primären Partition laden. Innerhalb der Partition muß dann ein für das jeweilige System passender Loader liegen. Das war schon zu DOS-Zeiten so, Windows handhabt das ebenso. LILO und Co können ebenfalls in eine Linux-Bootpartition statt in dem MBR installiert werden. Extlinux bietet sich an, weil es ext2/ext3/ext4/btrfs lesen kann und im Gegensatz zum LILO nicht nach jeder Änderung neu installiert werden muß. Alternativ kann man Linux auch aus einer FAT-Partition heraus per Syslinux laden, das hat den Vorteil, dass man die Syslinux-Konfiguration auch von Windows aus bearbeiten kann.

Bis einschließlich XP lädt bei mir das BIOS den MBR, der lädt aus der aktiven Linux-Bootpartition Extlinux, das lädt je nach Menü-Auswahl entweder direkt einen Linux-Kernel und ggf. eine RAMDisk oder über einen Chain-Loader Windows aus einer nicht aktiven, primären Partition.

Mit Windows 7 funktioniert das auch, allerdings mag das integrierte "Backup"-System dieses Setup nicht. Es verweigert jede Zusammenarbeit mit einer kryptischen Fehlermeldung, wenn die Windows-Partition nicht die aktive Partition ist oder der MBR fremden Code enthält.

Mein aktueller Workaround besteht darin, zunächst nur Windows auf einer Platte zu installieren, dann die Platte vom Primary Master zum Secondary Master oder Primary Slave zu machen, eine neue Platte als Primary Master nachzulegen und auf diese Platte Linux zu installieren. Die Boot-Reihenfolge bleibt nahezu identisch: Das BIOS lädt den MBR von der Linux-Platte (installiert per ms-sys -m /dev/sda), der lädt von der Linux-Bootpartition Extlinux, das lädt wiederum entweder Linux mit oder ohne RAMDisk, oder aber chain.c32 hd1 1 swap. Letzteres installiert ein paar Bytes Assembler-Code, der auf BIOS-Ebene die beiden Platten tauscht, und lädt dann den Windows-Loader aus der Windows-Partition. Windows glaubt dann, von einem etwas merkwürdigen BIOS von der logisch ersten Platte gestartet worden zu sein, und das Backup funktioniert dann schmerzfrei. Auch, wenn die Platte eigentlich nur die Nummer Zwei ist.

Nun weiß ich, dass das erste Gebot -mit geringfügig anderen Symptomen- auch gilt, wenn *irgendwo* auf der Platte eine Non-Windows-Partition existiert. Um Windows neu zu installieren, muss man also tatsächlich eventuell vorhandene Linux-Partitionen löschen. Man kann sie später wiederherstellen, aber während der Windows-Installation sind sie tödlich. Es ist nicht zu fassen!

Fremde Partitionen stören Windows meiner Erfahrung nach eher wenig, allerdings möchte Windows seine Partition(en) selbst anlegen und formatieren. Naja, und Windows installiert zwangsweise den MS-MBR.

Der schmerzfreieste Weg zu einer Neuinstallation eines Multi-Boot-Systems ist, die ersten paar hundert Sektoren der Platte zu nullen, dann mit Windows anzufangen, mit nur einem Laufwerk C: in einer aktiven primären Partition. Dann erzeugt man mit einem Linux-Setup-Medium (CD/DVD/PXE/USB) eine primäre Boot-Partition (100 bis 200 MB reichen), bootet wieder Linux, legt sich eine Extended Partition über den Rest der Platte an und installiert in der Partition wiederum ein logisches Laufwerk D:, das in der Partition noch genügend Platz läßt. Schließlich legt man in der Extended Partition noch eine Root- und eine Swap-Partition an und läßt den Linux-Installer loslegen. Ohne großen Server im Hintergrund sollte noch eine große Datenpartition dazu kommen.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".