O que /boot/efi faz no meu Ubuntu?

O que /boot/efi faz no meu Ubuntu?

Quando eu $cd /bootentro no diretório /boot e depois $ls -l, ele mostra:

.........
drwx------ 2 root root      4096 Jan  1  1970 efi
.........

Aqui eu apenas escondo todos os outros arquivos mostrados no diretório.

Mas quando sou $ls -l efiusuário root, isso mostra:

total 0

Quando corro $df -h /boot/efi, aparece:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       511M  4.0K  511M   1% /boot/efi

Quando corro $df -h | grep sda1, aparece:

/dev/sda1       511M  4.0K  511M   1% /boot/efi

Quando corro $fdisk -l /dev/sda, aparece:

Disk /dev/sda: 119.25 GiB, 128035676160 bytes, 250069680 sectors
Disk model: GIM128
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x122b13d1

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048   1050623   1048576   512M  b W95 FAT32
/dev/sda2       1052670 250068991 249016322 118.8G  5 Extended
/dev/sda5       1052672 250068991 249016320 118.8G 83 Linux

Eu me pergunto por que o sda1 usa o tipo 'W95 FAT32' e para que é usado o efi. Comprei a máquina Linux (computador industrial) de um fornecedor que me disse que acabou de instalar o sistema com as configurações padrão. O sistema operacional é Ubuntu 20.04.4 LTS.

Responder1

Qualquer sistema baseado em UEFI - UEFI é o novo firmware que substituiu o BIOS dos anos 80 - requer, para qualquer instalação no modo UEFI, uma pequena partição formatada em FAT32 onde o bootloader está instalado ou mais de uma se for inicialização dupla ou múltipla. Explicação adicional no final.

Então, o que você vê é normal e esperado em qualquer computador da última década independente do sistema operacional pré-instalado.

BIOS e UEFI são firmwares.

O primeiro foi usado para PCs e compatíveis/clones desde o primeiro PC em 1981 até cerca de 2008/9. Em seguida, o BIOS foi substituído por um firmware mais novo e com muito mais recursos chamado UEFI. Então, desde 2012 e o Windows 8, a Microsoft praticamente "forçou" todos os fabricantes a pré-instalar o Windows no modo UEFI e GPT.

Você não precisa e não deve "navegar" /boot/efi (que, aliás, é apenas um ponto de montagem para a partição do sistema EFI), a menos que você saiba o que está fazendo. Em vez disso, o que você realmente precisa fazer é entender o que é UEFI, como ele inicializa e seus requisitos, especialmente durante a inicialização dupla.

Responder2

Deixe-me fazer um resumo e concluir a pergunta. Depois de ler as respostas e comentários, pesquiso terminologias relevantes no Google e acredito que a questão pode ser concluída da seguinte forma. Emhttps://en.wikipedia.org/wiki/EFI_system_partition, diz:

UEFI fornece compatibilidade retroativa com sistemas legados, reservando o primeiro bloco (setor) da partição para código de compatibilidade, criando efetivamente um setor de inicialização legado. Em sistemas herdados baseados em BIOS, o primeiro setor de uma partição é carregado na memória e a execução é transferida para esse código. O firmware UEFI não executa o código no MBR, exceto ao inicializar no modo BIOS legado por meio do Módulo de Suporte de Compatibilidade (CSM).

A especificação UEFI exige que as tabelas de partição MBR sejam totalmente suportadas.1No entanto, algumas implementações de UEFI mudam imediatamente para a inicialização CSM baseada em BIOS ao detectar certos tipos de tabela de partição no disco de inicialização, impedindo efetivamente que a inicialização UEFI seja executada a partir de partições de sistema EFI contidas em discos particionados por MBR.

Então, para verificar se minha máquina Linux usa GPT ou MPR, executo $ sudo parted -l, mostra:

Model: ATA GIM128 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End    Size   Type      File system  Flags
 1      1049kB  538MB  537MB  primary   fat32        boot
 2      539MB   128GB  127GB  extended
 5      539MB   128GB  127GB  logical   ext4

O campo Tabela de Partição mostra que estou usando uma tabela de partição MBR msdos (aquela ainda comumente usada para Linux e Windows).

Portanto, em conclusão, no meu caso, embora a partição de inicialização (partição primária) esteja montada em/boot/efi, ela usa efetivamente um carregador de inicialização baseado em BIOS.

informação relacionada