Diese Notfallwerkzeuge sollte Jeder in seiner CD Tasche haben:
- SuperGrub
- Live CD
- Distribution auf USB Stick
Sicherungserstellung
Es ist klug eine Sicherung der Kernel-Konfiguration zu erstellen. Immerhin verwenden viele Nutzer beträchtlich Zeit um die beste Konfiguration für ein System herauszufinden. Diese Information zu verlieren ist sicherlich nicht erwünscht.
Es ist leicht eine Sicherung der aktuellen Kernel-Konfiguration zu erstellen:
localhost # cd /usr/src/linux localhost # cp .config ~/kernel-config-`uname -r`
Vorausgesetzt dass der Symlink zu den Kernelquellen korrekt gesetzt ist, kopiert dies die Konfiguration des aktuell verwendeten Kernel in das Heimatverzeichnis von Root. Außerdem benennt es die Konfiguration in kernel-config- gefolgt von der Version des aktuell laufenden Linux Kernel um.
Notfall-Zugriff über #chroot
Root Passwort vergessen? Das ist ärgerlich! Kann durch das Booten über eine Live-CD und einem chroot geändert werden.
Eine gute Möglichkeit von Aktionen auf einem System ohne erfolgreichem Direktzugriff ist die Verwendung des chroot Kommandos. chroot steht für „change root“ und ist eine Funktion unter Unix-Systemen, um das Rootverzeichnis zu ändern. So kann von einem virtuellen Laufwerk auf dem System, dass Probleme macht, gearbeitet werden. Der Kernel muss bereits kompiliert und aufrufbar sein.
Im Prinzip kann über jede Distribution als Live-System genutzt werden. Die Distributionsspezifischen sind dennoch empfehlenswert.
Links zu Live-Distributionen:
Gentoo https://gentoo.de/downloads/index.html
Ubuntu: https://www.ubuntu.com/download/desktop
Anleitung zum chroot
Als erstes eine Live-CD von einem iso erstellen.
Die Live-CD booten.
Die chroot Befehle unterscheiden sich zum Beispiel durch Kernel bzw. Kernelversionen Ein Vorteil ist die Verwendung der Tabulator – Taste. Das System zeigt die Möglichkeiten an und falls nur eine vorliegt wird diese automatisch vervollständigt.
Nun wird die Hauptpartition, auf die gewechselt werden soll, eingebunden. Die Angaben der Partition /dev/sdxY müssen mit dem Gerätenamen angepasst werden. Ein Beispiel für eine Partitionsangabe ist /dev/sda1
live-cd# mount /dev/sdxY /mnt/
bzw. bei einem btrfs-formatierten System:
live-cd # mount -o subvol=@ /dev/sdxY /mnt
Vor dem Wechsel in das installierte System muss gegebenenfalls diesem der Zugriff auf wichtige Systeminformationen zugesichert werden. Man bindet dazu das Verzeichnis mit den Gerätedateien /dev innerhalb des installierten Systems ein:
live-cd # mount --rbind /dev /mnt/dev
Ähnlich verfährt man mit dem Schnittstellendateisystem /proc und dem System-Verzeichnis /sys. Diese werden mit
live-cd # mount --rbind /sys /mnt/sys live-cd #mount -t /proc none /mnt/proc
eingebunden. Die Netwerk- bzw. DNS Konfiguration kann kopiert werden.
live-cd# cp /etc/resolv.conf /mnt/etc
Nun das System wechseln:
live-cd# sudo chroot /mnt /bin/bash localhost # passwd Geben Sie ihr neues Passwort ein localhost # reboot
Ist dies erfolgreich können Befehle zur Diagnose / Konfigurationsanpassung auf der Partition eingegeben werden. Zum Beispiel auch den Befehl passwd . Über diesen kann man ein neues Root-Kennwort festlegen.
MBR zerschossen?
Bitte beachten: Änderungen am MBR können Schaden verursachen!
Über eine Windows CD kann über bootrec.exe ein MBR resettet werden.
https://support.microsoft.com/de-de/help/927392/use-bootrec-exe-in-the-windows-re-to-troubleshoot-startup-issues
Wenn über eine CD ein bestehendes System gebootet werden soll ist SuperGrub eine tolle Anwendung.
Ein Download ist über https://www.supergrubdisk.org/super-grub2-disk/ möglich. Durch Auswahl von Detect and show boot methods wird nach Systemen und efi Einträgen gesucht.
In einem bestehenden Linux-System kann über das Tool os-prober nach Betriebssystemen suchen. Es muss in einigen Distributionen wie Gentoo allerdings erst installiert werden.
here /boot/grub # emerge -av os-prober
setlocale: unsupported locale setting
* IMPORTANT: 15 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-fs/fuse-common-3.9.1::gentoo 1.558 KiB
[ebuild N ] sys-fs/fuse-2.9.9-r1::gentoo USE="-examples -static-libs" 1.771 KiB
[ebuild R ] sys-boot/grub-2.04-r1:2/2.04-r1::gentoo USE="fonts mount* nls sdl themes truetype -device-mapper -doc -efiemu -libzfs (-test)" GRUB_PLATFORMS="efi-64 pc -coreboot -efi-32 -emu -ieee1275 -loongson -multiboot -qemu -qemu-mips -uboot -xen -xen-32 -xen-pvh" 0 KiB
[ebuild N ] sys-boot/os-prober-1.77::gentoo 27 KiB
Total: 4 packages (3 new, 1 reinstall), Size of downloads: 3.355 KiB
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by sys-boot/os-prober-1.77::gentoo
# required by os-prober (argument)
>=sys-boot/grub-2.04-r1 mount
Would you like to add these changes to your config files? [Yes/No]
Um Windows bzw. das Dateiformat NTFS lesen zu können muss ausserdem das Tool sys-fs/ntfs3g installiert werden.
here /boot/grub # os-prober
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
/dev/sda1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
here /boot/grub #
In diesem Beispiel wurde nur der Bootmanager von Windows noch erkannt. Es ist natürlich möglich verschiedene Distributionen und Windows paralell zu installieren.