Tabela de conteúdos
POP - Diagnóstico e Recuperação de Boot EFI/GRUB no Proxmox VE e Proxmox Backup Server
Objetivo
Este POP tem como objetivo auxiliar administradores na:
* Identificação de falhas de boot * Descoberta da estrutura de discos do ambiente * Identificação de partições EFI * Identificação de RAID/ZFS * Descoberta do local do sistema operacional * Recuperação do GRUB/EFI * Recuperação pós-upgrade * Recuperação após falhas de boot
Compatível com:
* Proxmox VE * Proxmox Backup Server * Debian * RAID mdadm * ZFS * EXT4 * UEFI
Cenários Comuns
* Sistema não sobe após upgrade * Kernel panic * GRUB corrompido * Loop de boot * Boot travado * “No bootable device” * Erro de EFI * Sistema inicia apenas em rescue * Ambiente inacessível após atualização do Proxmox
Pré-requisitos
* Acesso ao Rescue System ou Live Linux * Acesso root * Conhecimento básico Linux * Backup recomendado
1. Identificando Estrutura do Ambiente
Listar discos
lsblk
Exemplo
NAME SIZE TYPE sda 5.5T disk sdb 5.5T disk sdc 5.5T disk sdd 5.5T disk nvme0n1 476G disk nvme1n1 476G disk md2 1G raid1 md3 450G raid1
Como interpretar
| Estrutura | Interpretação |
|---|---|
| HDDs grandes | Geralmente storage ZFS |
| SSD/NVMe menores | Geralmente sistema operacional |
| mdX | RAID mdadm |
| zfs_member | Disco pertencente ao pool ZFS |
| vfat | Partição EFI |
| ext4 | Sistema Linux |
Identificar partições
blkid
Exemplos Importantes
EFI
TYPE="vfat" LABEL="EFI_SYSPART"
RAID
TYPE="linux_raid_member"
ROOT
LABEL="root" TYPE="ext4"
BOOT
LABEL="boot" TYPE="ext4"
ZFS
TYPE="zfs_member"
2. Descobrindo Onde Está o Sistema Operacional
Estrutura mais comum em RAID1
| Partição | Função |
|---|---|
| /dev/md3 | Root do sistema |
| /dev/md2 | /boot |
| /dev/nvme0n1p1 | EFI principal |
| /dev/nvme1n1p1 | EFI secundária |
Identificando ROOT
Normalmente:
LABEL="root" TYPE="ext4"
Identificando BOOT
Normalmente:
LABEL="boot" TYPE="ext4"
Identificando EFI
Normalmente:
TYPE="vfat"
Identificando Storage ZFS
Exemplo:
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
3. Validando RAID
Verificar status
cat /proc/mdstat
Resultado esperado
md3 : active raid1 md2 : active raid1
Ver detalhes
mdadm --detail --scan
Ver array específico
mdadm --detail /dev/md3
Se RAID não subir
mdadm --assemble --scan
4. Validando ZFS
Descobrir pools
zpool import
Importar pool
zpool import -f NOME_DO_POOL
Verificar status
zpool status
Ver datasets
zfs list
Interpretação
Se o pool aparecer como:
ONLINE
Há forte indicativo de integridade do storage.
5. Validando UEFI
Verificar se sistema usa UEFI
ls /sys/firmware/efi
Interpretação
Se existir conteúdo:
* Ambiente utiliza UEFI
6. Montando o Ambiente
Montar ROOT
Exemplo:
mount /dev/md3 /mnt
Montar BOOT
mkdir -p /mnt/boot mount /dev/md2 /mnt/boot
Montar EFI
mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi
7. Preparando Chroot
Montar pseudo-filesystems
mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys mount --bind /run /mnt/run
Entrar no ambiente
chroot /mnt
8. Validando Estrutura EFI
Verificar conteúdo
ls -R /boot/efi
Estrutura esperada
/boot/efi/EFI/proxmox
Arquivos esperados
grubx64.efi shimx64.efi grub.cfg
9. Corrigindo GRUB EFI
Reinstalar GRUB
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=proxmox
Possível Warning
EFI variables cannot be set on this system
Interpretação
Comum em Rescue Systems. Não impede funcionamento do boot.
Atualizar configuração
update-grub
Regenerar initramfs
update-initramfs -u -k all
Possível Warning
No /etc/kernel/proxmox-boot-uuids found
Interpretação
Pode ocorrer em ambientes sem proxmox-boot-tool.
10. Criando Fallback EFI
Alguns servidores/provedores não gravam corretamente EFI na NVRAM.
Criar estrutura
mkdir -p /boot/efi/EFI/BOOT
Criar fallback
Recomendado:
cp /boot/efi/EFI/proxmox/shimx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI
Alternativa
cp /boot/efi/EFI/proxmox/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI
11. Validando Discos
Instalar smartmontools
apt install smartmontools -y
Verificar disco
smartctl -a /dev/sda
Validar
* Reallocated_Sector_Ct * Current_Pending_Sector * Offline_Uncorrectable * Erros ATA
12. Validando Espaço
Verificar utilização
df -h
Validar especialmente
* / * /boot * datastore * storage ZFS
13. Logs e Diagnóstico
Ver logs do boot
journalctl -xb
Ver mensagens do kernel
dmesg
Ver erros críticos
journalctl -p 3 -xb
14. Serviços Proxmox
Proxmox VE
systemctl status pveproxy systemctl status pvedaemon systemctl status pvestatd
Proxmox Backup Server
systemctl status proxmox-backup systemctl status proxmox-backup-proxy
15. Rede
Interfaces
ip a
Rotas
ip route
DNS
cat /etc/resolv.conf
16. Finalização
Sair do chroot
exit
Desmontar ambiente
umount -R /mnt
Reiniciar
reboot
17. Problemas Comuns
Sistema continua entrando em Rescue
Verificar:
* Rescue mode desabilitado * ISO virtual removida * Ordem de boot correta * Disco correto configurado
Pool ZFS não importa
Executar:
zpool import -f NOME_DO_POOL
RAID degradado
Verificar:
cat /proc/mdstat
Kernel não encontrado
Verificar:
ls /boot
EFI vazia
Reinstalar GRUB.
Sem espaço em /boot
Remover kernels antigos.
18. Boas Práticas
* Manter múltiplas EFI * Validar SMART periodicamente * Validar RAID periodicamente * Validar boot após upgrades * Testar recovery * Manter documentação da estrutura do ambiente * Possuir backup externo * Monitorar espaço em /boot
19. Comandos Rápidos
Discos
lsblk fdisk -l blkid
RAID
cat /proc/mdstat mdadm --detail --scan
EFI
efibootmgr -v
ZFS
zpool status zpool import zfs list
Espaço
df -h
SMART
smartctl -a /dev/sda
Logs
journalctl -xb dmesg
