Olá pessoal,
Estou com um problema que já procurei ajuda de várias pessoas e ninguém conseguiu ainda resolver.
Eu estava atualizando meu linux mint instalado em um HD e o note travou no meio da atualização. Quando eu reiniciei ele travava no meio do caminho enquanto carregava o sistema sem completar a inicialização. Arrumei um SSD externo, instalei o mint nele, reiniciei o note por ele, entrei no meu HD via chroot e atualizei o sistema (apt update e upgrade). Porém, depois de eu desconectar o SSD e entrar pelo HD novamente ele passou a cair no grub. Depois de aprender como mexer nessa tela eu dei “ls” e apareceu as opções hd0; hd0,gpt1; hd0,gpt2; hd0,gpt3. O meu hd de 1 tera tá no sda 3. Percebi uma correspondência do hd0,gp1 com o sda1, do h0,gp2 com o sda2 e por consequência haveria uma correspondência do hd0,gp3 com o sd3 (que é aonde está a pasta de boot com kernels e etc). Porém, quando eu dou o comando no grub: “ls (hd0,gpt3)/” o retorno é: “unknown filesystem”, acredito que isso aconteça porque a unidade está criptografada. Alguém teria o conhecimento de como fazer o grub descriptografar uma unidade ou ver uma unidade criptografada ou alguma outra sugestão do que eu poderia fazer, ou se estou errando em algum ponto?
Gostaria de resolver esse problema sem precisar formatar o HD.
Boa tarde!
O Grub da alguma indicação do que pode afinal ser o problema?
Você sabe se seu HD está criptografado pelo cryptsetup ou pelo ecryptFS (aquela criptografia que o instalador do mint oferece na hora de criar o usuário).
Você usa LVM?
Tenta dar mais detalhes, como a máquina não dá boot print da tela fica difícil, mas se você tiver como tirar fotos com algum aparelho celular o câmera… Acho que seria preciso entender melhor como seu HD foi particionado pra ajudar.
Eu desistiria e formataria isso dai e colocaria como home, serio mesmo.
Vc pode fazer backup usando a palavra chave da criptografia, e se vc não tiver a senha então vc caiu no erro de não salvar um backup da palavra chave.
Sobre as nomenclatura do disco e partições dadas pelo Grub funciona da seguinte forma.
O Grub nomeia os discos da seguinte forma, o primeiro disco detectado pela BIOS ou UEFI é marcado com hd0 e o segundo é hd1 e o terceiro é hd2 e continua, já a partição é o mesmo esquema só que ao invés de ser a detecção é a posição das mesmas no disco, a primeira posicionada nos primeiros setores do disco é gp1(ou gp0) a segunda é gp2 a terceira partição é gp3 e em diante.
Cara, depende de como foi feita a criptografia de disco. Se tem uma partição para /boot sem ser criptografada (o comum) então vc pode carregar o configfile dela no prompt do grub com configfile (hd0,gpt3)/grub/grub.cfg
(ou algo parecido). Agora veja que o /boot poderá estar no “hd0,gpt2” então vale a pena investigar.
Lembre-se que vc precisa carregar o módulo do sistema de arquivos para poder acessar alguns tipos, por exemplo se estiver em btrfs. Daí vc precisa inserir módulo btrfs: insmod btrfs
e daí o grub vai conseguir carregar o conteúdo da partição em questão. Alguns módulos já são carregados por padrão mas vc pode tentar também:
insmod part_gpt
insmod ext2
Embora tenha jeito de configurar a criptografia de disco inteiro direto no grub, não é o normal pois daí precisaria dar duas vezes a senha para carregar o sistema. Mas se foi assim que foi feito, daí precisa carregar os módulos de criptografia do grub com
insmod cryptodisk
insmod luks
insmod luks2
e ainda usar o cryptmount -a
para montar todas as partições criptografadas detectadas. Isso se vc não tem raid ou lvm, que aí tem mais um nível de complicação.
Quando eu dou lsblk vem o seguinte retorno:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 732M 0 part /media/usurario/5ba03b1a-6218-4b3b-adbb-2d7b5aaa6bb3
└─sda3 8:3 0 930,3G 0 part
└─luks-e810a0f2-e49b-437a-b200-ccd63a4f58f4
253:0 0 930,3G 0 crypt
├─mint--vg-root
│ 253:1 0 929,3G 0 lvm /media/usurario/ec5195f8-b690-4c18-b536-8f67856c0897
└─mint--vg-swap_1
253:2 0 976M 0 lvm
sdb 8:16 0 465,7G 0 disk
├─sdb1 8:17 0 3,7G 0 part /media/usurario/Linux Mint 21_3 Cinnamon 64-bit
├─sdb2 8:18 0 1,9G 0 part [SWAP]
├─sdb3 8:19 0 1K 0 part
└─sdb5 8:21 0 460,1G 0 part /
sendo que o sda é meu HD criptografado interno com o problema e o sdb é meu SSD externo que estou usando. Vou anexar os prints.
Quando eu inicio vem essa imagem:
Aí eu dei o comando ls tanto no hd0 quanto no hd3, deu “unknown filesystem” pra ambos. No hd2 abre exatamente o mesmo conteúdo do meu sda2, não tem a pasta de boot mas contem imagens de kernels que não são as do meu uso. Eu entrei na 78 pra vc ver o que acontece:
Repare que o conteúdo da hd2 é o mesmo da sda2 com 700mb:
Enquanto que o sda com 900 gb tem a pasta boot e todas as outras com o kernel 79 que era o que eu usava:
Sobre a criptografia, eu dei
lsblk -f
e veio assim o sda3:
└─sda3
crypto 1 e810a0f2-e49b-437a-b200-ccd63a4f58f4
└─luks-e810a0f2-e49b-437a-b200-ccd63a4f58f4
LVM2_m LVM2 vhS6fe-7Zpw-hczw-jgEm-DTfp-W6Df-Q6Q3f6
├─mint--vg-root
│ ext4 1.0 ec5195f8-b690-4c18-b536-8f67856c0897 528,6G 37% /media/usurario/ec5195f8-b690-4c18-b536-8f67856c0897
└─mint--vg-swap_1
swap 1 b7827dc9-d559-452d-955b-ebed96afd2fd
Se tiver mais dúvidas e quiser que eu dou algum comando aqui, me fala.
Eu tenho a senha sim. Não estou conseguindo acessar por exemplo máquinas virtuais que estão dentro do meu HD pois dentro delas tem arquivos importantes.
Então, como eu mostrei pro reis-r, infelizmente a pasta de boot está no hd0,gpt3. Vou tentar o que vc sugeriu.
Editado:
Entrei lá ao digitar: configfile (hd0,gpt3)/grub/grub.cfg
deu uma espécie de um clear, colocando o prompt no início da tela. Continuei tentando ver o conteúdo do hd0,gpt3 e o retorno se manteve, mesmo inserindo alguns módulos.
Não sei se estou indo pelo caminho certo ou foi em vão já que sou iniciante. E o LVM parece que está instalado sim, como indica o retorno do comando lsblk -f:
└─sda3
crypto 1 e810a0f2-e49b-437a-b200-ccd63a4f58f4
└─luks-e810a0f2-e49b-437a-b200-ccd63a4f58f4
LVM2_m LVM2 vhS6fe-7Zpw-hczw-jgEm-DTfp-W6Df-Q6Q3f6
├─mint–vg-root
│ ext4 1.0 ec5195f8-b690-4c18-b536-8f67856c0897 528,6G 37% /media/usurario/ec5195f8-b690-4c18-b536-8f67856c0897
└─mint–vg-swap_1
swap 1 b7827dc9-d559-452d-955b-ebed96afd2fd
Bom dia!
Estou longe de ser um especialista nisso, mas acho que você está bem perto de solucionar o problema, persevere!
Sua root deve ser de fato (hd0,gpt3), porém o grub não consegue ler pois está como LUKS, e em cima do volume LUKS você tem uma LVM, o que é bem padrão até.
Tente checar se esses comandos fazem sentido:
insmod cryptodisk
cryptomount (hd0,gpt3)
insmod lvm
lvm vgscan
lvm vgchange -ay
ls /dev/mapper/
ls (mint--vg-root)/boot/
set root=(mint--vg-root)
linux /boot/vmlinuz root=/dev/mapper/mint--vg-root
initrd /boot/initrd.img
boot
Você precisa primeiro carregar o LUKS, depois a LVM, e aí sim dar o boot. Não sei se isso tudo precisa ser feito via GRUB, mas se bootar, maravilha.
Boa sorte!
Rapaz se é virtualbox vc pode importar as maquinas virtuais em outro sistema operacional, pode ser ate esse sistema operacional externo ai mesmo.
Bom dia
Ele até executou o cryptomount mas o comando lvm não executou:
EDITANDO:
Ops agora vi o erro que fiz, tentei ir pelo lvm/mint–vg-root em vez de só mint–vg-root e realmente a pasta root estava lá e eu consegui setar o root, dar os comandos linux, initrd e boot, mas quando começa a carregar cai nessa tela:
Será que é por eu não ter conseguido dar os comandos do lvm? A partir dessa busybox eu consigo bootar o linux? Realmente parece que estou próximo de resolver
Dá erro quando eu faço isso, e de qualquer forma parece que já to quase resolvendo, provavelmente nem vai precisar formatar
Se descriptografou o (hd0,gpt3) para (crypto0), então vc consegue carregar a configuração de lá:
configfile (crypto0)/grub/grub.cfg
Eu achei o configfile e consegui entrar por ele. A inicialização pede a senha de descriptalização normal, mas pouco depois de eu digitá-la aparece isso:
Editado:
Entrei no HD com o chroot, desativei o tor e quando eu reinicio, pouco depois de eu digitar a senha pra descriptografar, cai nessa tela:
…e fica. Se eu aperto o botão do power ele encerra normalmente, aparecendo o símbolo do mint “girando”
Editado 2: Depois de muito tentar, conseguir pegar a imagem que aparece antes de cair nessa tela:
Lembro que quando caiu na tela preta eu tentei dar ctrl+alt+f2 e f3 mas não foi pro terminal.
Então quando carregar a tela do GRUB vc:
- Seleciona a opção padrão e aperta e para editar
- Na linha que começa com
linux
vc apaga as opçõesquiet
e se tiversplash
- Manda iniciar com Ctrl + X
Daí vc vai conseguir ver todas as mensagens de erro da inicialização e investigar mais o que está acontecendo.
Em nenhum momento passa por essa tela aqui que peguei no meu ssd:
Logo que eu inicio o HD ja cai nessa aqui:
E depois de dar o comando, digitar a senha pra descriptografar o HD, passa por essa tela:
e fica escuro só com o cursor do teclado.
É rapaz, queria que isso não fosse verdade, mas a atualização não só quebro o boot loader(vc já conseguiu passar por essa parte) mas também quebro o sistema operacional(o que vc está travado agora) tem que descobrir como corrigir o sistema operacional com o chroot em liveusb.
Amigo, se importa de postar seus arquivos /etc/default/grub
, mais especificamente a linha GRUB_CMDLINE_LINUX_DEFAULT=
, /etc/fstab
e /etc/crypttab
?
O grub conseguiu descriptografar, se ele não tivesse teria continuado no grub, e como não continuo o grub então o bootloader passou pela criptografia e está no estagio de carregamento seguinte, os próximos estágios do carregamento do sistema operacional é que esta dando pau. a única função do bootloader é carregar o Linux, mas eu não sei em qual estagio está parado se é no Linux, systemd e initrd e tals, eu não lembro quais são os estágios.
Inclusive o initrd foi carregado porque se não tivesse nem teria pedido senha, e como o initrd depende do Linux, o Linux tmb foi carregado. Não lembro, mas o próximo passo pode ser o carregamento do systemd mas pode ser qualquer um dos próximos passos, já que não teve msg de erro.
O note travou na hora que eu atualizava de uma versão do linux para outra. Eu até fiz o apt upgrade e full-upgrade com o chroot depois mas acho que não foi o suficiente