Grub2: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
*http://www.it-muecke.de/grub-rescue
+
=Allgemein=
 
 
 
*[[Grub2 Systemstart]]
 
*[[Grub2 Systemstart]]
 
*[[Grub2 EFI]]
 
*[[Grub2 EFI]]
Zeile 8: Zeile 7:
 
*[[/boot/grub/grub.cfg]]
 
*[[/boot/grub/grub.cfg]]
 
*[[/etc/default/grub]]
 
*[[/etc/default/grub]]
 
+
*[[Grub2 Reparatur]]
*[[/etc/grub.d/]]
+
*[[Shellbefehle]]
 
+
*[[grub-befehle]]
=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=
 
 
 
grub-install
 
 
Erstellt die Datei grub.cfg und damit die Konfiguration für das GRUB-2-Auswahlmenü
 
update-grub
 
 
Setzt den Standard-Eintrag im GRUB-2-Auswahlmenü einmalig für das nächste Starten des Rechners.
 
grub-reboot
 
 
Setzt den Standard-Eintrag im GRUB-2-Auswahlmenü.
 
grub-set-default
 
 
Arbeitet wie update-grub, gibt die Konfiguration aber ohne Verwendung von Optionen nur zur Kontrolle im Terminal aus, erlaubt aber auch, die Konfiguration in eine andere Datei als die grub.cfg zu schreiben.
 
grub-mkconfig
 
-o, --output=<Datei> Wird diese Option angegeben, so wird die Konfiguration in die unter <Datei> angegebene Datei geschrieben.
 
 
 
Erstellt einen Schlüssel zum Sperren der Bearbeitung des Grub-Menüs insgesamt sowie der Auswahl einzelner Menüpunkte zur Laufzeit.
 
grub-mkpasswd-pbkdf2
 
-c Zahl Wird diese Option angegeben, so wird damit die maximale Anzahl von Fehlversuchen gesetzt.
 
-l Zahl Die Standardlänge des Schlüssels ist ohne Option 64-Byte - mit Option kann man diesen auf den angegebenen Wert begrenzen (nicht empfohlen, siehe auch Hinweis *)
 
-s Zahl Die Standardlänge der Zufallsbasis (salted hash) ist ohne Option 64-Byte - hiermit kann man diese auf den angegebenen Wert begrenzen (nicht empfohlen, siehe auch Hinweis *)
 
  
 
=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]]
 +
*[[Grub2 serielle Konsole]]
 +
*[[Grub2 Password]]
 +
*[[Grub2 Menu erscheint nicht]]
 +
=Aufgaben=
 +
[[Aufgaben Booten]]
  
[[Image:grub.jpg]]
+
=Links=
 
+
*http://www.it-muecke.de/grub-rescue
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:
 
 
 
[[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.
 
 
 
== Sytem aus Rescue Shell Booten ==
 
set prefix=(hd0,0)/boot/grub              # Setze Pfad zu GRUB config
 
set root=(hdX,Y)                          # setze root partition
 
insmod normal                            # versuche das ''normal'' Modul zu laden
 
normal                                    # aktiviere das ''normal'' Modul. Wenn alles klappt sollte das GRUB2 Menü erscheinen
 
set                                      # zeige aktuelle Einstellungen
 
 
 
; Linux
 
set root=(hdX,Y)                          # setze root partition (falls nicht schon geschehen)
 
ls /boot                                  # suche die vmlinuz und initrd Einträge
 
insmod linux                              # Bei einer Fehlermeldung sollte der Pfad korrigiert werden
 
linux /boot/vmlinuz root=/dev/sdXY ro    # Nutze Kernel '''/boot/vmlinuz'''
 
initrd /boot/initrd.img                  # Nutze initram '''/boot/initrd.img'''
 
boot                                      # Boote mit angegebenem Kernel und Initram
 
 
 
== alte GRUB config laden ==
 
insmod legacycfg
 
legacy_configfile /path/to/menu.lst
 
 
 
=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==
 
Die chroot-Methode verwendet man immer dann, wenn man nur oder auch die grub.cfg neu erstellen lassen will. Außerdem sollte sie immer bei komplizierteren Systemkonstellationen wie LUKS- oder LV-Partitionen sowie Raid-Verbunden und beim Wiederherstellen des Bootloaders eines Dualboot-Systems angewendet werden.
 
 
 
===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 -o 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==
 
Die Root-Directory-Methode kann man immer dann wählen, wenn man sicher ist, dass die Datei grub.cfg richtig ist und GRUB 2 nur deswegen nicht richtig startet, weil er nicht oder nicht mehr bzw. nicht mehr richtig im Bootsektor oder dem MBR der betreffenden Festplatte installiert ist. Diese Situation hat man z.B. stets, '''nachdem Windows nach Ubuntu auf dem System installiert wurde'''. Diese Methode erfordert zwar weniger Einzelschritte, ist dabei aber auch weniger flexibel und erlaubt nicht so viele Reparaturoptionen wie die chroot-Methode.
 
 
 
Bei dieser Variante wird GRUB 2 einfach in einem Terminal[2] von der Desktop-CD mittels des GRUB-2-Skripts grub-install erneut auf der Festplatte installiert:
 
 
 
1. Desktop-Image laden
 
2. Root-Partition mounten
 
sudo mount /dev/sdXY /mnt
 
3. 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
 
 
 
4. Devices von USB/CD einbinden Live-System
 
sudo mount --bind /dev/ /mnt/dev
 
5. grub installieren
 
GRUB 1.98 und vorher (bis Maverick Meerkat):
 
sudo grub-install --root-directory=/mnt /dev/sdX
 
GRUB 1.99 und später:
 
sudo grub-install --boot-directory=/mnt/boot /dev/sdX
 
sudo update-grub
 
 
 
*[[Grub2 serielle Konsole]]
 

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