Há pouco tempo, decidi redimensionar minha partição EFI. Não pergunte por que ... Desde então, eu não consigo mais inicializar normalmente. Para redimensionar, usei o gparted e mudei para o tamanho da partição para 268MB. Depois de ser incapaz de arrancar eu mudei de volta para o original 512MB sem sucesso. Agora estou inicializando meu sistema através do Super Grub Disk.
Eu tenho dois discos no meu sistema. 1 disco GPT principal (kingston) e um com MBR (WD) apenas para dados. Ignore o MBR. Você também verá um stick USB Transcend segurando o Super Grub Disk.
Meu layout atual para o disco principal é o seguinte:
sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): EA79EA21-C913-462F-9A23-9CD5D1E74496
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 2925 sectors (1.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI System Partition
2 1050624 1550335 244.0 MiB 8300
3 1550336 234440703 111.1 GiB 8E00
Então eu claramente tenho o ESP em / dev / sda. Esta é a saída de parted. Para lhe dar algumas informações sobre os detalhes da partição:
(parted) print
\Model: ATA KINGSTON SH103S3 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 EFI System Partition boot, hidden, esp
2 538MB 794MB 256MB ext2
3 794MB 120GB 119GB lvm
Agora, para o problema de inicialização ... Quando eu inicio o meu BIOS, eu recebo as seguintes opções de inicialização: (desculpe por ter que usar fotos ...)
Baseado no fato de que a tag "UEFI" não está presente no disco da Kingston, acho que a Asus não detectou este disco como GPT / EFI. Certamente, uma vez que está presente para a minha unidade flash SuperGrubDisk (que também é GPT com um ESP).
Ao tentar arrancar a partir do disco de qualquer maneira Im apresentado com uma tela preta. Isso me faz supor que está tentando inicializar a partir do MBR, que não tem nada de útil nele.
Então, quando eu inicio o disco super grub, eu obtenho as seguintes opções: Então, parece que o ESP está bem ali no HD1, GPT1 como esperado, e isso funciona perfeitamente bem.
Eu já mostrei a última versão do firmware na esperança de resolver isso. Meu último recurso é fazer o backup de dados e fazer uma reinstalação completa, mas quero tentar resolver isso da maneira correta primeiro.
Respostas:
Primeiro, alguns pontos-chave sobre o boot no modo EFI:
EFI/BOOT/bootx64.efi
para sistemas x86-64) que podem ser iniciados se nenhuma outra entrada for válida. Esse nome de arquivo foi originalmente planejado para uso na mídia de instalação (CDs, unidades flash USB, etc.), mas também pode ser usado em ESPs em discos rígidos.Colocando todos os itens acima juntos, minha suspeita é que quando você redimensionou seu ESP, você tornou o gerenciador de inicialização do Ubuntu inacessível ao firmware, que então o excluiu do seu gerenciador de boot integrado. Redimensionar a partição de volta ao seu tamanho original pode ou não ter corrigido o problema de acesso, mas mesmo se o sistema de arquivos estiver acessível, com a entrada de inicialização baseada em NVRAM desativada, você não poderá mais inicializar o gerenciador de inicialização - pelo menos não sem pular alguns aros extras, como usar o Super GRUB Disk.
Como primeiro passo para corrigir seu problema, recomendo que você execute
dosfsck
(ou alguma ferramenta equivalente de outro sistema operacional) no ESP. Isso deve corrigir qualquer problema persistente no sistema de arquivos.Com isso feito, você precisa criar uma nova entrada NVRAM para a entrada de inicialização. A maneira menos intrusiva de fazer isso é usar
efibootmgr
do Linux,bcfg
de um shell EFI, EasyUEFI oubcdedit
do Windows ou alguma ferramenta semelhante. Desde que você pode iniciar o Ubuntu agora, o seguinte comando deve fazer o truque:Se você estiver inicializando com o Secure Boot desativado, poderá alterar
shimx64.efi
paragrubx64.efi
; Contudo,shimx64.efi
deve funcionar com ou sem o Secure Boot ativado, por isso é melhor usá-lo, a menos que ele não funcione. Observe também as barras invertidas duplas (\\
) como separadores de diretórios; A EFI usa barras invertidas no estilo DOS / Windows (\
) em vez disso, barras do tipo Unix / Linux (/
) como separadores de diretórios, e as barras invertidas devem ser duplicadas ou colocadas entre aspas no Bash porque elas são usadas como caracteres de escape no Bash. (Eu ouço que versões recentes deefibootmgr
pode converter barras em barras invertidas, mas não sei a versão em que essa alteração apareceu, portanto é mais seguro usar as barras invertidas duplas.)Uma ressalva: Se o seu Super GRUB Disk estiver sendo inicializado no modo BIOS / CSM / legado,
efibootmgr
não vai funcionar. Se isso for verdade, você precisará fazer o procedimento acima usando um disco de emergência do Linux inicializado no modo EFI / UEFI. Alternativamente, você poderia usar meu rEFInd gerenciador de boot em disco flash USB ou CD-R para inicializar o Ubuntu no modo EFI, então useefibootmgr
para reativar o GRUB.fonte