新しいLUKS暗号化ルートパーティションの起動に関する問題

新しいLUKS暗号化ルートパーティションの起動に関する問題

Ubuntu 18.04をインストールするときに、18.04が最初にリリースされたとき(リリース数ヶ月前)、ルートパーティションを暗号化していないので、何らかの理由で暗号化することにしました。

この質問は以前に要求されたことがあることを知っています(実際に要求された質問のいくつかへのリンクを投稿しました!)。しかし、この質問は私を対象としているので投稿するので、私の質問を削除しないでください。本当にありがとうございます。 、親愛なる仲裁人および管理者の皆さん。私は私と同じ問題を抱えている人を見つけることができず、いくつかの主要なLinuxタスクを実行した後に自分自身を見つけることができなかったので、助けを求めなければなりませんでした。 (過去11年間のGNU / Linux - * nixの経験では、これはあまり起こりませんでした。99%の場合、私と親愛なるGoogleが私の問題を解決/解決しました...ご存知のように、次のような問題が頻繁に発生します。 Linux!

とにかく、これを行うためにとったステップは次のとおりです。 (18.04ライブUSBから)

sudo cryptsetup -v -y -c aes-xts-plain64 --key-size 512 --hash sha512 luksFormat --uuid=049172c6-5376-4b9c-bd27-b503b6f25423 /dev/sda5
sudo cryptsetup -v luksOpen /dev/sda5 myroot
sudo mkfs.ext4 -m 0 /dev/mapper/myroot
#Then for copying the contents of my root partition I used dd:
sudo dd if=/dev/sda6 of=/dev/mapper/myroot bs=4M
#/dev/sda6 is a duplicate of my original sda5 root...
#After I dd'ed, there was unallocated space on the partition so I did a check on it in GParted (Which also applies cryptsetup resize command to it)
sudo mount /dev/mapper/myroot /media/myroot #I created /media/myroot beforehands

その後、GRUBを使用してこの新しい暗号化されたルートを起動するのに役立つと思われる多くのタスクを実行し、検索でより多くを見つけました。だから私は基本的に、次のリンクで人々が提案したすべてを試しました。

https://askubuntu.com/questions/1134998/booting-19-04-from-luks-system-drive

Mint 18で起動するときにinitramfsを設定すると、luksのパスワードを求めるメッセージが表示されますか?

https://askubuntu.com/questions/1006867/cant-get-ubuntu-to-boot-from-luks-lvm-group-on-external-drive-on-imac-with-re

https://askubuntu.com/questions/729673/ubuntu-full-disk-encryption-with-encrypted-boot

https://askubuntu.com/questions/450895/mount-luks-encrypted-hard-drive-at-boot

https://askubuntu.com/questions/1082131/how-to-get-grub-to-boot-from-a-newly-encrypted-partition

(そしてより多くのリンク)

fdisk -l の出力は次のようになります。

Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: FE0857E8-E0DE-40A0-96C5-C4FEC80B8742

Device         Start       End   Sectors   Size Type
/dev/sda1       2048    534527    532480   260M EFI System
/dev/sda2     534528   1067007    532480   260M EFI System
/dev/sda3    2582528   4630527   2048000  1000M Lenovo boot partition
/dev/sda4    4892672 259438591 254545920 121.4G Microsoft basic data
/dev/sda5  259438592 332343295  72904704  34.8G Linux filesystem
/dev/sda6  332343296 400898047  68554752  32.7G Linux filesystem
/dev/sda7  410068992 425521151  15452160   7.4G Microsoft basic data

私のUUIDは次のとおりです。

/dev/sda5:
LUKS UUID: 049172c6-5376-4b9c-bd27-b503b6f25423
Partition UUID: 1db5df50-7000-48df-a281-74bad5689ce1

/dev/sda6:
Former UUID which I recently changed it to a new one because it was same as sda5's due to using dd for copying root filesystem to new LUKS partition: 1db5df50-7000-48df-a281-74bad5689ce1
New UUID: 7876a195-7219-4440-892a-61b57c706443

最後に、GRUBで試したことは次のとおりです。 http://s000.tinyupload.com/index.php?file_id=00739971820320475700

更新:デフォルトでは、zipファイルに提供されている設定を使用して起動しようとしたときに上記のリンクを投稿しました。各confに異なるエラーや問題などが発生します...ブートされ、静かなブート画面では、入力luks PWを要求しましたが、行の最後に何かを尋ねるメッセージが表示されます。 「/!にインストールするにはsda5 luksのパスワードを入力してください」のように、IDK(またはちょっと知っています!)の最後になぜ/と書かれているのかがわかります!そして単に/ではありません。

時々(設定の1つを使用して)sda5から起動しようとすると、grubはパスワードを要求しますが、busybox initramfsプロンプトに移動するか、「1db5df50-7000-48df-a281でそのデバイスを見つけることができません」というメッセージが表示されます。 - 74bad5689ce1"またはそれに似ています...

問題は、initramfsに対する彼の答えで親愛なるtelcoMが言ったことであるか、またはconfファイルに入れたUUIDとUUIDのいずれかだと思います。しかし、initramfsが原因であることを願っています。 telcoMの提案を試してみて、何が起こるのか見てみましょう。

どんな助けでも本当に感謝します。インストーラを再インストールして暗号化したくありません。 Ubuntuには何かが必要ですが、再インストールすることはできません。 Ubuntuのインストールは完璧すぎてGNU / Linuxを使用しています。多くの経験(現在10年以上)とLinuxをたくさんインストールしているので愚かではありませんが、私が作成したすべてのデータ、構成、またはカスタマイズを失うことはできません...サポートできることを知っています。しかし、私はただ…それを知っていますか?

ベストアンサー1

作成されたLUKSコンテナはデフォルトのパーティションと同じサイズです/dev/sda5が、入れたコンテナがそれより小さいため、/dev/sda6LUKSddコンテナのイメージは/dev/sda6完全に埋められません/dev/mapper/myroot。簡単な質問resize2fs /dev/mapper/myrootだけで問題を解決できます。

あなたは自分がしていることについてたくさん話しますが、実際の症状についてはほとんど話しません。新しい暗号化されたルートで起動しようとすると、正確に何が起こりますか?それでは、実際のエラーメッセージは何ですか?暗号化されたパーティションの存在を認識し、パスワードを求めるメッセージを表示しますか、またはUUIDを介してそれを検出できませんか?または、GRUBはカーネルファイルとinitramfsファイルを正常にロードしますが、initramfsは暗号化されたルートファイルシステムをマウントできませんか?

UEFIのデフォルトブートスキームを使用しているようです。大丈夫です。ただし、セキュアブートを有効にする可能性があります。その場合/boot/grub/x86_64-efi、メインがロードされた後にGRUBが他のGRUBモジュールをロードするのを制限するので、必要grubx64.efiなすべてのモジュールをメインgrubx64.efiブートローダファイルに構築する必要があります。

grub-install実行すると正常に実行され、GRUBモジュールをビルドgrub-mkimageに含めることができます。grubx64.efi通常、必要なgrub-install最小数のモジュールのみが含まれます。つまり、grub-installこの時点で検出された必須モジュールのみを実行。したがって、ルートファイルシステムがgrub-install実行時に暗号化されないため、組み込みの暗号化サポートがないため、GRUBが失敗する可能性があります。

この問題を解決するには、2 つのオプションがあります。新しいルートファイルシステムとしてルートを指定し、それに有効なエントリがある場合は...を使用してgrub-installGRUBを再インストールできます。または、パッケージがより簡単にインストールされていることを/etc/crypttab確認し、ESP(=可能)と次の既存のパッケージを交換することもできます。grub-efi-amd64-signedgrubx64.efi/boot/efi/EFI/ubuntu/grubx64.efi/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed

cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/ubuntu/grubx64-backup.efi
cp /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /boot/efi/EFI/ubuntu/grubx64.efi

これは、セキュアブートに最大限対応するように署名された事前に構築されたUEFI GRUBブートローダです。すべての内蔵GRUBモジュールしたがって、既存のファイルよりはるかに大きくなければなりませんgrubx64.efi

このファイルは、セキュアブートが無効になっている場合でもgrubx64.efi.signed機能するはずです。すべてのGRUBモジュールが組み込まれているという事実はまだ有用です。

ただし、GRUBがカーネルファイルとinitramfsファイルを正常にロードできる場合、問題はinitramfsステップにあるはずです。 Ubuntuでパッケージが利用可能な場合は、そのパッケージがインストールされていることをcryptsetup-initramfs確認してください。次に、新しい暗号化されたルートに再度chrootし、/etc/crypttab有効なエントリを設定したら、次のコマンドを実行してupdate-initramfs -uinitramfsを再構築します。 chroot内で実行すると、ルートファイルシステムが暗号化されているかどうかを自動的に検出し、必要なツールとスクリプトをinitramfsファイルに含めることができます。

おすすめ記事