web-dev-qa-db-ja.com

暗号化されたルートパーティションのブートをインストールするにはどうすればよいですか?

Distをアップグレードし、ブートパーティションのカーネルを何らかの形で失いました。

私はそのほとんどを復元することができました(古い14をブートして、暗号化されたパーティションをマウントし、その中にchrootします-したがって、以下の/ mnt)。それでもブートできません。ルートパーティションのパスワードを要求することはなく、initramfsシェルの内部で停止します。

これを/ etc/default/grubに追加してみました

GRUB_CMDLINE_LINUX="cryptdevice=/dev/disk/by-uuid/8711af09-1c70-414a-af43-e859ddabf09f:cryptroot root=/dev/mapper/cryptroot"

そのUUIDは/ etc/crypttabにあります:

sda5_crypt UUID=8711af09-1c70-414a-af43-e859ddabf09f none luks,discard

しかし、私がそれをしてgrub-installを次のように実行すると:

grub-install --boot-directory=/mnt/boot /dev/sda1

私はこれを得る:

Installing for i386-pc platform.
grub-install: error: attempt to install to encrypted disk without cryptodisk enabled. Set `GRUB_ENABLE_CRYPTODISK=1' in file `/etc/default/grub'..

GRUB_ENABLE_CRYPTODISKを見つけることができるのは、ディスク全体を暗号化するときだけです-私はそうではありません。/boot(またはUSBブートマシンの/ mnt/boot)にマウントされた別のEXT2ブートパーティションがあります。

そのオプションをオンにすると:

GRUB_ENABLE_CRYPTODISK=y

grub-installを実行すると、次の結果が得られます。

Installing for i386-pc platform.
grub-install: warning: Filesystem `ext2' doesn't support embedding.
grub-install: error: embedding is not possible, but this is required for RAID and LVM install.

私が見つけることができるすべての例は、ディスク全体のインストールのようで、誰もこのケースについて話しているようには見えません。

助けてください!

3
nic ferrier

私の知る限り、GRUB_CMDLINE_LINUXを暗号ブロックデバイスに設定する必要はありません。代わりに、次が正常であることを確認してください。

  1. grubのインストール:/bootパーティションにgrubがインストールされていることを確認してください。それでもext2について文句を言う場合は、/ bootをext3にフォーマットしますまたはext4(/ bootパーティションに貴重なデータがまったくないと仮定しています)。

次のクリーンな方法をお勧めします(liveUSBまたはレスキューディスクから):

Sudo -i cryptsetup open /dev/sda5 my_encrypted_device mount /dev/mapper/my_encrypted_device /mnt mount --bind /dev/ /mnt/dev && mount --bind /dev/pts /mnt/dev/pts && mount --bind /proc /mnt/proc && mount --bind /sys /mnt/sys mount /dev/<YOUR_BOOT_PARTITION> /mnt/boot chroot /mnt apt purge --auto-remove grub-pc Enterキーを押して、削除を確認します。

apt install grub-pc

ターミナル内で、スペースバーを使用してgrubをインストールする場所を選択し、タブを押して入力します。

  1. / etc/crypttab:エントリは次の形式である必要があります。

TARGET SOURCE_DEVICE KEY_FILEオプション

(例:my_encrypted_device/dev/sda5 none luks)

キーファイルパラメータnoneは、ユーザーがインタラクティブにキーファイルを指定することを要求することを忘れないでください

  1. / etc/fstab: /エントリの最初のフィールドには同じデバイスマッピング名を含める必要があります(i.e。my_encrypted_device
  2. pdate-initramfs:RAMファイルシステムの更新を忘れないでください! update-initramfs -u -k all

すぐに起動できるはずです。

注:GRUBは、あなたが言ったように暗号化されたデバイスにインストールできます

2
egy