Inhalt
(2006)
Linux :: Multi-Boot
Vorbemerkungen
Der Wunsch nach mehreren Betriebssystemen auf einer Platte entsteht schnell. Das eine System kann was, was das andere nicht kann, mit dem dritten wollte man sich eh nochmal auseinandersetzen usw. Genauso bei mir. XP sollte stabil für die tägliche Arbeit laufen. Win 98 brauch ich für alte und neue Spiele und für alte Hardware, die XP nicht unterstützt und Debian sollte auch noch mit drauf und das ganze soll über den von XP mitgebrachten Bootloader ausgewählt werden. (extra nen anderen wollte ich nicht holen und von den Linux-Bootmanagern sind mir von Freunden noch Szenarien in Erinnerung, wo man am Ende nur noch von Diskette gebootet hat.)
Planung ist alles
Der größte Fehler, den man begehen kann: wild drauf los installieren. Es wird zwar versprochen, »die Festplattenaufteilung machen wir bei der Installation gleich mit«, aber das funktioniert sicher in 99% der Fälle dann doch nicht so, wie man's gerne hätte. Also ganz am Anfang steht die Partitionierung. Jedes System braucht seine eigene Systempartition, Linux zusätzlich noch eine Swap, irgendwie sollen Daten ausgetauscht und gemeinsam benutzt werden usw. Ich hab mir also erstmal überlegt, wie ich es anstellen will und hab dann mit Partition Magic meine jungfräuliche Platte eingerichtet. Natürlich kann man auch ne Knoppix-CD nehmen oder irgendwas anderes, womit man gerne partitioniert. Bei mir sieht das dann auf ner 120GB-Platte so aus:
- hda1 – 5 GB – Primärpartition: FAT 32 als Systemplatte für Windows 98
- hda2 – 12 GB – Primärpartition: ext3 als Systemplatte für Linux
- hda3 – 1 GB – Primärpartition: Linux-Swap
- hda4 – Erweiterte
Partition mit folgenden logischen Laufwerken:
- hda5 – 12 GB – FAT 32 für wichtige Daten (Bilder, Briefe, Tabellen etc.)
- hda6 – 8 GB – FAT 32 für nicht ganz so wichtige Daten (Software-Download, Treiber etc.)
- hda7 – 62 GB – FAT 32 als große gemeinsame Datenpartition für mp3, Video, filesharing
- hda8 – 14 GB – NTFS als Systemlaufwerk für Windows XP
- hda9 – 2 GB – ext3 als /home für Linux
Eine seperate Partition für /home
unter Linux
hab ich bei mir nicht, hätte aber zwecks Backup und Trennung
von Daten und Programmen Sinn gemacht, da hab ich aber leider
bißchen getrieft. Die /home
sollte dann als
letztes Laufwerk in der erweiterten Partition angelegt
werden.
Auf die Reihenfolge kommt es an!
Das wichtigste vorweg: Windows 98 kommt vor Windows XP rauf!!! sonst können wir nur noch mit Kopfständen und nicht so schön wie hier alle drei Systeme drauf bringen. Windows 98 landet dann auf C: und trägt sich schön im MBR ein. Danach kommt Windows XP. Der erkennt, daß auf C: bereits ein System sitzt, trägt es in seinen Bootloader ein und schreibt diesen in den MBR. Soweit so gut. Wann man Linux installiert, ist eigentlich egal, man muss nur folgendes beachten: Bei jeder Frage, wo Lilo hin soll, oder der Bootmanager oder irgendwas in der Art: Linux nichts in den MBR installieren lassen, also nicht nach hda!! Lilo (oder was ihr wollt) kommt auf die Systempartition von Linux, also nach hda2 und wird nachher im NT-Bootloader eingetragen.
Linux im NT-Bootloader eintragen
Wenn der Bootloader beim Booten nicht sichtbar ist, geht unter Windows XP zu Systemsteuerung → System → Erweitert → Starten und Wiederherstellen und aktiviert die Option »Anzeigerdauer der Betriebssystemliste«. Bei Windows NT findet Ihr die Option unter Systemsteuerung → System → Starten/Herunterfahren.
Um ein anderes System starten zu können, brauch der
NT-Bootloader ein 512 Byte großes File im Wurzelverzeichnis
der ersten primären Partition, das ihm sagt, wo er das System
findet, das er starten soll. (Im Moment sollte z.B. eine Datei
bootsect.dos unter C:\ stehen) Eine derartige Datei müssen wir
für Linux jetzt erzeugen. Dazu gehen wir auf die
Linux-Kommandozeile und benutzen den Befehl dd
.
Wir brauchen die ersten 512 Byte von hda2 und nur einen Block.
Die Datei die wir erzeugen, können wir erstmal ins
Home-Verzeichnis tun und dann nachher nach C:\ kopieren, oder
wir mounten uns /dev/hda1 und schreiben sie gleich dahin, und
zwar mit:
dd if=/dev/hda2 of=bootsect.lin bs=512 count=1
if
heißt InputFile, da kommt die Partition
hin, die wir eintragen wollen, of
ist dann unsere
gewünschte Datei. Die anderen Parameter sorgen für die
korrekte Länge, wie oben erwähnt.
So jetzt geht's wieder in die Windows-Welt. In der Datei
C:\boot.ini
fügt Ihr einfach die Zeile
C:\bootsect.lin="Debian Linux"
ein und seid
fertig. Was hier übrigens in den Gänsefüßchen steht, wird
nachher im Bootmenü angezeigt, d.h. Eure Windows-Einträge
könnt Ihr auch gleich mit anpassen. Windows XP setzt von sich
aus nicht so sinnvolle Namen.
Noch ein Tip zum Schluß: Wenn Ihr jetzt Eure Lilo-Konfiguration ändert und wieder nach /dev/hda2 schreibt, müsst Ihr die Geschichte mit dd nochmal neu machen, sonst startet Linux nicht. Ein bisschen ausführlicher aber auf Englisch, hab ich diese Vorgehensweise im Web auf der Seite jaeger.morpheus.net gefunden.
Bemerkungen
Wichtig: Das NTFS-Laufwerk sollte dann ebenso hinter den FAT-Laufwerken angelegt werden, sonst hat man unter Windows 98 und XP nicht die gleichen Laufwerksbuchstaben. Man kann zwar unter XP die Dinger beliebig verändern, aber eben nur fast beliebig, die Systemplatte behält Ihren Buchstaben. (So wie oben ist es wie gesagt nicht bei mir, bei mir ist es durcheinander und ich muss jedesmal umdenken.) Das ganze erfordert vor dem Partitionieren ein bißchen Rechnen, damit die Dinger nachher auch alle die Größe haben, die sie haben sollen. Ich persönlich hab die Erfahrung gemacht, daß 4 GB für Win98 bei viel Software knapp werden können, lieber etwas mehr nehmen. Für Win XP braucht man etwa 2 GB mehr, also unter 7 GB würd ich da nicht mehr anfangen. Linux kann unter 2 GB kaum mit KDE und allem drum und dran installiert werden, da würd ich auch etwa die Maßstäbe wie für XP ansetzen. Wie groß die Swap sein soll, sagt jeder anders. Zu groß macht keinen Sinn. π mal Daumen doppelte Größe vom RAM, hieß es bei fli4l, ich hab hier ca. 1 GB genommen, ist bestimmt schon zuviel. Die Größe der Datenpartitionen muss jeder selbst wissen, für Videobearbeitung empfiehlt sich aber ein richtig große. Die ist bei mir jetzt ca. 60 GB groß bei ner 120 GB-Platte. Einen Pferdefuss hat das aber leider noch. bei FAT32 ist die maximale Dateigrösse auf 4 GB begrenzt.
Ergänzung: Nach positivem E-Mail-Feedback
noch folgender Hinweis. Win98 sollte wirklich auf die primäre
erste Partition. Linux und WinXP sehen das nicht so eng.
Speziell XP kann sonstwo landen und muss nicht unbedingt ne
primäre Partition haben. Bei Linux kann es unter gewissen
Umständen Probleme beim booten geben, wenn die Partition zu
weit hinten liegt. Wenn man Linux auf der zweiten primären
installiert, sollte man auf der sicheren Seite sein.
Win98 sieht nachher von Haus aus nur FAT-Partitionen,
deswegen auch FAT32 für die große Partition zum
Datenaustausch. WinXP liest zusätzlich auch NTFS. Beide können
ohne Kopfstände nix mit den Linux-Dateisystemen anfangen.
Linux liest alles. NTFS schreiben ist unter anderen System als
Windows NT/2000/XP gefährlich, weil Winzigweich NTFS nicht
dokumentiert hat. Will man unter Linux NTFS schreiben, sollte
man also sehr vorsichtig sein. Mehr dazu findet Ihr sicher im
großen Weltnetz.
wichtiger Hinweis: Eine Neuinstallation
von Windows 98 ist nach der ganzen Prozedur nicht sinnvoll.
Win 98 überschreibt nämlich den MBR bei der Installation. Man
soll wohl den MBR von der Wiederherstellungskonsole von Win XP
mit fixmbr
wieder herstellen können. Mir wurde
allerdings berichtet, daß dies nicht 100% sicher funktioniert.
Wer darauf Wert legt, regelmäßig sein System platt zu machen
und neu zu installieren, sollte einen anderen Bootmanager wie
z.B. den aus der Linuxwelt bekannten grub verwenden!
Alternativ müsste auch das Sichern des aktuellen MBR mit
dd
unter Linux möglich sein. Also erst sichern,
dann Win98 neu drauf und dann MBR wieder zurück schreiben. Hab
ich aber nicht ausprobiert bis jetzt.
Allerdings hab ich mich nochmal schlau gemacht im Netz. Der
MBR liegt direkt in den ersten 512 Bytes der Platte und
enthält ausserdem noch die Partitionstabelle. Das Sichern auf
Diskette könnte unter Knoppix so aussehen:
sudo dd if=/dev/hda of=/mnt/floppy/hda.mbr bs=512 count=1
Wer nur den MBR also ohne Partitionstabelle sichern will, nimmt nur die ersten 446 Bytes:
sudo dd if=/dev/hda of=/mnt/floppy/hda.mbronly bs=446 count=1
Das Rückschreiben funktioniert analog mit vertauschtem if
und of, aber Vorsicht, wer hier nicht weiß, was er tut,
riskiert Datenverlust!
Das allein reicht allerdings noch nicht, um das System später
wieder starten zu können. Auf jeden Fall sollte man von
Laufwerk C: (bzw. der ersten primären Partition) die Dateien
ntldr
, ntdetect.com
und
boot.ini
sichern. Wenn vorhanden muss auch die
bootsect.dos
gesichert werden. Da scheint WinXP
den Original Bootsektor von Win98 drin zu speichern. Also alle
die Dateien auf Diskette und dann könnte einem Neuinstallieren
von Windows nichts im Weg stehen. Aber wie gesagt, getestet
hab ich das noch nicht! :-)
Zum Schluss
Ich hab die Seite hier am 07.07.2003 nach bestem Wissen und Gewissen geschrieben, doch wie sang Westernhagen so schön:
Nur Garantien, die gibt uns keiner, der liebe Gott, auch der nicht, leider…
Das heißt, Ihr seid selbst verantwortlich, wenn Ihr irgendwas kaputt macht, im Zweifelsfall empfiehlt sich für wichtige Daten immer ein Backup!!
P.S.:
Mittlerweile verwende ich übrigens auf 2 von 3 Rechnern GRUB ;-)