LUKS / LVMにUbuntu 20.04をインストールしましたが、残念ながら起動時には幼虫>早く。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 731M 0 part /boot
└─sda5 8:5 0 465G 0 part
└─sda5_crypt 253:0 0 465G 0 crypt
├─ubuntu--vg-home 253:1 0 356G 0 lvm /home
└─ubuntu--vg-root 253:2 0 109G 0 lvm /
MBR に grub をインストールし、grub.cfg を生成します。(望むより1、2)
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
Grub.cfgには正しいLVMルートボリュームUUIDがあるようです。
# cat /boot/grub/grub.cfg
....
set root='lvmid/MGzfKv-uhLG-wmry-Yqb2-D09r-OfKh-SDs3eb/lZDSre-QLBU-9OvM-aVrN-kR6V-DFXg-lBhRn7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/MGzfKv-uhLG-wmry-Yqb2-D09r-OfKh-SDs3eb/lZDSre-QLBU-9OvM-aVrN-kR6V-DFXg-lBhRn7' 617f84d9-1433-4620-a0c0-833fb8ce1e2f
else
search --no-floppy --fs-uuid --set=root 617f84d9-1433-4620-a0c0-833fb8ce1e2f
fi
....
# blkid
/dev/sda5: UUID="3fbd1007-9f85-4b85-bdf2-ae55e0244bb6" TYPE="crypto_LUKS" PARTUUID="005a4774-05"
/dev/sda1: UUID="27ca1bd4-7811-4c3a-b319-2b8dd1ce57cd" TYPE="ext4" PARTUUID="005a4774-01"
/dev/mapper/sda5_crypt: UUID="UoR32h-GB2N-GYf4-XBEP-P0rd-RrZ6-f6PK6d" TYPE="LVM2_member"
/dev/mapper/ubuntu--vg-home: UUID="0d81e74f-fe7b-4ef4-ba61-6d664d54d77c" TYPE="ext4"
/dev/mapper/ubuntu--vg-root: UUID="617f84d9-1433-4620-a0c0-833fb8ce1e2f" TYPE="ext4"
# ls -l /dev/disk/by-id
rwxrwxrwx 1 root root 10 Oct 19 21:45 dm-name-sda5_crypt -> ../../dm-0
lrwxrwxrwx 1 root root 10 Oct 19 21:45 dm-name-ubuntu--vg-home -> ../../dm-1
lrwxrwxrwx 1 root root 10 Oct 19 21:45 dm-name-ubuntu--vg-root -> ../../dm-2
lrwxrwxrwx 1 root root 10 Oct 19 21:45 dm-uuid-CRYPT-LUKS2-3fbd10079f854b85bdf2ae55e0244bb6-sda5_crypt -> ../../dm-0
lrwxrwxrwx 1 root root 10 Oct 19 21:45 dm-uuid-LVM-MGzfKvuhLGwmryYqb2D09rOfKhSDs3ebHvMqdeqlhxMFcNl0XqdTRiC9sdWUmnVU -> ../../dm-1
lrwxrwxrwx 1 root root 10 Oct 19 21:45 dm-uuid-LVM-MGzfKvuhLGwmryYqb2D09rOfKhSDs3eblZDSreQLBU9OvMaVrNkR6VDFXglBhRn7 -> ../../dm-2
lrwxrwxrwx 1 root root 10 Oct 19 21:45 lvm-pv-uuid-UoR32h-GB2N-GYf4-XBEP-P0rd-RrZ6-f6PK6d -> ../../dm-0
crypttabとfstabにsda5 UUIDとボリュームUUIDを追加します(参照:1):
# cat /etc/crypttab
sda5_crypt UUID=3fbd1007-9f85-4b85-bdf2-ae55e0244bb6 none luks
# cat /etc/fstab:
UUID=27ca1bd4-7811-4c3a-b319-2b8dd1ce57cd /boot ext4 defaults 0 2
UUID=617f84d9-1433-4620-a0c0-833fb8ce1e2f / ext4 defaults,errors=remount-ro 0 1
/swapfile none swap sw 0 0
initramfsの作成(参照1):
# update-initramfs -c -k all
# ls -lah /boot
drwxr-xr-x 4 root root 4.0K Oct 19 21:31 grub
-rw-r--r-- 1 root root 81M Oct 19 20:55 initrd.img-5.4.0-42-generic
答え1
LVMはLUKS暗号化パーティションにあるため、暗号化がロック解除されるまでLVMルートボリュームUUIDは表示されません。
デフォルトでは、Debian/Ubuntu GRUB 構成は、以下を含むルートファイルシステム内の複数のエントリを参照できます。
- フォントファイル
/usr/share/grub/unicode.pf2
/usr/share/desktop-base/futureprototype-them/grub/grub-16x9.png
Debian 10のようなGRUBの背景画像
/boot
LUKSパスワードを2回(GRUBに1回、initramfsに1回)入力したくない場合は、そのパスワードをコピーする必要があり(GRUBがアクセス可能な他の暗号化されていないファイルシステム)、GRUBが検索します。そこからそれら。
フォントファイルの場合は、実行する前にフォントファイルを設定してコピーGRUB_FONT=/boot/grub/unicode.pf2
できます。/etc/default/grub
/boot/grub
grub-mkconfig
少なくともDebian 10では、/etc/grub.d/05_debian_theme
スクリプトに背景画像をコピーする機能が組み込まれているようです。たとえば、/boot/grub/.background_cache.png
GRUBがルートファイルシステムを直接読み取れない場合(あなたの場合は暗号化されているため)。この機能(またはそのUbuntuスクリプトの同等の機能)が正しくトリガーされていることを確認する必要があります。そうでない場合は、背景画像パスをGRUB_BACKGROUND=/boot/grub/<filename>
inで上書きし、/etc/default/grub
適切な画像ファイルを手動でコピーします/boot/grub/
。
注:またはコマンドがgrub.cfg
ある場合にのみ指定されます。set root=<something>
search ... --set=root
後続のGRUBコマンドがファイルをロードするファイルシステム。必ず参考にする必要はありませんUbuntuインストール用のルートファイルシステムroot=...
:カーネルブートオプションで具体的に指定すれば十分ですlinux /boot/vmlinuz-...
。
あなたの場合、LUKS暗号化のロックを解除し、ルートファイルシステムを見つけることはinitramfs
GRUBの仕事ではなくあなたの仕事になります。