You are not logged in.
I'm installing Arch on a new machine, following the wiki guide for LVM on LUKs with an encrypted boot partition with GRUB.
When booting, I enter my password successfully and decrypt the boot partition for GRUB, but then it times out waiting for the LVM partition.
Here are the outputs of
lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0
sda iso9660 Joliet Extension ARCH_202603 2026-03-01-10-44-11-00
├─sda1 iso9660 Joliet Extension ARCH_202603 2026-03-01-10-44-11-00
└─sda2 vfat FAT32 ARCHISO_EFI 69A4-187B
nvme0n1
├─nvme0n1p1
├─nvme0n1p2 vfat FAT32 2F69-3E3A 1021.3M 0% /efi
└─nvme0n1p3 crypto_LUKS 2 a213d192-fbfa-46f9-bed5-bf392dd4acc2
└─cryptlvm LVM2_member LVM2 001 QPVOZj-ubtq-KqRE-E5Y7-cQgh-7BKk-Uxt9Yx
├─MyVolGroup-root btrfs d2420c55-a9eb-4063-8ccc-d39a873f5ca3 43.7G 8% /
└─MyVolGroup-home btrfs e33edcbc-4e12-4a7c-9122-b1c439af65e2 880.5G 0% /home/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/MyVolGroup-root
UUID=d2420c55-a9eb-4063-8ccc-d39a873f5ca3 / btrfs rw,relatime,ssd,space_cache=v2,subvol=/ 0 0
# /dev/mapper/MyVolGroup-home
UUID=e33edcbc-4e12-4a7c-9122-b1c439af65e2 /home btrfs rw,relatime,ssd,space_cache=v2,subvol=/ 0 0
# /dev/nvme0n1p2
UUID=2F69-3E3A /efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2relevant section of /etc/default/grub (file is here)
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX="rd.luks.name=a213d192-fbfa-46f9-bed5-bf392dd4acc2:cryptlvm"
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted devices
GRUB_ENABLE_CRYPTODISK=yrelevant lines of /etc/mkinitcpio.conf (file is here here)
FILES=(/etc/cryptsetup-keys.d/cryptlvm.key)HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole block sd-encrypt lvm2 filesystems fsck)Last edited by nexus (2026-03-20 18:41:19)
Offline
HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole block sd-encrypt lvm2 filesystems fsck)
?
try `sd-lvm2` instead of lvm2
try by adding `rd.lvm=1` to your GRUB_CMDLINE_LINUX in /etc/default/grub, and rebuild grub, also mkincipto
Edit:
Also your fstab is kinda, like if you intended separate subvolumes, it should look like subvol=@, subvol=@home otherwise, / and /home are literally the same tree yeah not a boot blocker, but messy...
Last edited by 5hridhyan (2026-03-20 07:21:06)
---
Offline
try `sd-lvm2` instead of lvm2
Hook not found
try by adding `rd.lvm=1` to your GRUB_CMDLINE_LINUX in /etc/default/grub, and rebuild grub, also mkincipto
Didn't affect the outcome.
Edit:
Also your fstab is kinda, like if you intended separate subvolumes, it should look like subvol=@, subvol=@home otherwise, / and /home are literally the same tree yeah not a boot blocker, but messy...
The fstab is the default generated by genfstab following the wiki. I haven't tweaked it yet, just trying to boot up the system first.
Offline
@dipagupta07 I was lurking other forums to help OP, what did I actually share that helpful, in order you were thanking?
@nexus
ignore my earlier sd-lvm2 suggestion, that’s not a real hook on Arch, I was looking at a 6Y/O one my bad (I think it's deprecated rn)...
you're mixing systemd and busybox initramfs concepts, if you're using sd-encrypt, stick to systemd-style hooks entirely, if not, switch to encrypt + lvm2 (busybox).
rn the LUKS container is unlocked, but the VG isn't being activated, which is why it times out...
You can either:
- fix the hook consistency, or
- force activation with rd.lvm.vg=MyVolGroup
also worth reconsidering whether you actually need LVM here, since it adds another layer during early boot...
Edit2:
If still the same, add `rd.lvm.lv=MyVolGroup/root` (more granular, forces specific Lv activation...)
and also boot with `rd.debug`, `rd.shell` for initramfs debug shell && manually run `lvm vgchange -ay` to see activation errors...
Edit3: Striked out redundant && re-wrote the post
Last edited by 5hridhyan (2026-03-20 18:54:10)
---
Offline
Fixing the hooks to match the busybox-based initramfs fixed it. Specifically, I changed to
HOOKS=(base udev autodetect microcode modconf kms keyboard keymap block encrypt lvm2 filesystems fsck)and modified my /etc/default/grub
GRUB_CMDLINE_LINUX="cryptdevice=UUID=device-UUID:cryptlvm root=/dev/MyVolGroup/root cryptkey=rootfs:/etc/cryptsetup-keys.d/cryptlvm.key"Thanks!
As a note, I have done this before, but I don't think sd-encrypt was a thing at that time. The new hooks got me mixed up, as you pointed out. I appreciate the help.
Also, you're probably right about not needing the LVM. I'm considering that.
Offline