Skip to main content.

 

Seiten Netzwerk: ChaoS Networks | eWeBuKi | eWeBuKi Demo | port23.de |

Multi OS

Der Plan

Ein Rechner, 3 x Mikroweich und unendlich viel Linux :)

Hätte Mikroweich nicht ein weiteres BS gebaut, das nur sinnlose Limits enthält, wären mit heutigen Platten ganz andere Installationen möglich. Doch damit sich Windoof nicht gegenseitig vernichtet, muss jedes Windoof auf einer eigenen primären Partition wohnen.

Da Festplatten in Menge und Art der Partitionen auch Limits haben (Hat da auch MS mit gebaut?), soll die zukünftige Platte wie folgt aussehen.

Partition 1 (hda1, hd0,0) (Erweitert, Größe: Der Rest)
  Partition 5 (hda5, hd0,4) (Logisch, Größe 1GB) Swap
  Partition 6 (hda6, hd0,5) (Logisch, Größe 128MB) Boot
  Partition 7 (hda7, hd0,6) (Logisch, Größe 6GB) Debian Sid
  Partition 8 (hda8, hd0,7) (Logisch, Größe 6GB) SuSE 10
  Partition 9 (hda9, hd0,8) (Logisch, Größe 6GB) Fedora Core 4
u.s.w.
Partition 2 (hda2, hd0,1) (Primär, Größe 6GB) Win XP
Partition 3 (hda3, hd0,2) (Primär, Größe 6GB) andere Mikroweich Produkte
Partition 4 (hda4, hd0,3) (Primär, Größe 6GB) andere Mikroweich Produkte

Die Werkzeuge

GRUB

IMHO der beste Bootmanager der zur Zeit auf dem Markt ist. Der einzige mit eingebauter Kommandozeile. Mit ihm kann man trotzdem booten, auch wenn sich in der Konfigurationsdatei ein Fehler eingeschlichen hat.

Acronis True Image

Programm zum erstellen und wiederherstellen von Images. Bootet flott von der CD und benutzt dabei Linux als Basis.

BTW: Man kann damit natürlich auch direkt aus Windows heraus Images erstellen!

Knoppix

Das geniale Live Linux von CD. Ein laufendes Betriebssystem, auch wenn der Rechner kein Betriebsystem mehr hat.

Der Weg

Mit dem Partitionswerkzeug deiner Wahl die Festplatte einrichten. Linux Distributionen installieren oder Image Dateien zurück spielen. System mit Knoppix CD starten und GRUB installieren.

GRUB benötigt zwei Installationsschritte.

1. grub-install /dev/hda (hda ist die platte auf der GRUB in Zukunft wohnen soll) auf der Kommandozeile.
2. Nach dem Aufruf der GRUB Shell mit "grub", die Befehle "root (hd0,5)" und "setup (hd0)" eingeben.

So sollte dann die Ausgabe aussehen:

 GNU GRUB version 0.95 (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported. For the first word, TAB
 lists possible command completions. Anywhere else TAB lists the possible
 completions of a device/filename. ]

grub> root (hd0,5)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,5)/grub/stage2 /grub/menu.lst"... succeeded
Done.

grub>

Sollte es so nicht klappen, dann gibt es für ältere GRUB Versionen einen Trick:

Da der GRUB in einer eigenen Partition landen soll, ist das Ergebnis dieser Normal-Installation nicht immer besonders befriedigend. GRUB landet in obiger Partition im Verzeichnis /boot/grub, welches aber wieder in /boot eingehängt wird. Das Ergebnis ist ein Pfad der zweimal boot enthält /boot/boot/grub.

Um das zu verhindern, erstellt man in der in /boot eingehängten Partition vor dem grub-install einen symbolischen link boot -> . (ln -s . boot). Durch diesen Trick landet GRUB dann direkt im Wurzelverzeichnis dieser Partition.

Angeblich soll dann auch GRUB mit diesem symbolischen Link zurecht kommen, was aber bei meiner KNOPPIX nicht funktioniert hat.

Deswegen ersetzen wir jetzt auch im zweiten Schritt in der GRUB Shell den "setup (hd0)" durch einen ausführlichen Befehl der immer passt.

install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst

Damit wird stage1, stage2 und die config jetzt in /grub gesucht und die config Mit p könnte man auch den Namen der config Datei ändern z.B. grub.conf.

Beispiel einer GRUB Konfigurationsdatei:

TIPP: Ab debian sarge reicht ein update-grub um die menu.lst für das System zu erstellen.

#
# menu.lst
# boot menu konfiguration
#

# hintergrund bild laden
splashimage (hd0,5)/debian_cooleye.xpm.gz

# farbig darstellen
#color white/blue black/light-gray

# automatisch laden nach x sekunden
timeout 10

# zuerst versuchen
default saved

# ohne erfolg diesen eintrag laden
#fallback 1


title Debian Sid
 kernel (hd0,6)/vmlinuz root=/dev/hda7
 initrd (hd0,6)/initrd.img
 savedefault

title SuSE Linux 10
 kernel (hd0,7)/vmlinuz root=/dev/hda8 selinux=0 splash=silent resume=/dev/hda5 desktop elevator=as showopts
 initrd (hd0,7)/initrd.img
 savedefault

title Fedora Core 4
 kernel (hd0,8)/vmlinuz root=/dev/hda9
 initrd (hd0,8)/initrd.img
 savedefault

title test (pri 2)
 hide (hd0,2)
 hide (hd0,3)
 unhide (hd0,1)
 rootnoverify (hd0,1)
 makeactive
 savedefault
 chainloader +1

title test (pri 3)
 hide (hd0,1)
 hide (hd0,3)
 unhide (hd0,2)
 rootnoverify (hd0,2)
 makeactive
 savedefault 
 chainloader +1

title test (pri 4)
 hide (hd0,1)
 hide (hd0,2)
 unhide (hd0,3)
 rootnoverify (hd0,3)
 makeactive
 savedefault 
 chainloader +1

Bei der Installation darauf achten, dass kein Bootsektor bzw. Bootmanager installiert wird, da dieser natürlich unseren GRUB überschreiben würde.

Wer hätte es gedacht, alle MS Produkte vernichten natürlich ungefragt den Bootsektor, so dass nach der Installation, unser GRUB erneut in den MBR geschrieben werden muss (Deswegen benutze ich bei MS Produkten immer ein Image).

Images von Windoof:

War ja klar das es hier auch einen Haken gibt. Wurde ein Image auf Partition 2 installiert bootet es nach dem zurückspielen auf Partition 3 nicht mehr.

Schuld daran ist die boot.ini die in etwa so aussieht

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
Um jetzt mein Image auf jeder Partition booten zu können, erweitere ich die boot.ini um folgende Einträge.
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Windows XP Professional partition(1)" 
multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Windows XP Professional partition(2)" 
multi(0)disk(0)rdisk(0)partition(3)WINDOWS="Windows XP Professional partition(3)" 
multi(0)disk(0)rdisk(0)partition(4)WINDOWS="Windows XP Professional partition(4)"

Auch hier macht MS wieder eine Extrawurst :)

Mir ist noch nicht ganz klar wie genau gezählt wird? Ich hab folgendes dazu gefunden:

Die Zählung beginnt bei eins, zuerst die primären Partitionen, dann die log. Laufwerke in der erweiterten Partition; die erweiterte Partition selbst wird nicht mitgezählt.

Hier zwei Beispiele:

Beim ersten Rechner (Erw, Pri, Pri, Pri) werden die drei Primären Partitionen über (1), (2), (3) angesprochen.

Beim zweiten Rechner (Pri, Pri, Pri, Erw) wird die die fett geschriebene Partition mit (3) angesprochen.

ACHTUNG: So lang nur ein Windows Image installiert passiert bei falscher Auswahl nichts. Sind aber zwei Images installiert und man erwischt den falschen Eintrag zerstört sich Windows selbst bei dem Versuch die Reihenfolge in der Registery zu ändern (wie praktisch).

Hey Kids don't try this at home :)