
É um cenário comum. Por alguma razão, o initramfs (OpenSUSE, caso seja importante) não conseguiu encontrar o sistema de arquivos raiz, então ele coloca você em um shell de resgate. Eu sei perfeitamente qual dispositivo precisa ser montado. Minha pergunta:
Qual é o procedimento correto para montar o sistema de arquivos raiz e continuar a sequência de inicialização?
Presumivelmente, isso é tudoapontardo console de resgate. E ainda assim, ninguém parece ter documentado como você realmente faz isso.
Obviamente posso montar o sistema de arquivos raiz em algum lugar. Mas como faço para que oraizda árvore do sistema de arquivos? E agora continuo o processo normal de inicialização depois disso? (Achei que apenas sair do shell resolveria... mas não resolve.) O que exatamente você precisa para montar antes de continuar e como continuar?
Responder1
exec switch_root /mnt/root /sbin/init
Responder2
Depende do tipo de problema, se o problema estava atrapalhando a própria imagem initramfs, então você precisará regenerá-la (executar update-initramfs) para consertar as coisas. Lembre-se de que o sistema de arquivos initramfs é um sistema de arquivos RAM, portanto, para consertar qualquer coisa, você precisa consertar a imagem initramfs compactada e/ou consertar o sistema de arquivos raiz.
Usei o seguinte procedimento em um sistema Ubuntu criptografado com LUKS para retomar uma inicialização interrompida por um crypttab defeituoso.
Primeiro, descriptografei a partição
cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt
Observe que device_crypt
não é aleatório. Ele precisa corresponder ao nome normalmente usado quando o sistema é montado (partição + _crypt parece ser o padrão).
Em seguida, você precisa ativar os grupos de volumes nessa partição agora descriptografada.
vgchange -ay
Agora, você pode tentar montar os sistemas de arquivos, /, /boot, proc, swap, etc, e fazer as coisas funcionarem dessa maneira.
Embora no meu caso tudo que eu precisei fazer foi digitar exit e o initramfs viu os volumes lógicos ali e retomou a inicialização com alegria. Nesse ponto foi fácil consertar o dano e correrupdate-initramfs -u
Responder3
Simplesmente execute fsck
o comando sem opções e initramfs
reinicie
por exemplo: a partição raiz ésda3
fsck /dev/sda3
Responder4
procedimento normal é
- montar /dev/sdX /mnt
- corrigir problema em /mnt
- reinício
Você pode querer
- montar /dev/sdX /mnt
- consertar /mnt
- quantidade /mnt
- montar /dev/sdX /
- terminar a inicialização manualmente
Isso não é recomendado, você terá que fazer isso em cada inicialização. Em um ambiente de produção, você não pode ter certeza de que a inicialização manual segue as mesmas etapas da inicialização automática.
No entanto, numa emergência com dados críticos, o passo 5 geralmente se resume a:
- 5.1 configurar rede
- 5.2 copie o arquivo importante para um local seguro