Grub2: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(27 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Installation=
+
=Allgemein=
 
+
*[[Grub2 Systemstart]]
Grub wird in den MBR der angeben Festplatte geschrieben: (BSP)
+
*[[Grub2 EFI]]
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]]
 
+
=Aufgaben=
Im Grub Menü angekommen nun mit den Pfeiltasten das Betriebssystem auswählen in das man sich hacken möchte:
+
[[Aufgaben Booten]]
 
 
[[Image:grub2.jpg]]
 
 
 
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==
 
===Kein RAID/normale Partitionen===
 
 
 
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=
+
=Links=
 +
*http://www.it-muecke.de/grub-rescue

Aktuelle Version vom 27. Juni 2023, 18:18 Uhr