Grub2: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(34 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Installation=
=Allgemein=
 
*[[Grub2 Bios Systemstart]]
Grub wird in den MBR der angeben Festplatte geschrieben: (BSP)
*[[Grub2 Uefi Systemstart]]
grub-install /dev/sda [Achtung, Bootreihenfolge im BIOS/UEFI beachten!]
*[[Grub2 Installation]]
oder auf einer Partition: (BSP)
grub-install --force /dev/sda3


=Konfigurationsdateien=
=Konfigurationsdateien=
==/boot/grub/grub.cfg==
*[[/boot/grub/grub.cfg]]
 
*[[/etc/default/grub]]
Diese Datei ist die generelle Konfigurationsdate von grub. Diese wird nach einem '''"update-grub"''' immer neuerstellt!
*[[Grub2 Reparatur]]
vi /boot/grub/grub.cfg
*[[Shellbefehle]]
 
*[[grub-befehle]]
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.
 
<pre>
        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
        }
</pre>
 
nun ändern in:
 
<pre>
        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
        }
</pre>
 
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.
 
<pre>
# 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"
</pre>
 
: 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=
=How to's=
==Password-Hack==
*[[Linux boot hacking]]
Während der Rechner hochfährt auf folgende Ausgabe achten:
*[[Sytem aus Rescue Shell Booten]]
 
*[[Grub2 chroot]]
[[Image:grub.jpg]]
*[[Grub2 serielle Konsole]]
 
*[[Grub2 Password]]
und wie angegeben ESC drücken.
*[[Grub2 Menu erscheint nicht]]
 
=Desaster Recovery=
Im Grub Menü angekommen nun mit den Pfeiltasten das Betriebssystem auswählen in das man sich hacken möchte:
*[[grub2 /boot/grub/grub.cfg fehlt]]
 
*[[Linux boot hacking]]
[[Image:grub2.jpg]]
*[[Grub2 reinstall]]
 
und wie unten mit "e" auf der Tastatur in das Editionsuntermenü wechseln.
 
[[Image:grub3.jpg]]
 
Hier wechselt man nun auf den Kernel und betätigt ein weiteres mal "e".
 
Nun sieht man ein Eingabefeld das so aussieht:
 
[[Image:grub4.jpg]]
 
'''Achtung Englische Tastatur Einstellung'''
 
In diesem Feld müssen sie jetz
"quiet splash"
mit
"init=/bin/bash"
ersetzen:
 
[[Image: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
 
[[Image:boot1.jpg]]
 
Jetzt mountet man das root Dateisystem lese und schreibbar
 
[[Image:boot2.jpg]]
 
 
eventuell muss mann noch weiter Dateisysteme mounten
 
root@(none):/# mount -a
 
und danach den Befehl
 
[[Image:boot3.jpg]]
 
um das rootpasswort zu ändern.
 
Danach nurnoch:
 
[[Image: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===
=Aufgaben=
[[Aufgaben Booten]]


=Troubleshoot=
=Links=
*http://www.it-muecke.de/grub-rescue

Aktuelle Version vom 29. Januar 2026, 11:05 Uhr