Grub na partição LVM

Grub na partição LVM

Basicamente, meu problema era o /boot (/dev/sda1), que era uma partição muito pequena (88 Mo).

Com o VolumeGroup disponível nesta máquina, formatei um novo volume LVM (600 Mo).

Então copiei o conteúdo de /boot/ para a nova partição LVM (com cpio).

Eu fiz umount /bootalgumas alterações no Fstab para substituir a antiga partição/boot.

Por fim, fiz update-grubpara gerar corretamente um novo arquivo grub.cfg. Eu reiniciei e já estava funcionando. Eu estava pensando que minha nova partição LVM estava certa, então com fdisk /dev/sdaeu excluo o arquivo /dev/sda1.

E agora, tenho o Grub Rescue na inicialização.

Mesmo com o Ubuntu livecd:

grub-install --modules='lvm' /dev/rootvg/bootlv

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.


grub-install --modules='lvm' /dev/sda5

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.

Mesmo erro...

Existe uma solução para instalar o bootloader Grub em um dispositivo LVM existente?

Responder1

Talvez (sou totalmente novo em lvm e grub) você precise instalar o grub assim:

grub-install --modules='lvm' --boot-directory=/dev/rootvg/bootlv dev/sda

Para colocar o grub no MBR e usar /dev/rootvg/bootlv como a partição /boot onde residem os arquivos grub.

Mas se o disco for GPT e você inicializar com BIOS você precisará de uma partição especial de 1MiB a 8MiB do tipo BIOS_grub (sem qualquer formato, é bruta para o estágio 2 do grub).

Estou tendo muitos problemas para inicializar o Grub2 a partir de um [U]EFI com partição EFI e LVM, tendo a partição /boot dentro de um LVM Raid0 de 3 listras, mas posso inicializá-lo normalmente no modo de inicialização do BIOS.

Partições que tenho em cada um dos três HDDs (todos de tamanho, posição idênticos, etc.), no estilo GPT: GPT1: LVM (Grande, resto do espaço do HDD) GPT2: EFI (512MiB, FAT32) GPT3: bios_grub (8MiB, sem formato - CRU)

Eu crio o vg em todos os /dev/sd[ac]1 e dentro do LVM uma partição para /boot

Eu monto /boot com: mount /dev/mapper/bla_bla_bla /boot

Eu crio um ponto de montagem EFI nele (não é realmente necessário, mas ajuda a digitar menos letras no grub2-install)

Eu monto /dev/sda2 em /boot/efi

Então adiciono lvm aos módulos necessários, com o comando:

echo GRUB_PRELOAD_MODULES=\"lvm\" >> /dev/default/grub

Então eu instalo o Grub2 com este comando:

grub-install --target=i386-pc /dev/sda

E pronto, desmonte e reinicie no modo BIOS e inicialize o Grub2.

Importante, antes de desmontar /boot edite /boot/grub/grub.cfg para atender ao que você precisa.

E lembre-se de que não estou inicializando um sistema operacional, estou apenas instalando o Grub2 dentro de uma partição LVM e consigo inicializar.

Nota: Se eu instalar com o destino x86_64-efi, ele mostrará duas mensagens e depois de não inicializar no modo [U]EFI corretamente, o LVM não estará acessível.

PD: Cheguei ao nível de conhecimento para criar dois pendrives USB diferentes que podem inicializar no modo [U] EFI e no modo BIOS o loop SystemRescueCD.iso, mas quando tento inicializar no Grub2 residente dentro do LVM, tenho problemas se estiver [U]Modo EFI... não sou um especialista... tenho trabalhado em Grub2 e LVM, LUKS, etc... minha intenção é criar um boot bem complexo... três pendrives no Raid0 LVM sem /boot fora do LVM e capaz de inicializar apenas em PCs [U]EFI e em PCs antigos apenas com BIOS, em PCs mistos, etc... estou no ponto em que posso inicializar em ambos [U]FI e BIOS se /boot está fora do LVM e no modo BIOS também com /boot dentro do LVM, mas não em [U]EFI com /boot dentro do LVM.

PPD: Receio que seja um BUG no grub2*.efi que não monta o LVM, então recomendo que você inicialize no modo BIOS... entre isso eu li alguns artigos do ArchLinux dizendo que ele pode ser instalado no LVM sem /boot partição e tendo / dentro do LVM, mas não consegui passo a passo, nem consigo reproduzir isso; e não é meu objetivo real, já que não quero um Linux instalado, apenas Grub2... o objetivo real final é ter o Linux dentro de um arquivo grande que está dentro de uma partição LVM que está dentro de uma partição LUKS que está em um Partição LVM que usa três HDDs físicos no modo raid0 (3 stripes) e inicializa a partir de um USB com modos de inicialização [U] EFI e Bios com Grub2 que carrega em cadeia para o Grub2 que está dentro desse arquivo grande, e que o Grub2 carregará o kernel, initram, etc de dentro de um arquivo tão grande... etc; uma negação plausível de que você tenha esse Linux ... se inicializar a partir do HDD, um Linux criptografado será mostrado, onde em seu rootfs está o arquivo grande que mencionei, mas se eu inicializar a partir de um pendrive USB externo, se você souber como inicializar o Linux dentro desse arquivo ... modo paranóico: os comandos para fazer tal carregamento em cadeia estarão em minha mente, não no pendrive, no pendrive haveria apenas uma inicialização em loop SystemRescueCD.iso, mas em vez de selecionar para inicializá-lo, digite c para ir para console grub e digite os comandos para carregar em cadeia para Linux dentro do arquivo grande que mencionei... eu sei que isso é muito, muito complexo... mas sem ter o truque do TrueCrypt/VeraCrypt que dependendo da senha ele monta o sistema operacional fictício ou o sistema operacional oculto, não tenho outra opção, então comecei há alguns meses com os primeiros passos ... ter um USB que inicialize em [U]EFI e em PCs apenas com BIOS (pronto), tendo Grub2 dentro de um LVM (feito para Modo BIOS, erro no modo [U]EFI), tantos passos para caminhar para a esquerda.

Espero que meu esquema e comandos possam ajudá-lo a descobrir como inicializar seu sistema, ou pelo menos dar-lhe uma opção de pesquisa.

informação relacionada