15.12.2018 | 21:43 Uhr
 
Kommentieren       print
Vorbereitung der Linux-Partitionen und des Bootvorgangs
(parallel zu Windows oder bei mehreren Linux-Distributionen)

Ausgehend von folgenden Voraussetzungen (altersschwacher Rechner):

  • RAM 512 MB
  • Festplatte 1 über 20 GB/Dateiformat NTFS (Windows ist hierauf unter Laufwerk C installiert)
  • Festplatte 2 über 60 GB/Dateiformat NTFS (Windows speichert hier Daten unter Laufwerk D)

Das bisher installierte Windows verwendet beide Festplatten über insgesamt 80 GB; C: für das System und D: für die Daten. Auch soll unser zukünftiges Linux beide physische Festplatten (1. System, 2. Daten) verwenden, um grösstmögliche Sicherheit zu gewährleisten. Somit kommt eine getrennte Installation von Windows auf der ersten und Linux auf der zweiten Festplatte nicht in Frage, was die Partitionierung etwas umfangreicher macht.

Letzte wichtige Information: Unserem Linuxsystem wollen wir insgesamt 22 GB zur Verfügung stellen.


Vorgehensweise

Unter dem vorhandenen Windows-OS installieren wir die Software “Partition-Magic” (oder anderen Partitionierer), starten diese und ändern die Grösse der Festplatten wie folgt und rebooten das System für den Batchbetrieb:

  • Festplatte 1 (Windows C:) von 20 GB auf 18 GB; der freie Speicherplatz sollte nach Windows C liegen: Den freien Speicherplatz formatieren wir anschliessend bei der Linux-Installation
  • Festplatte 2 (Windows D:) von 60 GB auf 40 GB; der freie Speicherplatz sollte nach Windows D liegen: Den freien Speicherplatz formatieren wir anschliessend bei der Linux-Installation

Während der Linux-Installation nehmen wir nun eine benutzerdefinierte Partitionierung vor, ausgehend von folgender Situation mit S-ATA-Platten (deshalb Bezeichnung sda/sdb, sonst hda/hdb):

  • /dev/sda   --> Festplatte 1 über 20 GB --> unzugeordnet 2 GB
      • /dev/sda1  --> NTFS-Partition 18 GB (Windows C)
         
  • /dev/sdb   --> Festplatte 2 über 60 GB --> unzugeordnet 20 GB
      • /dev/sdb1  --> NTFS-Partition 40 GB (Windows D)

Den unzugeordneten Bereich unter /dev/hda partitionieren wir so, dass sich die Festplatte 1 wie folgt darstellt:

  • /dev/sda   --> Festplatte 1 über 20 GB

  • /dev/sda1  --> NTFS (wir mounten dieses primäre Laufwerk unter “/windows_c”, um unter Linux später auf dem Laufwerk lesen zu können; wäre das Windows-Dateisystem FAT, könnten wir sogar schreiben)

  • /dev/sda5 --> Swap über 1 GB (2 x RAM); Mountpoint “swap” und Kennzeichen primär: dient zur Auslagerung

  • /dev/sda6 --> Root über 1 GB mit Dateisystem “ReiserFS” oder “ext3” und Kennzeichen primär sowie Mountpoint “/ ”: hier wird der Linux-Kernel gespeichert*

Den unzugeordneten Bereich unter /dev/hdb partitionieren wir so, dass sich die Festplatte 2 wie folgt darstellt:

  • /dev/sdb   --> Festplatte 2 über 60 GB

  • /dev/sdb1  --> NTFS (wir mounten dieses primäre Laufwerk unter “/windows_d”, um unter Linux später auf dem Laufwerk lesen zu können; wäre das Windows-Dateisystem FAT, könnten wir sogar schreiben)

  • /dev/sdb5 --> Extended 20 GB (primäre, erweiterte Partition, gefolgt von den logischen Part. hdb3-6)

  • /dev/sdb6 --> Installationsverzeichnis über 6 GB mit Dateisystem “ext3” und Mountpoint “/usr” : hier werden die meisten Programme installiert sein

  • /dev/sdb7 --> Installationsverzeichnis über 6 GB mit Dateisystem “ext3” und Mountpoint “/opt”: hier werden ebenso Daten vieler Programme wie z.B. KDE und GNOME installiert

  • /dev/sdb8 --> Log und Infoverzeichnis über 2 GB mit Dateisystem “ext3” und Mountpoint “/var”: hier werden Daten zur Überwachung des Systems und Informationen zur installierten Software gepeichert

  • /dev/sdb9 --> Nutzerdatenverzeichnis über 6 GB mit Dateisystem “ext3” und Mountpoint “/home”: alle Daten (Bilder, Dokumente etc.) der User werden hier gespeichert

*Erstellt man für die Verzeichnisse /usr, /opt, /var und /home keine eigenen Partitionen (wir raten davon ab), werden diese der root-Partition zugeordnet, weshalb in diesem Fall die Grösse der root-Partition entsprechend zu vergrössern wäre.


Nun ist unsere neue Linuxinstallation auf 6 Partitionen und 2 Festplatten verteilt. Manche Distributionen erfordern auch noch eine zusätzliche Bootpartition (/boot) unter Dateisystem ext3 oder FAT, ansonsten bestehen für den Bootvorgang folgende Möglichkeiten:

  • Installation des Bootloaders (Grub oder Lilo) im Master Boot Record (MBR) von /dev/sda: beim Systemstart kann zwischen Windows und Linux gewählt werden. Wohl die einfachste Methode.
     
  • Installation des Bootloaders (Grub oder Lilo) auf einer Diskette: der MBR von /dev/sda/ bleibt unberührt, d.h. beim Booten ohne Diskette startet das Windows-OS mit dem Bootmanager von Windows NT/2000/XP. Grub bzw. Lilo mit der Auswahl Linux zu booten kommt erst mit dem Start von der Diskette ins Spiel
     
  • Installation des Bootloaders (Grub oder Lilo) in die root-Partition (in unserem Bsp.: /dev/sda6). Diese Konfiguration macht dann Sinn, wenn z.B. der Bootmanager von Windows weiter verwendet werden soll (siehe nächsten Punkt) oder Grub/Lilo schon im MBR (im Bsp. sda) installiert ist (z.B. über eine bereits vorhandene Linux-Distri) und das neue System dort eingebunden werden soll (siehe weiter unten).

Verwenden des Bootmanagers von Windows für den Bootmechanismus
(Dies hat den Vorteil, dass der MBR nicht automatisch überschrieben wird)

    • Zuerst benötigen Sie einen Datenträger mit einem Dateisystem, welches Linux beschreiben und Windows auch lesen kann, z.B. eine Diskette oder USB-Stick im FAT-Dateiformat

    • Installieren Sie den Bootloader Grub in die root-Partition und nicht in den MBR (im Bsp. von /dev/sda)

    • nach Installation von Linux, öffnen Sie eine root-shell und mounten die eingelegte Diskette oder USB-Stick (Befehl bei Diskette lautet: mount /media/floppy)

    • Kopieren** Sie nun den Grub-Bootsektor der root-Partition auf die FAT-Diskette oder USB-Stick:
      Befehl bei Diskette: dd if=/dev/ of=/media/floppy/bootsek.lin bs=512 count=1
    • Starten Sie nun Windows und kopieren** die Datei “bootsek.lin” von der Diskette bzw. USB-Stick ins Hauptverzeichnis des Systemlaufwerks (i.d.R. C:)

    • Öffnen Sie die Datei “boot.ini” (ebenfalls im Hauptverzeichnis des Systemlaufwerks), setzen Sie einen Timeout von z.B. 20 Sekunden und fügen sie folgende Zeile am Ende ein:

      c:\bootsek.lin=”SuSE Linux”

      Sollten Sie die Datei “boot.ini” nicht angezeigt bekommen, müssen Sie unter dem Menüpunkt <Extras/Ordneroptionen/Ansicht> zuerst das Häkchen bei <Geschützte Systemdateien ausblenden (empfohlen)> entfernen.

Beim nächsten Booten sollte nun ein Eintrag im Windows-Bootmanager vorhanden sein und zwischen Linux und Windows ausgewählt werden können. Nach Deinstallation von Linux, gibt es keine Bootprobleme mit Windows (d.h. der MBR muss nicht repariert werden) und die Datei “c:\bootsek.lin” sowie die diesbzgl. angefügte Zeile in der c:\boot.ini können wieder gelöscht werden.

**Bitte beachten Sie, dass der Kopiervorgang zu wiederholen ist, sobald Sie die Linux-Datei “/boot/grub/stage2” verändern (z.B. bei einem Update des Grub-Pakets).


Verwenden eines bereits installierten Linux-Bootloaders am Bsp. von Grub
(um diesen beispielsweise um zwei oder mehrere Linux-Boot-Einträge zu erweitern)

Wir gehen von folgendem Beispiel aus: Sie haben bereits ein Windows sowie ein Linux (z.B. Suse 10.x) auf Ihrem Rechner installiert und jetzt soll ein zweites Linux (z.B. openSuse 11.x) hinzukommen. Sie stehen vor dem klassischen Problem, diese Neuinstallation nicht gebootet zu bekommen. Nachstehend eine kleine Hilfestellung dazu.

So sieht die Beispielkonfiguration aus:

  • /dev/sda (Festplatte) --> Grub ist hier bereits im MBR installiert (Boot-Auswahl: Windows/Linux)
    • /dev/sda1 --> enthält Windows (NTFS)
    • /dev/sda2 --> Extended
      • /dev/sda5 --> Swap-Partition (von beiden Linux-Systemen)
      • /dev/sda6 --> enthält Suse 10.0 - Rootpartition / (ReiserFS)
      • /dev/sda7 --> enthält Suse 10.0 - Homepartition /home (ext3)
      • /dev/sda8 --> hier wird neue openSuse 11.0 - Rootpartition installiert (ext3)
      • /dev/sda9 --> hier wird neue openSuse 11.0 - Homepartition installiert (ext3)

Vorgehensweise:

  • Installieren Sie Grub der neuen Suse-Distri in die dazugehörige Root-Partition (im Bsp. sda8) und NICHT in den MBR (im Bsp. sda).
     
  • Nach Installation der neuen Linux-Distri, starten Sie Ihr altes Linux-System (im Bsp. Suse 10.0).
    Im Bootmenü (des bereits vorhandenen Boot-Loaders Grub) wird ohnehin das neue System (noch) nicht zur Auswahl stehen.
     
  • Mounten Sie nun die Root-Partition des neuen Systems (im Bsp. sda8 von openSuse 11.0) im alten System (Suse 10.0) als Root z.B. wie folgt: mount /dev/sda8 /mnt/newlinux
     
  • Kopieren Sie jetzt das Boot-Verzeichnis der neuen Distri in einen Unterverzeichnis des vorhandenen Boot-Verzeichnisses der alten Distri, z.B. so: cp -a /mnt/newlinux/boot /boot/opensuse11
     
  • Die Boot-Konfiguration der neuen Distri ist in der Datei /mnt/newlinux/boot/grub/menu.lst auf sda8 zu finden. Öffnen Sie die Datei mit einem Editor Ihrer Wahl als Root und kopieren die betreffenden Zeilen, in unserem Bsp. sähen diese so aus:

    title openSuse 11.0
         root (hd0, 7)
    -->steht für sda8
         kernel /boot/vmlinuz root=/dev/sda8 vga=791 resume=/dev/sda5 splash=silent showopts
         initrd /boot/initrd
     
  • Öffnen Sie jetzt die wirklich verwendete Konfigurationsdatei des bereits installierten Grub der alten Distri unter /boot/grub/menu.lst und fügen die oben kopierten Zeilen dort als weiteren Boot-Eintrag ein. Modifizieren Sie jetzt die Pfade zu vmlinuz und initrd, in unserem Bsp. wie folgt:

    title openSuse 11.0
         root (hd0, 5)
    -->steht für sda6
         kernel /boot/opensuse11/vmlinuz root=/dev/sda8 vga=791 resume=/dev/sda5   
         splash=silent showopts
         initrd /boot/opensuse11/initrd
     
  • sda8 kann nun wieder ausgehängt werden: umount /mnt/newlinux
     
  • Nach einem Systemneustart sollte jetzt neben “Windows” und “Suse 10.0” der zusätzliche Booteintrag “openSuse 11.0” vorhanden sein und das Starten des neuen Linux-Systems beantandungsfrei funktionieren

Sollte sich die Kernelbezeichnung des neuen Linux unter /boot aufgrund einer Aktualisierung ändern, wäre das Boot-Verzeichnis erneut wie beschrieben zu kopieren und die Grub-menu.lst mit den Pfaden im alten Linux-System zu aktualisieren.

  • Die Boot-Partition des alten Linux-Systems (mit dem gebildeten Unterverzeichnis, im Bsp. /boot/opensuse11) kann als Mountpoint /boot in das neue Linux in der Datei /etc/fstab eingebunden werden. Eine Bearbeitung des Verzeichnisses einschl. Grub-Konfiguration wäre dann auch vom neuen System aus möglich. Dazu folgende Zeile in fstab an zweiter Position einfügen - in unserem Bsp:

    /dev/sda6      /boot          reiserfs        defaults     1 1

Siehe auch folgende Seiten:

Kommentieren