Grub2 erkennt USB-Stick nach Update nicht?

Grub2 erkennt USB-Stick nach Update nicht?

Ich habe ein ziemlich einfaches ArchLinux-Setup in VirtualBox, das ich regelmäßig auf einen USB-Stick kopiere, um es auf einer echten Maschine zu booten. In den letzten Monaten hat es gut funktioniert, aber nach dem letzten Update (8. Oktober 2018) erkennt GRUB2 meine LUKS-verschlüsselte Systempartition beim Booten vom USB-Stick nicht mehr und versetzt mich in eine Notfall-Shell. Beim Ausführen blkidin dieser Shell stellt sich heraus, dass GRUB2 den USB-Stick, von dem es geladen wurde, nicht einmal erkennt.

Hier eine kleine Zusammenfassung der Dinge, die funktionieren (bzw. funktionierten) und der Dinge, die nicht funktionieren. Dies legt nahe, dass weder mein Computer noch mein USB-Stick das Problem sind, sondern mein Arch-System:

                          |                      ArchLinux                      |  Fresh install of
                          |  before update  |  after update  | fresh reinstall  |   Ubuntu 18.04.1
--------------------------+-----------------+----------------+------------------+--------------------
Booting from virtual hard |     worked      |     works      |      works       |       works*
disk in VirtualBox        |                 |                |                  |
--------------------------+-----------------+----------------+------------------+--------------------
Booting from USB          |     worked      |  NOT WORKING   |   NOT WORKING    |       works*
in VirtualBox             |                 |                |                  |
--------------------------+-----------------+----------------+------------------+--------------------
Booting from USB          |     worked      |  NOT WORKING   |   NOT WORKING    |       works*
on a computer             |                 |                |                  |

* with and without full disk encryption (LVM on LUKS)

Natürlich habe ich versucht, dies zu beheben, indem ich Arch-iso gestartet, alle Partitionen (des USB-Sticks) gemountet, mich arch-chrootin das System eingeloggt, /etc/mkinitcpio.confsowie geprüft und sowie /etc/default/grubausgeführt habe . Lässt sich immer noch nicht booten... Ich habe auch versucht, den USB-Stick mit dem aktualisierten und immer noch funktionierenden System von der virtuellen Festplatte zu überschreiben, aber auch ohne Erfolg.mkinitcpio -p linuxgrub-mkconfig -o /boot/grub/grub.cfg

Hat jemand eine Ahnung, was die Ursache für dieses Verhalten sein könnte, oder einen Hinweis, wo ich nach Problemen suchen muss?An der Festplattenverschlüsselung kann es nicht liegen, da das System auf der virtuellen Festplatte auch nach dem Update noch funktioniert (und ich leider kein Backup von vor dem Update habe).


AKTUALISIEREN:Das Booten mit dem Fallback initramfs funktioniert in allen Fällen einwandfrei (vbox, USB in vbox, USB auf dem Computer). Möglicherweise fehlen einige Hooks in der mkinitcpio.conf.


Hier sind einige Einzelheiten zu meinem Arch-System: Es ist ein EFI-System mit einer GPT-formatierten Festplatte, die nur zwei Partitionen enthält, eine 200 MiB große FAT32-Partition mit GRUB2 darauf und einen 15,8 GiB großen LUKS-Container, der die ext4-Systempartition enthält, kein LVM beteiligt. Hier ist eine Zusammenfassung der Konfigurationsdateien. Wenn Sie mehr brauchen, lassen Sie es mich wissen.

# /etc/mkinitcpio.conf
[...]
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems fsck)
[...]

# /etc/default/grub
[...]
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/disk/by-uuid/UUID_OF_LUKS_CONTAINER:cryptosystem"
GRUB_CMDLINE_LINUX=""
[...]
#GRUB_DISABLE_LINUX_UUID=true
[...]
#GRUB_ENABLE_CRYPTODISK=y
[...]

# /boot/grub/grub.cfg
[...]
linux /vmlinuz-linux root=UUID=UUID_OF_FS_INSIDE_LUKS rw cryptdevice=/dev/disk/by-uuid/UUID_OF_LUKS_FS:cryptosystem quiet
[...]

Schlagwörter: USB, Arch-Linux, Grub2

Antwort1

Das Entfernen des autodetectHooks löst das Problem. Jetzt kann ich das System booten, ohne das Fallback-Image zu verwenden.

verwandte Informationen