LVM over LUKS フルディスク暗号化を使用して別のブート パーティションに grub を手動でセットアップするにはどうすればよいですか?

LVM over LUKS フルディスク暗号化を使用して別のブート パーティションに grub を手動でセットアップするにはどうすればよいですか?

Linux Mint 17.2 をインストールし、ハード ドライブを次のようにパーティション分割しました。

sdc1 - 100MB ext2 for boot
sdc2 - rest of disk as LUKS -> Physical Volume -> LVM Volume

論理ボリュームは次のとおりです。

/
/home
swap

インストーラーは正常に動作しているように見えましたが、ブートローダーをインストールできなかったため、「後でブートローダーを手動でインストールする」オプションを選択する必要がありました。

LiveCD を実行し、LUKS ボリュームを開いて、ルート論理ボリュームを /mnt にマウントしました。

質問: ブートローダーをインストールするにはどうすればよいですか?

ほとんどの説明書には次のようなことが書かれています:

# grub-install --root-directory=/mnt/ /dev/sdc

しかし、これは次の結果をもたらします:

grub-probe: error: failed to get canonical path of `/cow'.
Installing for i386-pc platform.
grub-install.real: error: attempt to install to encrypted disk without cryptodisk enabled. Set `GRUB_ENABLE_CRYPTODISK=1' in file `/etc/default/grub'..

両方を編集し/etc/default/grub、両方に/mnt/etc/default/grub追加しましたGRUB_ENABLE_CRYPTODISK=1が、それでもエラーが発生します。

暗号化されていない sdc1 に grub がインストールされ、パスワードの入力が求められ、ロック解除後にシステムが起動するように設定するための適切な方法は何ですか?

アップデート

Grub は起動時に読み込まれるようになりましたが、パスワードを要求したり、適切に復号化したりしません。次のオプションを追加すると、/etc/default/grubパスワードの入力を求めるプロンプトが表示されますが、正しいパスワードを入力しても復号化は行われません。

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`    
GRUB_CMDLINE_LINUX_DEFAULT="cryptopts=target=lvmbase,source=/dev/disk/by-uuid/f7ddbdb6-51c3-4c59-9d1e-7751b0438431,lvm=vg0_root"
GRUB_CMDLINE_LINUX=""

答え1

私は通常、grubから回復しますchroot。したがって、ライブ ディストリビューションから起動して...

LUKS ボリュームを開きます。

# cryprsetup open /dev/sdc2 luks-mint

LVM ボリュームをアクティブ化します。

# vgscan
# vgchange -a y vg_mint
# lvscan

ミント山に登って次の準備をしましょうchroot:

# mount /dev/mapper/vg_mint-root /mnt
# mount /dev/sdc1 /mnt/boot
# mount --rbind /dev /mnt/dev
# mount --rbind /sys /mnt/sys
# mount -t proc none /mnt/proc

chrootミントに:

# env -i HOME=/root TERM=$TERM chroot /mnt bash -l

設定してインストールしgrub、終了しますchroot:

(chroot)# grub2-mkconfig > /boot/grub2/grub.cfg
(chroot)# grub2-install /dev/sdc
(chroot)# exit

リブート。

PS: VG 名と LV 名を適宜置き換えてください。

PPS: Linux Minut は を使用していると想定しました。grub2そうでない場合は、両方のコマンドから「2」を削除してくださいgrub

関連情報