Debianのエラーメッセージ:「LVMボリュームが見つかりません。」しかし、起動に成功します。

Debianのエラーメッセージ:「LVMボリュームが見つかりません。」しかし、起動に成功します。

私はDebian 8 Jessieのインストール中にフルディスク暗号化+ LVMを使用してすべてのハードドライブを暗号化しようとしましたが、そうしましたが、小さな「問題」がありました。

システムがディスクのロックを解除するためのパスワードを要求する前に、次のメッセージが表示されます。

Loading, please wait...
[5.004102] sd 2:0:0:0: [sda] Assuming drive cache: write through
Volume group "lvm_group" not found
Skipping volume group lvm_group
Unable to find LVM volume lvm_group/root
Volume group "lvm_group" not found
Skipping volume group lvm_group
Unable to find LVM volume lvm_group/swap
Please unlock disk sda5_crypt:

ただし、パスワードを入力してEnterキーを押すと、システムは問題なく正常に起動します。理由がわからない。

他のフォーラムや記事/マニュアルで同様の問題を抱えている人をいくつか見つけましたが、私が見つけた人は「LVMボリュームを見つけることができません」メッセージが表示された後に起動できませんが、パスワード。

私のファイルシステムテーブル:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/lvm_group-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=4f7e12ab-84d3-4715-bab4-62cf5033ca8a /boot           ext4    defaults        0       2
/dev/mapper/lvm_group-home /home           ext4    defaults        0       2
/dev/mapper/lvm_group-swap none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

私のパスワードテーブル:

sda5_crypt UUID=21feadfc-72e7-4a2c-b5f2-0c9ca3137b03 none luks

私の/proc/cmdline:

BOOT_IMAGE=/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/lvm_group-root ro quiet

では、どのように問題を解決し、これらのメッセージを回避できますか?私はすべてを試したように感じます。

答え1

これはバグではないので、それを取り除こうとしないでください。

initramfsのスクリプトは、暗号化されたデバイスを復号化するためにパスワードを要求する前に、ルートデバイスを含むLVM VGが有効になることを確認する機会があります。これは、ルートデバイスが暗号化されておらず、システムがすぐに起動し続ける場合に機能します。それ以外の場合は、暗号化されたデバイスの復号化にパスワードを入力する機会があり、VGに再度アクセスしようとします。望むより:

/usr/share/initramfs-tools/scripts/local-top/lvm2
/usr/share/initramfs-tools/scripts/local-top/cryptroot

activate_vg()特に各スクリプト内の機能。

答え2

DuckDuckGoを通じてこのページを見つけてくださった皆さんのために。

これはDebianの長いバグです(外観的なバグですが)。このバグレポートを確認してください。https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=544651

面倒な場合は、次のようにパッチを当ててください。

--- /usr/share/initramfs-tools/scripts/local-top/lvm2 2017-03-17 19:03:07.000000000 +0300
+++ /etc/initramfs-tools/scripts/local-top/lvm2 2019-08-17 17:40:29.371725145 +0300
@@ -20,7 +20,15 @@
 fi
.
 lvchange_activate() {
-    lvm lvchange -aay -y --sysinit --ignoreskippedcluster "$@"
+    # Workaround for making LVM less noisy.
+    # See: https://groups.google.com/forum/#!topic/linux.debian.bugs.dist/iAAVTXslawQ ("Bug#799295: lvm2: Errors about lvmetad on boot")
+    if grep -sqw "quiet" /proc/cmdline; then
+        mkdir -p /run/log
+        echo "Running script '$0' on $(date)" >> /run/log/initrd-lvm.log 2>&1
+        lvm lvchange -aay -y --sysinit --ignoreskippedcluster "$@" >> /run/log/initrd-lvm.log 2>&1
+    else
+        lvm lvchange -aay -y --sysinit --ignoreskippedcluster "$@"
+    fi
 }
.
 activate() {

デフォルトでは、/usr/share/initramfs-tools/scripts/local-top/lvm2 を /etc/initramfs-tools/scripts/local-top/lvm2 にコピーしてパッチを適用します(たとえば、上記のパッチや同様の項目を使用)。追加します。quietカーネルコマンドラインパラメータ。

initramfsを再構築してください。

再起動。

楽しむ:)

関連情報