Grub2

Aus xinux.net
Zur Navigation springen Zur Suche springen

Installation

Grub wird in den MBR der angeben Festplatte geschrieben: (BSP)

grub-install /dev/sda [Achtung, Bootreihenfolge im BIOS/UEFI beachten!]

oder auf einer Partition: (BSP)

grub-install --force /dev/sda3

Konfigurationsdateien

/boot/grub/grub.cfg

Diese Datei ist die generelle Konfigurationsdate von grub. Diese wird nach einem "update-grub" immer neuerstellt!

vi /boot/grub/grub.cfg

Um die Reihenfolge zu ändern, müssen dor tide "Menuentry's" geändert werden: Grub wird es von oben nach unten anzeigen. Beispiel: Im Moment ist der Booteintrag mit der "Wiederherstellungskonsole" an zweiter Stelle. Deshalb wird dieser Eintrag ausgeschnitten und über den ersten eingefügt.

        menuentry 'Ubuntu, mit Linux 3.5.0-36-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.0-36-generic-advanced-3daa1a20-ab97-4eb8-84e3-137a1743bafd' {
        recordfail
                gfxmode $linux_gfx_mode
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  3daa1a20-ab97-4eb8-84e3-137a1743bafd
                else
                  search --no-floppy --fs-uuid --set=root 3daa1a20-ab97-4eb8-84e3-137a1743bafd
                fi
                echo    'Linux 3.5.0-36-generic wird geladen …'
                linux   /boot/vmlinuz-3.5.0-36-generic root=UUID=3daa1a20-ab97-4eb8-84e3-137a1743bafd ro   
                echo    'Initiale Ramdisk wird geladen …'
                initrd  /boot/initrd.img-3.5.0-36-generic
        }
        menuentry 'Ubuntu, mit Linux 3.5.0-36-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.0-36-generic-recovery-3daa1a20-ab97-4eb8-84e3-137a1743bafd' {
        recordfail
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  3daa1a20-ab97-4eb8-84e3-137a1743bafd
                else
                  search --no-floppy --fs-uuid --set=root 3daa1a20-ab97-4eb8-84e3-137a1743bafd
                fi
                echo    'Linux 3.5.0-36-generic wird geladen …'
                linux   /boot/vmlinuz-3.5.0-36-generic root=UUID=3daa1a20-ab97-4eb8-84e3-137a1743bafd ro recovery nomodeset 
                echo    'Initiale Ramdisk wird geladen …'
                initrd  /boot/initrd.img-3.5.0-36-generic
        }

nun ändern in:

 
        menuentry 'Ubuntu, mit Linux 3.5.0-36-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.0-36-generic-recovery-3daa1a20-ab97-4eb8-84e3-137a1743bafd' {
        recordfail
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  3daa1a20-ab97-4eb8-84e3-137a1743bafd
                else
                  search --no-floppy --fs-uuid --set=root 3daa1a20-ab97-4eb8-84e3-137a1743bafd
                fi
                echo    'Linux 3.5.0-36-generic wird geladen …'
                linux   /boot/vmlinuz-3.5.0-36-generic root=UUID=3daa1a20-ab97-4eb8-84e3-137a1743bafd ro recovery nomodeset 
                echo    'Initiale Ramdisk wird geladen …'
                initrd  /boot/initrd.img-3.5.0-36-generic
        }
        menuentry 'Ubuntu, mit Linux 3.5.0-36-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.0-36-generic-advanced-3daa1a20-ab97-4eb8-84e3-137a1743bafd' {
        recordfail
                gfxmode $linux_gfx_mode
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  3daa1a20-ab97-4eb8-84e3-137a1743bafd
                else
                  search --no-floppy --fs-uuid --set=root 3daa1a20-ab97-4eb8-84e3-137a1743bafd
                fi
                echo    'Linux 3.5.0-36-generic wird geladen …'
                linux   /boot/vmlinuz-3.5.0-36-generic root=UUID=3daa1a20-ab97-4eb8-84e3-137a1743bafd ro   
                echo    'Initiale Ramdisk wird geladen …'
                initrd  /boot/initrd.img-3.5.0-36-generic
        }

Nach dieser Änderung ist kein update-grub erforderlich!

/etc/default/grub

Diese Datei ist von einem "update-grub" nicht betroffen. Diese bleibt bestehen...

vi /etc/default/grub

Hier eine Beispielkonfigurationsdatei, Die Kommentare über den Parametern beschreiben die Bedeutung.

# Welcher Menüeintrag in /boot/grub/grub.cfg soll standardmäßig gebootet werden? [0 bedeutet erster Eintrag]
GRUB_DEFAULT=0

# Ein Zahlenwert > 0 gibt die Zeit in Sekunden an, bis der Bootvorgang ohne Anzeige des Auswahlmenü ausgeführt wird. Mit der Umschalt-Taste kann das Auswahlmenü innerhalb der eingestellten Zeitspanne sichtbar gemacht werden.
#GRUB_HIDDEN_TIMEOUT=0

# Wenn dieser Wert auf ´false´ gesetzt, so wird nur der unter GRUB_HIDDEN_TIMEOUT eingestellte Wert auf dem Monitor als Countdown angezeigt. Mit der  ⇧ -Taste kann das Auswahlmenü innerhalb der Zeitspanne sichtbar gemacht werden.
GRUB_HIDDEN_TIMEOUT_QUIET=true

# Ein Zahlenwert gibt die Zeit in Sekunden an, wie lange das Auswahlmenü angezeigt wird, bevor der Standard-Eintrag geladen wird. 
GRUB_TIMEOUT=2

# Generiert Hinweise zur aktuellen Distribution. Bei einer Installationen im BIOS-Modus sollte man hier keine Korrekturen vornehmen.
# Bei einer Installationen im EFI-Modus wird hier die aktuelle Distribution ausgelesen. Man kann hier einen selektiven Eintrag für das EFI-Menü erstellen.
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

#Die Variablen sind für die Übergabe von Kernel-Bootoptionen reserviert und werden bei den Images aus dem Verzeichnis /boot angewendet:
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""


# Durch Unkommentieren wird der grafische Modus komplett abgeschaltet 
#GRUB_TERMINAL=console

# Standardauflösung des Grub-Menüs
#GRUB_GFXMODE=640x480

# Normalerweise übergibt GRUB 2 die Root-Partition mittels UUID an den zu startenden Linux-Kernel. Durch Unkommentieren kann man GRUB 2 dazu veranlassen, dies per Device-Nummerierung (/dev/sdXX) zu machen.
#GRUB_DISABLE_LINUX_UUID=true

# Nach Unkommentieren und setzen auf true werden alle Recovery-Kernel-Einträge im Auswahlmenü deaktiviert.
#GRUB_DISABLE_RECOVERY="true"

# Unkommentieren für einen Signalton beim Starten
#GRUB_INIT_TUNE="480 440 1"
Hier zum nachlesen: http://wiki.ubuntuusers.de/GRUB_2/Konfiguration

/etc/grub.d/

Reparatur

GRUB 2 erneut in den MBR der Festplatte installieren

sudo grub-setup /dev/sdX 

GRUB 2 vollständig neu installieren

sudo grub-install /dev/sdX 

GRUB 2 Pakete reinstallieren

sudo apt-get update 

BIOS-Installation

sudo apt-get --reinstall install grub-common grub-pc os-prober 

EFI-Installation

sudo apt-get --reinstall install grub-common grub-efi-amd64 os-prober 

Konfigurationsdatei neu erstellen/aktualisieren

sudo update-grub 

Eine zusätzliche Konfigurationsdatei erstellen

Die aktuelle Konfiguration für das Auswahl-Menü ermitteln und in eine frei definierbare Datei speichern - die Datei grub.cfg bleibt dabei unverändert (mehr zu grub-mkconfig):

sudo grub-mkconfig --output=/boot/grub/meine.cfg 

schreibt die aktuelle Konfiguration in die Datei meine.cfg im Verzeichnis /boot/grub, die Datei kann dabei an die eigenen Bedürfnisse angepasst werden.

Shellbefehle

How to's

Password-Hack

Während der Rechner hochfährt auf folgende Ausgabe achten:

Grub.jpg

und wie angegeben ESC drücken.

Im Grub Menü angekommen nun mit den Pfeiltasten das Betriebssystem auswählen in das man sich hacken möchte:

Grub2.jpg

und wie unten mit "e" auf der Tastatur in das Editionsuntermenü wechseln.

Grub3.jpg

Hier wechselt man nun auf den Kernel und betätigt ein weiteres mal "e".

Nun sieht man ein Eingabefeld das so aussieht:

Grub4.jpg

Achtung Englische Tastatur Einstellung

In diesem Feld müssen sie jetz

"quiet splash" 

mit

"init=/bin/bash" 

ersetzen:

Grub5.jpg

und mit Enter bestätigen, dann kommen sie wieder auf das vorherige Editionsmenü.

In diesem jetz einfach nurnoch "b" drücken um zu booten.

Nach dem Booten

Das booten sollte eine relativ kurze Zeit dauern und danach müssten sie ein Eingabefeld haben das so aussieht

Boot1.jpg

Jetzt mountet man das root Dateisystem lese und schreibbar

Boot2.jpg


eventuell muss mann noch weiter Dateisysteme mounten

root@(none):/# mount -a

und danach den Befehl

Boot3.jpg

um das rootpasswort zu ändern.

Danach nurnoch:

Boot4.jpg

Und Geschafft

Beim nächsten Start des Rechners kann man sich mit seinem neu gesetzten Passwort als root anmelden

chroot

normales Desktop Image

1. Root-Partition mounten

sudo mount /dev/sdXY /mnt 

2. (OPTIONAL) Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls vorab eingehängt werden:

sudo mount /dev/sdXY /mnt/boot 

Nutzt man auf seinem Rechner das "(U)EFI"-Bootverfahren, so muss die relevante Bootpartition vorab eingehängt werden mit:

sudo mount /dev/sdXY /mnt/boot/efi 

3. Vorbereitung und Wechsel in die chroot-Umgebung:

sudo mount -o bind /dev /mnt/dev 
sudo mount -o bind /sys /mnt/sys 
sudo mount -t proc /proc /mnt/proc 
sudo cp /proc/mounts /mnt/etc/mtab 
sudo chroot /mnt /bin/bash 

4. grub installieren:

grub-install /dev/sdX 
(evtl.: grub-install --recheck /dev/sdX) 
update-grub 

5. chroot-Umgebung verlassen und neustarten

RAID

1.Desktop-CD booten und mdadm-Tools installieren:

sudo apt-get install mdadm 
sudo mdadm --assemble --scan 

2.Einhängen der Systempartition:

sudo mount /dev/mdX /mnt 
sudo mdadm --examine --scan 

3.(Optional) Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls eingehängt werden:

sudo mount /dev/mdX /mnt/boot 

4.Wechsel in die chroot-Umgebung:

sudo mount -o bind /dev /mnt/dev 
sudo mount -o bind /sys /mnt/sys 
sudo mount -t proc /proc /mnt/proc 
sudo cp /proc/mounts /mnt/etc/mtab 
sudo chroot /mnt /bin/bash 

5.grub installieren

grub-install /dev/sdX 

Installation auf allen teilnehmenden Platten (/dev/sda, /dev/sdb ...) empfohlen!

update-grub 

6. chroot-Umgebung verlassen und neustarten

Root-Directory

Troubleshoot