Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:bootloader

Bootloader

Kernel Bootparameter ändern

Z.B. Kernel Argument nomodeset setzen:

grub2-mkconfig

openSuSE 12.3

/etc/default/grub :

Zeile GRUB_CMDLINE_LINUX_DEFAULT anpassen

/boot/grub2/grub.cfg neu erstellen:

grub2-mkconfig --output=/boot/grub2/grub.cfg

debian (ab 6.0) ubuntu (14.04)

/etc/default/grub :

Zeile GRUB_CMDLINE_LINUX_DEFAULT anpassen

/boot/grub/grub.cfg neu erstellen:

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

grubby

CentOS (bis 7)

Anzeigen der Konfiguration des Bootmanagers

grubby --info=ALL

Eine Option zum Default-Kernel hinzufügen (hier: SELinux ausschalten)

grubby --args="enforcing=0" --update-kernel="$(grubby --default-kernel)"

Optionen vom Default-Kernel entfernen (hier: Unterdrückung der Kernel-Meldungen ausschalten)

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

/etc/default/grub
…
GRUB_ENABLE_BLSCFG=false
…

gesetzt ist. 1)

grub2

Grub2 in den MBR installieren

CentOS 7

yum install grub2

Debian (ab 6.0) Ubuntu (ab 14.04)

apt-get install grub-pc
update-grub2
grub-install /dev/sda

openSuSE 12.2

update-bootloader
grub2-install /dev/sda

Grub2 mit Passwort absichern

Root Passwort ändern

Grub Bootprompt: init=/bin/bash als Parameter zum Linux Kernel hinzufügen, evtl. ro, quiet und splash=silent entfernen. 2)

Kernel mit strg+x booten

mount -o remount,rw /
passwd

bei Systemem mit SELinux

exec /sbin/init

Grub absichern

3)

Passwort-Hash erzeugen

CentOS (ab 7), Rocky, openSuSE Leap (ab 15.1):

grub2-mkpasswd-pbkdf2

Debian (ab 7), Ubuntu (ab 14.04):

grub-mkpasswd-pbkdf2
Grub-Configdatei mit Passwort Hash anlegen
/etc/grub.d/45_password
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.FF73A777C6793E117430446F4D12F00D25DA53515B5048B1DAAA0688743550226CD05AD661EBDCA2AA1997AEBDC0C35C74CA48C9309FBED1C201C5875E3AD2E8.292A1642CB109860054562756A5AE950975B586A8DFDE535F566D1ADDCC6747349406E84862FFD9258F64268A36E63EF25A41A3CC0CD6291E63D98CEDDF00FE6
chmod +x /etc/grub.d/45_password

Alternativ einfach in /boot/grub/custom.cfg (in diesem Fall muss danach kein update-grub ausgeführt werden):

/boot/grub/custom.cfg
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.FF73A777C6793E117430446F4D12F00D25DA53515B5048B1DAAA0688743550226CD05AD661EBDCA2AA1997AEBDC0C35C74CA48C9309FBED1C201C5875E3AD2E8.292A1642CB109860054562756A5AE950975B586A8DFDE535F566D1ADDCC6747349406E84862FFD9258F64268A36E63EF25A41A3CC0CD6291E63D98CEDDF00FE6
Auswahl ermöglichen, editieren absichern (Standard auf Rocky)
/etc/grub.d/10_linux
...
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
...
grub Konfigurationsdatei neu erzeugen

Für BIOS-Systeme:

Debian (ab 6), Ubuntu (ab 14.04):

grub-mkconfig -o /boot/grub/grub.cfg
# oder
update-grub

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

Debian (ab 6), Ubuntu (14.04), CentOS (ab 7):

grep -E 'superusers|password_pbkdf2' /boot/grub*/grub.cfg
reboot

Doku

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 in den MBR installieren

Debian

grub-install /dev/sda

oder

grub
device (hd0) /dev/sda
root (hd0,0)
setup (hd0)
quit
update-grub

SuSE

grub-install /dev/sda

oder

grub
device (hd0) /dev/sda
root (hd0,0)
setup (hd0)
quit

Neuen Kernel testen

System rebooten, und einmalig den 3. Eintrag ( grub fängt bei 0 an zu zählen … ) aus /boot/grub/menu.lst verwenden:

SuSE:

grubonce 2

Debian:

grub-reboot 2

Grub mit Passwort absichern

Root Passwort ändern

Grub Bootprompt: init=/bin/bash hinzufügen

Kernel mit b booten

mount -o remount,rw /
passwd
mount -o remount,ro /
exec /sbin/init

Grub absichern

/sbin/grub-md5-crypt

/boot/grub/menu.lst :

password --md5 $1$ZkniA/$2EBU5eSONAj.i2KIhhtWA0

Bootloader im MBR löschen

dd if=/dev/zero of=/dev/sda bs=$((512-64)) count=1
2)
siehe
man bootparam 
3)
Weitere Absicherungsmöglichkeiten:
http://0pointer.net/blog/unlocking-luks2-volumes-with-tpm2-fido2-pkcs11-security-hardware-on-systemd-248.html
lpi1/bootloader.txt · Zuletzt geändert: 2024/10/10 13:11 (Externe Bearbeitung)