Was versuche ich zu tun?
Installieren Sie Arch mit vollständiger Systemverschlüsselung (ohne Boot- und Medienpartition) unter Verwendung von LVM auf LUKS auf einer externen Festplatte (sdb) mit:http://suddenkernelpanic.blogspot.com/2013/03/arch-linux-lvm-on-top-of-luks-2013-style.html
Was ist mein Problem:
Das System bootet Grub und es scheint, dass es einige Verwirrung darüber gibt, wo man Root finden kann.
Fehler: Gerät „uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d“ nicht gefunden. fsck wird übersprungen
Fehler: Root-Gerät „uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d“ konnte nicht gefunden werden.
Wo ich von diesem Tutorial abgewichen bin
Ich habe Grub anstelle von Syslinux verwendet, wie im Tutorial vorgeschlagen (das scheint der Knackpunkt zu sein) und die Lösung für Grub ist wirklich unklar
Mein Partitionsschema besteht aus einer zusätzlichen FAT32-Partition, die nicht an der Verschlüsselung beteiligt ist (scheint für das Problem irrelevant zu sein).
Probleme mit /etc/default/grub:
(Ich glaube, hier liegt das Problem)
Nach dem, was ich gelesen habe, muss ich insbesondere einige Stellen in dieser Datei aktualisieren:
GRUB_CMDLINE_LINUX="root=/dev/mapper/lvmpool-root cryptdevice=/dev/sdb2:crypt ro"
und ich soll das Kommentarzeichen entfernen:
GRUB_DISABLE_LINUX_UUID=true
Probleme bei/etc/mkinitcpio.conf
Ich soll die Hooks wie folgt hinzufügen
HOOKS="... encrypt lvm2 ... filesystems ..."
Hier ist mein fstab-Eintrag für root
<filesystem>
/dev/mapper/lvmpool-root
UUID=f7153c4b-e6ea-48a2-9ee1-bf38c037173d / ext4 rw,relatime,data=ordered 0 1
Aktuelle Problemumgehung
Ich kann das System immer noch verwenden, da es mich nach der Fehlermeldung in eine Wiederherstellungsshell verweist, in der ich einfach Folgendes tun kann:
cryptsetup luksOpen /dev/sdb2 crypt
enter password
Dann verlasse ich die Wiederherstellungsshell und es bringt mich zurück zu einer normalen Arch-Anmeldeaufforderung. Das wäre nicht so schlimm, wenn es nicht so zeitaufwändig wäre ... (Es dauert ewig, bis beim Booten ein Fehler auftritt, etwa 20 Sekunden)
Andere Ressourcen, die ich ausprobiert habe
Ich habe auch verwendet:
wiki.archlinux.org/index.php/Anfängerhandbuch
wiki.archlinux.org/index.php/Gr … Verschlüsselung
wiki.archlinux.org/index.php/Dm … oot_loader
wiki.archlinux.org/index.php/Dm … VM_on_LUKS
Antwort1
:crypt
Ihr Problem scheint in dem Unterschied zwischen der Verwendung als Datenträgergruppe /dev/sdb2
und der Verwendung lvmpool-
des Datenträgergruppennamens als Parameter für Root zu liegen .
GRUB_CMDLINE_LINUX="root=/dev/mapper/lvmpool-root cryptdevice=/dev/sdb2:crypt ro"
Das BeispielHier:
cryptdevice=/dev/partition:MyStorage root=/dev/mapper/MyStorage-rootvol
hat passende :MyStorage
und MyStorage-
. DasSeitespeziell Ziele grub
(und nicht Syslinux), mit LVM auf LUKS. Also würde ich diesem Setup folgen.
Dass Sie eine zusätzliche, nicht verschlüsselte Partition haben, spielt keine Rolle.
Antwort2
Vielen Dank, Anthon, für Ihre obige Antwort, sie hat wesentlich zur Lösung meines Problems beigetragen.
Es scheint, dass die Lösung meines Problems aus zwei Teilen bestand.
- Der Eintrag in /etc/default/grub sollte für mich lauten:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:lvmpool root=/dev/mapper/lvmpool-root"
cryptdevice besteht aus der Partition, auf die Sie die Verschlüsselung angewendet haben, in meinem Fall /dev/sdb2 und lvmpool (meine Volume-Gruppe).
root verweist einfach auf den Speicherort meines verschlüsselten Root-lvmpools (der sich auf sdb2 befindet)
- Nachdem dieser Eintrag vorgenommen wurde (und das war ein entscheidender Fehler für mich), müssen Sie Folgendes ausführen:
grub-mkconfig -o /boot/grub/grub.cfg
Nachdem ich das getan hatte, bootete das System direkt in die Eingabeaufforderung zum Entsperren der Root-Partition.
Antwort3
einschließen inmkinitcpio.conf
MODULES="dm_mod dm_crypt ext4 aes_x86_64 sha256 sha512"
HOOKS="... encrypt lvm2 ..."
einschließen in/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... quiet "
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX:name"
GRUB_ENABLE_CRYPTODISK="y"
Führen Sie den Befehl aus:
sudo mkinitcpio -p linux
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install --recheck --target=i386-pc /dev/sda
sudo pacman -S linux linux-headers