初期化が見つかりません!暗号化されたlvmルートパーティション

初期化が見つかりません!暗号化されたlvmルートパーティション

今日は、lvmを使用してルートパーティションを暗号化されたluksパーティションに移動することにしましたが、いくつかの問題に遭遇しました。
これが私の初期設定です。

-- sda
    - sda1 (debian)
    - sda2 (secondary)
    - sda5 (swap)
    - sda6 (home)  
    - sda7 (voidlinux)

sda1を512Mブートパーティション(sda1)に分割し、残りの部分はvoidlinux(sda3)に使用されます。それになった

-- sda
    - sda1 (boot)
    - sda2 (secondary)
    - sda5 (swap)
    - sda6 (home)
    - sda7 (void)
    - sda3 (for void)

その後、sda3を暗号化し、「vg」というlvm vgを作成し、lv「root」を作成しました。

-- sda
    - sda1 (boot)
    - sda2 (secondary)
    - sda5 (swap)
    - sda6 (home)
    - sda7 (void)
    - sda3
       - enc
          - vg-root

にext4ファイルシステムを作成して/dev/vg/rootマウントし、以前に作成したバックアップtarアーカイブを解凍しました。 tarアーカイブには私/boot /usr /etcからのスペースが含まれています。/var/

/dev/vg/rootにインストールし、/mntディレクトリを作成して/mnt/{proc,dev,sys,tmp}実行しますfor i in proc dev sys tmp ;do mount --rbind /$i /mnt/$i ;done

逃げるmv /mnt/boot/*6.1* /mnt/tmpmount /dev/sda1 /mnt/bootついにmv /mnt/tmp/*6.1* /mnt/boot

これらのシンボリックリンクは以下に作成されます/mnt[bin->/usr/bin, lib->/usr/lib, lib32->/usr/lib32, lib64->/usr/lib, sbin->/usr/bin]次に、ルートを/mnt

複数のプログラムを実行してみましたが、すべてがうまくいきます。次に、.installed grubを/etc/default/grub編集しました。 grub.cfg 。 initramfsを再構築し、アイテムを追加しました。GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 rd.auto cryptdevice=/dev/sda3:enc"
grub-install /dev/sdagrub-mkconfig -o /boot/grub/grub.cfg
dracut -f
/dev/vg/root / ext4 defaults 0 1/dev/sda1 /boot ext2 defaults 0 0/etc/fstab

再起動したときにパスワードを入力しましたが、このようなメッセージが出ました...Cannot find init! Please check to make sure you passed a valid root filesystem!
ここに閉じ込められ、次に何をすべきかわかりません。助けてください。
以下はdracutrescueシェルから得られた完全なログです。ペーストビン

ベストアンサー1

解決しました。シンボリックリンク[bin,lib*,sbin]は相対的でなければなりません。つまり、bin->usr/bin... です。これinitシェルスクリプトのコードスニペットがinitramfsこれを理解するのに役立ちました。

おすすめ記事