Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:bootloader

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:bootloader [2019/11/09 21:46]
ingo_wichmann
admin_grundlagen:bootloader [2024/04/17 12:37] (aktuell)
natureshadow2 [Grub2 mit Passwort absichern] custom.cfg an der richtigen Stelle
Zeile 20: Zeile 20:
  
 ==== grubby ==== ==== grubby ====
-=== centos ​(ab 7) ===+=== CentOS ​(bis 7) ===
 Anzeigen der Konfiguration des Bootmanagers Anzeigen der Konfiguration des Bootmanagers
   grubby --info=ALL   grubby --info=ALL
Zeile 30: Zeile 30:
   grubby --remove-args="​rhgb quiet" --update-kernel="​$(grubby --default-kernel)"​   grubby --remove-args="​rhgb quiet" --update-kernel="​$(grubby --default-kernel)"​
  
 +=== CentOS (8) === 
 +Unter Centos 8 aktualisiert ''​grubby''​ nur noch die Konfigurationsdateien von Fedoras Variante der BootLoaderSpec (BLS) in ''/​boot/​loader/​entries''​. Das bedeutet, dass die Änderungen keine Auswirkung haben, wenn 
 +<file txt /​etc/​default/​grub>​ 
 +… 
 +GRUB_ENABLE_BLSCFG=false 
 +… 
 +</​file>​ 
 +gesetzt ist. (( siehe auch https://​fedoraproject.org/​wiki/​Changes/​BootLoaderSpecByDefault ))
 ===== grub2 ===== ===== grub2 =====
 ==== Grub2 in den MBR installieren ==== ==== Grub2 in den MBR installieren ====
Zeile 47: Zeile 54:
 ==== Grub2 mit Passwort absichern ==== ==== Grub2 mit Passwort absichern ====
 === Root Passwort ändern === === Root Passwort ändern ===
-Grub Bootprompt: ''​init=/​bin/​bash''​ als Parameter zum Linux Kernel hinzufügen+Grub Bootprompt: ''​init=/​bin/​bash''​ als Parameter zum Linux Kernel hinzufügen, evtl. ''​ro'',​ ''​quiet''​ und ''​splash=silent''​ entfernen. (( siehe 
 +  man bootparam  
 +))
  
 Kernel mit ''​strg+x''​ booten Kernel mit ''​strg+x''​ booten
Zeile 54: Zeile 63:
   passwd   passwd
  
 +++++ bei Systemem mit SELinux |
   touch /​.autorelabel   touch /​.autorelabel
 +++++
  
-((nur bei Systemen mit aktiviertem SELinux notwendig)) 
- 
-  mount -o remount,ro / 
   exec /sbin/init   exec /sbin/init
  
 === Grub absichern === === Grub absichern ===
-== Passwort Hash erzeugen == +(( Weitere Absicherungsmöglichkeiten:​ 
-Debian 6, CentOS 7:+  http://​0pointer.net/​blog/​unlocking-luks2-volumes-with-tpm2-fido2-pkcs11-security-hardware-on-systemd-248.html 
 +)) 
 + 
 +== Passwort-Hash erzeugen == 
 +CentOS ​(ab 7), Rocky, openSuSE Leap (ab 15.1):
   grub2-mkpasswd-pbkdf2   grub2-mkpasswd-pbkdf2
  
Zeile 69: Zeile 81:
   grub-mkpasswd-pbkdf2   grub-mkpasswd-pbkdf2
  
-== Passwort Hash eintragen ​==+== Grub-Configdatei mit Passwort Hash anlegen ​==
 <file txt /​etc/​grub.d/​45_password>​ <file txt /​etc/​grub.d/​45_password>​
 #!/bin/sh #!/bin/sh
Zeile 82: Zeile 94:
   chmod +x /​etc/​grub.d/​45_password   chmod +x /​etc/​grub.d/​45_password
  
-== grub Konfigurationsdatei neu erzeugen == +Alternativ einfach in /boot/grub/custom.cfg (in diesem Fall muss danach kein update-grub ausgeführt werden):
-Debian (ab 6), Ubuntu (14.04): +
-  grub-mkconfig -o /boot/grub/grub.cfg+
  
-CentOS (7): +<file txt /boot/grub/custom.cfg> 
-  grub2-mkconfig -o /boot/grub2/grub.cfg +set superusers="root
-oder +password_pbkdf2 root grub.pbkdf2.sha512.10000.FF73A777C6793E117430446F4D12F00D25DA53515B5048B1DAAA0688743550226CD05AD661EBDCA2AA1997AEBDC0C35C74CA48C9309FBED1C201C5875E3AD2E8.292A1642CB109860054562756A5AE950975B586A8DFDE535F566D1ADDCC6747349406E84862FFD9258F64268A36E63EF25A41A3CC0CD6291E63D98CEDDF00FE6 
-  grub2-mkconfig -o "$(readlink -e /​etc/​grub2.conf)+</file>
-oder für UEFI-Systeme:​ +
-  ​grub2-mkconfig -o "​$(readlink -e /etc/​grub2-efi.cfg)"​+
  
-== Auswahl ermöglichen,​ editieren absichern ==+== Auswahl ermöglichen,​ editieren absichern ​(Standard auf Rocky)==
 <file txt /​etc/​grub.d/​10_linux>​ <file txt /​etc/​grub.d/​10_linux>​
 ... ...
Zeile 99: Zeile 107:
 ... ...
 </​file>​ </​file>​
 +
 +== grub Konfigurationsdatei neu erzeugen ==
 +Für BIOS-Systeme:​
 +
 +Debian (ab 6), Ubuntu (ab 14.04):
 +  grub-mkconfig -o /​boot/​grub/​grub.cfg
 +
 +CentOS (ab 7), Rocky, openSuSE (ab Leap 15.1):
 +  grub2-mkconfig -o /​boot/​grub2/​grub.cfg
 +
 +Für UEFI-Systeme:​
 +
 +Debian, Ubuntu, openSuSE: wie bei BIOS-Systemen
 +
 +CentOS (8)
 +  grub2-mkconfig -o /​boot/​efi/​EFI/​centos/​grub.cfg
 +
 +Rocky
 +    grub2-mkconfig -o /​boot/​efi/​EFI/​rocky/​grub.cfg
  
 == testen == == testen ==
-Debian (ab 6), Ubuntu (14.04)+Debian (ab 6), Ubuntu (14.04)CentOS (ab 7): 
-  grep password /​boot/​grub/​grub.cfg +  grep -E '​superusers|password_pbkdf2' ​/boot/grub*/grub.cfg
-  reboot +
-CentOS (7): +
-  grep password ​/boot/grub2/grub.cfg+
   reboot   reboot
  
Zeile 111: Zeile 135:
   * https://​www.gnu.org/​software/​grub/​manual/​html_node/​Security.html   * https://​www.gnu.org/​software/​grub/​manual/​html_node/​Security.html
  
 +==== Grub2 ohne Konfigurationsdatei von Hand starten ====
 +Notfall: der Rechner bootet nicht, sondern begrüßt uns mit einem freundlichen ''​grub>​ _''​
 +
 +Weist Du noch, welche Dateisysteme Dein System verwendet? (Im Zweifel einfach alle Dateisystem-Module laden)
 +  insmod ext2
 +  insmod xfs
 +
 +Welche Storage Verwaltung verwendet Dein System? (Im Zweifel einfach alle laden)
 +  insmod lvm
 +  insmod mdraid09
 +  insmod mdraid1x
 +
 +Laufwerke anzeigen, die grub jetzt sieht:
 +  ls
 +
 +Partition/​Laufwerk finden, auf dem Kernel (''​vmlinuz…''​) und Initrd liegen. Tab-Taste hilft ...
 +  ls (hd0,​msdos1)/​
 +
 +Grub-root setzen:
 +  set root=(hd0,​msdos1)
 +
 +Partition/​Laufwerk finden, auf dem das Linux root-Dateisystem liegt (''​etc/'',​ ''​bin/'',​ …). Tab-Taste hilft ...
 +  ls (lvm/​centos-root)/​
 +
 +Kernel zum Boot vorbereiten:​
 +  linux /​vmlinuz-… root=/​dev/​mapper/​centos-root ro
 +
 +Initrd zum Boot vorbereiten:​
 +  initrd /​initramfs-…
 +
 +Booten:
 +  boot
 ===== grub ===== ===== grub =====
 ==== Grub in den MBR installieren ==== ==== Grub in den MBR installieren ====
admin_grundlagen/bootloader.1573335995.txt.gz · Zuletzt geändert: 2019/11/09 21:46 von ingo_wichmann