orm@doc-tcpip.org | Erstellt: März 2015 - Letzte Modifikation: März 2015 |
Ich habe ein Linux-System (hier RedHat) mit einer per LUKS verkrypteten Platte. Aufgrund eines Updates bootet das System nicht mehr durch.
Das System bootet normalerweise im graphischen Modus. Da kommt man raus, wenn man ESCAPE drückt. Man kann dann in der Textausgabe sehen, wo es hängt. Bei mir war das hier:
Starting mdmonitor: libtsocks: Unresolved symbol: closed
Ich habe ein File /etc/ld.so.preload, indem ich diese Library laden lasse - von allen Programmen, die dieses File auswerten. Mit dieser Library scheint es jetzt ein Problem zu geben. Ich muss also irgendwie das root-FS mounten, und das File einfach umbenenne, dann sollte alles gehen.
Im Bootlog hatte ich gesehen, dass die Platte und die VG korrekt erkannt und entschlüsselt wurde. Es sollte also simpel sein, ein Maintenance Boot zu machen und händisch zu mounten
Erste Idee war, den Boot gleich im GRUB Menu abzubrechen, und dort den Befehlsaufruf so zu verändern, das er in ein passendes Runlevel bootet. Das macht man eigentlich, indem man im GRUB Fenster 'e' tippt und dann am Ende der Befehlszeile beim 'init' den Runlevel angibt und damit bootet.
Das ging bei mir nicht, der GRUB hatte ein Passwort gesetzt, was ich nicht kannte - man konnte daher nur mit 'p' operieren...
Also musste ein bootfähiges Medium her - da hatte ich so eine CD mit einem Live-Test System.
Also das Livesystem gebootet. Dort in einem Terminalfenster mit su - root geworden. Dann die Platte ermittelt:
[root@testhost ~]# ls /dev/sda /dev/sda [root@testhost ~]# ls /dev/sda* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 [root@testhost ~]# fdisk -l /dev/sda Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x64656469 Device Boot Start End Blocks Id System /dev/sda1 * 1 66 524288 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 66 19188 153600000 83 Linux /dev/sda3 * 19188 20233 8388608 82 Linux swap / Solaris /dev/sda4 * 20233 38914 150057304 83 Linux Partition 4 does not end on cylinder boundary.
Meine Partition, in der mein System liegt, das ist /dev/sda2. Die muss ich jetzt entkrypten. Das mache ich mit cryptsetup luksOpen /dev/sda2 data
Jetzt schaue ich, was da für Volume Groups rumliegen, finde "rootvg" und nehme die Online. Dann schaue ich, welche LVs da drin sind, identifiziere das, wo mein /etc drin ist und mounte es:
vgscan ==> gibt mir rootvg vgchange -a y rootvg lvscan fsck /dev/rootvg/rootlv ==> nur zur Vorsicht mount /dev/rootvg/rootlv /mnt
Jetzt kann ich in /mnt in mein gewohntes Filesystem laufen, und Sachen ändern - in meinem Fall benenne ich das /etc/ld.so.preload anders. Danach mache ich einen reboot:
umount /mnt reboot
Und nach dem Reboot kommt das System sauber hoch, die libtsocks wird nicht angezogen - sehr schön.
[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]
Copyright 2001-2021 by Orm Hager - Es gilt die GPL