Sem ter acesso ao display físico, como posso saber se meu computador está sendo inicializado pelo grub ou systemd-boot?
Como escrevi no título, tenho as pastas /boot/grub/
e /boot/efi/EFI/systemd/
.
Por outro lado dd if=/dev/sda bs=512 count=1 2>/dev/null | strings
retorna o seguinte:
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
Error
Mas por outro lado cat /boot/efi/EFI/BOOT/BOOTX64.EFI | strings |grep systemd
retorna#### LoaderInfo: systemd-boot 247.3-7+deb11u1 ####
Entããão... O que está acontecendo aqui? É o computador usando grub ou systemd-boot?
EDITAR: efibootmgr -v
saída:
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0005,0006,0007,0008,0000,0003,0001
Boot0000* Windows Boot Manager VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a...............
Boot0001* Linux Boot Manager VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* Linux Boot Manager HD(2,GPT,1eded8dc-d1ab-4723-b499-b718400c1898,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0003* Linux Boot Manager VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0004* Linux Boot Manager HD(2,GPT,ed10b328-3615-45c0-bf5b-b117031e4c22,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0005* UEFI OS HD(2,GPT,26b839e2-9a19-4e21-ad28-dbd1c15d598d,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0006* Hard Drive BBS(HD,,0x0)..GO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.7.0. .Q.V.O. .1.T.B...................A..........................>..Gd-.;.A..MQ..L.5.S.R.R.F.N.R.0.3.B.0.5.8.4. .Y. . . . .......BO..NO........o.S.T.1.2.0.0.0.N.M.0.0.1.G.-.2.M.V.1.0.3...................A..........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .T.Z.0.N.9.0.G.2.......BO..NO........o.S.T.1.2.0.0.0.N.M.0.0.1.G.-.2.M.V.1.0.3...................A..........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .T.Z.0.N.2.1.T.1.......BO..NO........o.S.T.1.2.0.0.0.N.M.0.0.1.G.-.2.M.V.1.0.3...................A..........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .T.Z.0.N.8.0.J.C.......BO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.7.0. .Q.V.O. .1.T.B...................A..........................>..Gd-.;.A..MQ..L.5.S.R.R.F.N.R.0.3.B.0.5.9.7. .P. . . . .......BO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.7.0. .E.V.O. .1.T.B...................A..........................>..Gd-.;.A..MQ..L.6.S.U.P.M.N.T.0.3.5.7.8.4.2. .L. . . . .......BO
Boot0007* UEFI OS HD(2,GPT,1eded8dc-d1ab-4723-b499-b718400c1898,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0008* UEFI OS HD(2,GPT,ed10b328-3615-45c0-bf5b-b117031e4c22,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
O fato de
efibootmgr -v
funcionar prova que seu sistema possui serviços de tempo de execução UEFI ativados, o que só pode acontecer quando o sistema é inicializado no modo UEFI.(Como Marcus Müller disse nos comentários, a inferência reversa não pode ser feita: seria possível inicializar no modo UEFI mesmo sem os serviços de tempo de execução UEFI ativados, seja porque o firmware opta por não fornecê-los ou porque o kernel está ausente do opção de tempo de compilação necessária para usá-los. Em kernels mais recentes, também é possível desabilitar o uso de serviços de tempo de execução UEFI por uma opção de inicialização, por exemplo, para contornar bugs em implementações de firmware UEFI específicas.)
Quando seu sistema foi inicializado, ele usou a
Boot0004
opção de inicialização, que usasystemd-bootx64.efi
em uma partição cujo PARTUUID éed10b328-3615-45c0-bf5b-b117031e4c22
. Então você está usando atualmentesystemd-boot
. Você pode ver os PARTUUIDs comlsblk -o +partuuid
.Seus
dd if=/dev/sda bs=512 count=1 2>/dev/null
resultados indicam que umai386-pc
versão do GRUB compatível com o BIOS foi instalada nesse disco em algum momento, mas, a menos que o sistema esteja configurado com o módulo de compatibilidade do BIOS (CSM) ativado, isso não fará sentido para o firmware UEFI. É possível (embora não certo) que aBoot0006
opção de inicialização represente a inicialização desse disco no modo compatível com o BIOS.Observe que a
i386-pc
versão do GRUB não está totalmente contida no bloco Master Boot Record: ele também precisa incorporar o restante da imagem principal do GRUB em um local fixo no disco. Em um disco particionado por MBR, o espaço não utilizado entre o MBR e o início da primeira partição é normalmente usado para isso; em um disco particionado por GPT, esse espaço é ocupado pelas estruturas da tabela de partições GPT, portanto, uma partição "biosboot" dedicada seria necessária para inicializar com um GRUB estilo BIOS a partir de um disco particionado por GPT.No entanto, a Microsoft optou por unir o método de inicialização e o esquema de particionamento em seu sistema operacional Windows, portanto, um Windows instalado em um disco particionado por MBR só inicializará no estilo BIOS, e um Windows instalado em um disco particionado por GPT só sempre inicialize no estilo UEFI. Um gerenciador de inicialização normalmente não pode alternar entre os estilos de inicialização, portanto, se você tiver vários sistemas operacionais instalados, é mais conveniente usar o mesmo método de inicialização (BIOS ou UEFI) com todos eles.
A presença do texto
Windows Boot Manager
naefibootmgr -v
saída sugere que você pode ter um sistema operacional Windows inicializando no modo UEFI; portanto, se quiser usar o GRUB, use ax86_64-efi
versão nativa do UEFI do GRUB em vez dai386-pc
versão do BIOS.https://itsfoss.com/check-uefi-or-bios/
dá resposta para windows e linux
no linux, depois de fazer o SSH, a maneira mais fácil de descobrir se você está executando UEFI ou BIOS é procurar uma pasta
/sys/firmware/efi
. A pasta estará ausente se o seu sistema estiver usando o BIOS.