Como configurar manualmente o grub em uma partição de boot separada com o LVM sobre a criptografia de disco cheio LUKS?

3

Instalei o Linux Mint 17.2, com um disco rígido particionado da seguinte forma:

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

Os volumes lógicos são:

/
/home
swap

O instalador pareceu funcionar corretamente, exceto que não foi possível instalar o gerenciador de inicialização e fui forçado a escolher a opção "instalar o carregador de inicialização manualmente mais tarde".

Eu tenho o LiveCD em execução, tenho o volume LUKS aberto e montei o volume lógico raiz em / mnt.

Pergunta: Como instalo o gerenciador de inicialização?

A maioria das instruções diz algo como:

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

Mas isso produz:

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'..

Eu editei /etc/default/grub e /mnt/etc/default/grub e adicionei GRUB_ENABLE_CRYPTODISK=1 a ambos, mas o erro ainda ocorre.

Qual é a maneira correta de configurar isso para que o grub seja instalado no sdc1 não criptografado, solicite a senha e inicialize o sistema uma vez desbloqueado?

UPDATE

O Grub carrega na inicialização agora, mas não está solicitando a senha ou decodificando corretamente. Ao adicionar as seguintes opções a /etc/default/grub , posso solicitar uma senha, mas ela não será descriptografada quando a senha correta for digitada:

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=""
    
por N Rahl 26.09.2015 / 07:44

1 resposta

1

Eu geralmente recupero grub de chroot . Então, inicialize a partir de uma distro ao vivo e ...

Abra o volume do LUKS:

# cryprsetup open /dev/sdc2 luks-mint

Ativar volumes LVM:

# vgscan
# vgchange -a y vg_mint
# lvscan

Monte o Mint e prepare-se para 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 na casa da moeda:

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

Configure e instale grub , sair chroot :

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

Reinicie.

P.S .: substitua as denominações VG e LV de acordo.

P.P.S: eu supus que o Linux Minut use grub2 , se não, remova o '2' dos dois comandos grub .

    
por 26.09.2015 / 10:23