5.6.2000

Linux booten


Folgende Möglichkeiten kenne ich:

  • Bootmanager: Beim Start kann man mit einem Leuchtbalken-Menü auswählen, welche Partition - Linux oder Windows - gebootet werden soll. Nach Zeitablauf wird automatisch die voreingestellte Partition gebootet. Dabei können nur Partitionen vom Typ "primär" gebootet werden, sie müssen alle auf der ersten Festplatte liegen, und die Linux-Boot-Partition muß innerhalb der ersten 1024 Zylinder der Festplatte liegen.
  • Lilo als Bootmanager: Beim Start kann man durch Eingabe von "linux" oder "Windows" (auch abgekürzt) auswählen, welche Partition gebootet werden soll. Nach Zeitablauf wird automatisch die voreingestellte Partition gebootet. Linux darf dabei auf einer beliebigen Partition auf einer beliebigen Festplatte liegen, allerdings muß auch hier die Linux-Boot-Partition innerhalb der ersten 1024 Zylinder der Festplatte liegen.
  • Booten von Windows aus: Auf der Windows-Partition befindet sich eine Kopie des Linux-Kernels und das Programm loadlin.exe. Der Rechner wird in den DOS-Modus heruntergefahren und dann wird Linux mit loadlin.exe gebootet. Das Ganze kann auch durch Anklicken eines Symbols auf dem Desktop geschehen. Linux darf dabei - so weit ich weiß - auf einer beliebigen Partition auf einer beliebigen Festplatte liegen.
  • Booten von einer Diskette: Auf der Diskette befindet sich eine Kopie des Linux-Kernels. Der Rechner wird heruntergefahren und mit der Diskette gebootet. Linux darf dabei - so weit ich weiß - auf einer beliebigen Partition auf einer beliebigen Festplatte liegen.

Im Einzelnen:

1. Bootmanager

Das habe ich ausprobiert beim zweiten Versuch, Linux zu installieren. Ich hatte den Bootmanager von PC-Pro installiert. Man findet ihn als Self-Installer unter dem Namen 'bmanager.exe' z.B. in Compuserve und wahrscheinlich auf 'shareware.com' oder 'download.com'. Er läßt sich auch leicht wieder de-installieren.

Sobald Linux bei mir vollständig läuft, wird das wahrscheinlich meine normale Bootmethode werden, mit Linux als Default-Partition.

Lilo wird dabei nicht als Bootmanager in Spur Null installiert, sondern nur auf der Linux-Partition zum Booten von Linux. Zum Installieren habe ich bisher nur die Schritte innerhalb des Installationsprogramms befolgt. Ich kann also nicht sagen, wie man Lilo 'von Hand' einrichtet.

2. Lilo als Bootmanager

Das habe ich ausprobiert beim ersten Versuch, Linux zu installieren. Es funktioniert, aber ich finde es sehr unbequem, immer irgendetwas eintippen zu müssen.

Lilo muß auf der ersten Platte installiert sein (als Bootmanager in Spur Null), wenn diese Platte eine IDE-Platte ist: auf /dev/hda, bzw. wenn es eine SCSI-Platte ist: auf /dev/sda. Linux selbst, d.h. das was nach dem Booten "/" heißt, darf aber z.B. auf der zweiten Platte liegen.

Ich habe auf dem Rechner auf der ersten Partition (/dev/sda1) Windows und auf der zweiten (/dev/sda2) Linux. (Die dritte ist die Linux-Swap-Partition.) Weil ich schreibfaul bin, habe ich die Windows-Partition nur "w" genannt, und die Linux-Partition "l". Normalerweise wartet Lilo beim Booten ein paar Sekunden, ob man <shift> drückt, und wenn ja, erscheint "der Prompt" ("Lilo:"). Durch den Eintrag "prompt" und "timeout 100" erscheint beim Booten gleich "Lilo: " und wenn ich w <enter> drücke, wird Windows gebootet. Wenn ich l <enter> drücke, oder wenn ich nichts tue und 10 Sekunden warte, wird Linux gebootet.

Meine /etc/lilo.conf sieht so aus:

boot=/dev/sda2
root=/dev/sda2
install=/boot/boot.b
map=/boot/map
vga=normal
default=l
delay=100
prompt
timeout=100
 
image=/vmlinuz
label=l
read-only
 
other=/dev/sda1
label=w
table=/dev/sda

(Zu beachten ist: Mein Linux-Kernel liegt ausnahmsweise nicht in /boot, sondern direkt in /.)

3. Booten von Windows aus

Solange Linux bei mir noch nicht vollständig läuft (es werden noch nicht alle Ports geroutet, und Mail und News fehlen noch ganz), benutze ich am liebsten diese Möglichkeit.

Der Rechner bootet immer erstmal mit Windows 95.

In einem Verzeichnis 'c:\linux' befinden sich die Dateien 'vmlinuz' (das ist eine Kopie meines Linux-Kernels von der Linux-Partition) und 'loadlin.exe' (das ist ein Dienstprogramm von der Linux-CD).

Man kopiert das Kernel von der Linux-Partition auf die Windows-Partition unter Linux mit cp (siehe man cp). Vorher muß man die Windows-Partition mounten (siehe man mount). Das Kernel findet man - je nach Version - in /boot oder direkt im Hauptverzeichnis /. Das Programm loadlin.exe sucht man unter Windows auf der Linux-CD und kopiert es mit dem Explorer. Die CD ist unter Windows lesbar.

Die Verknüpfung auf dem Desktop zeigt auf eine Datei 'c:\Windows\linux.pif'. Man stellt sie z.B. her mit 'Rechtsklick ins Leere/Neu/Verknüpfung/Durchsuchen/'c:\linux\loadlin.exe'/Weiter/Fertigstellen. Dann wird unter Rechtsklick/Eigenschaften/Programm/Befehlszeile dort eingetragen:

'c:\windows\command.com /c c:\linux\loadlin.exe c:\linux\vmlinuz mem=128M'.

Der Parameter 'mem=128M' (Memory = 128 Megabyte) ist nötig, weil die Bios-Funktion, die Linux abfragt, um den eingebauten Speicher zu erfahren, nur maximal 64 MB meldet.

Unter Eigenschaften/Programm/Erweitert ist 'DOS-Modus' angekreuzt. (Damit Windows gar nicht erst versucht, Linux in einem Windows-Fenster zu starten. Das würde nicht funktionieren.)

4. Booten von einer Diskette

Das habe ich noch nicht ausprobiert.

Ich würde - im DOS-Modus - mit rawrite.exe (das ist auf der Linux-CD) das Image der ersten Linux-Installationsdiskette von der CD auf eine leere Diskette übertragen. Dann Linux booten (mit Möglichkeit 3) und dann das Kernel von der Linux-Partition über das Kernel auf der Diskette kopieren.