GUIDパーティションデバイスのLUKSにあるLVM Thin LVにArch Linuxルートファイルシステムをインストールするには?

GUIDパーティションデバイスのLUKSにあるLVM Thin LVにArch Linuxルートファイルシステムをインストールするには?

GUIDパーティションデバイスのLUKS暗号化パーティションにあるLVMシンプロビジョニング論理ボリュームにルートファイルシステムを持つ新しくインストールされたArch Linuxシステムを起動できません。

Systemdのブートローダがsystemd-boot自分のブートエントリをロードすると、Arch LinuxLUKS暗号化パーティションのパスワードが要求されますが、10秒後にArch Linuxルートファイルシステムを持つLVMボリュームグループを有効にできません。結局それは私を救助シェルに投げましたrootfs

Arch Linuxで達成したいことを達成したい場合は、どんなアイデアがありますか?

気づく私はArch Linuxに初めて触れたので、特定のリポジトリ構成にArch Linuxシステムをインストールすることに関連するすべてのArch Wiki記事を注意深く読みました。

私が特別に設定した開始項目Arch Linux/boot/loader/entries/arch.conf)は次のとおりです。

title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=PARTUUID=<of /dev/sda3>:system root=UUID=<of /dev/system/arch.root> rootfstype=ext4 add_efi_memmap

完全性を期すためにストレージデバイスを構成する方法の要旨は、次のとおりです。

$ parted —align optimal
(parted) unit MiB
(parted) select /dev/sda
(parted) mklabel gpt
(parted) mkpart primary 1 2
(parted) name 1 bios
(parted) set 1 bios_grub on
(parted) mkpart primary 2 1026
(parted) name 2 uefi
(parted) set 2 boot on
(parted) mkpart primary 1026 103426
(parted) name 3 system
(parted) quit
$ mkfs -t vfat -n UEFI -F 32 /dev/sda2
$ cryptsetup luksFormat —hash sha512 —cipher aes-xts-plain64  —key-size 512 /dev/sda3
$ cryptsetup open /dev/sda3 system
$ pvcreate /dev/mapper/system
$ vgcreate system /dev/mapper/system
$ lvcreate —type thin-pool —name pool —size 75G system
$ lvcreate —type thin —name swap —virtualsize 4G —thinpool system/pool
$ mkswap -L swap /dev/system/swap
$ lvcreate —type thin —name arch.root —virtualsize 20G —thinpool system/pool
$ mkfs -t ext4 -L arch.root /dev/system/arch.root

答え1

Arch Linuxの初期RAMファイルシステムフェーズでは、フックがシンプロビジョニングされた論理ボリュームをアクティブにできないlvm2後にフックが実行されているようです。encrypt

私の質問で説明したのと同じストレージ構成を使用すると、シンプロビジョニングされたボリュームではなく通常の論理ボリュームであることを除いて、これらのボリュームを含むボリュームグループが問題なくアクティブになります。この変更により、Arch Linux が正常に起動します。

したがって、シン論理ボリュームを作成しないでください。

$ lvcreate —type thin-pool —name pool —size 75G system
$ lvcreate —type thin —name swap —virtualsize 4G —thinpool system/pool
$ mkswap -L swap /dev/system/swap
$ lvcreate —type thin —name arch.root —virtualsize 20G —thinpool system/pool
$ mkfs -t ext4 -L arch.root /dev/system/arch.root

汎用論理ボリュームを作成する必要があります。

$ lvcreate —name swap —size 4G system
$ mkswap -L swap /dev/system/swap
$ lvcreate —name arch.root —size 20G system
$ mkfs -t ext4 -L arch.root /dev/system/arch.root

関連情報