Em umComente, Johan escreveu:
Na rara combinação de disco GPT + inicialização de BIOS herdada, o código de inicialização é lido da maneira antiga no MBR
Qual é a maneira correta de determinar se um PC possui a combinação rara descrita acima? Quais comandos do Windows e/ou Linux devem ser usados para examinar o disco em busca de tal condição?
Responder1
Se você tiver uma instalação Linux funcionando no PC, poderá verificar se o diretório /sys/firmware/efi
existe. Se existir, então o seu computador possui firmware EFI e não está no modo de compatibilidade do BIOS. Se o diretório estiver faltando, a máquina será inicializada usando o BIOS legado.
O esquema de particionamento pode ser verificado usando fdisk
. Se fdisk
p
o comando ("imprimir a tabela de partição") reportar "msdos" para o tipo disklabel, então o disco possui uma tabela de partição MBR antiga. Se o tipo de disklabel for "gpt", você possui um disco GPT.
Responder2
Não sei se é uma condição rara, é uma das maneiras sensatas de usar discos maiores em máquinas mais antigas. Ou quando o firmware do sistema apresenta erros e, por exemplo, não retorna corretamente para um segundo disco ao inicializar uma configuração RAID de software.
Primeiro, você verificaria se a máquina não inicializou com EFI. Ver "Como saber se estou inicializando usando UEFI?" checar.
No Linux:
No Linux, você deverá ver alguns indicadores se executargdisk -l /dev/DISK
- A tabela de partição é GPT ("Encontrado GPT válido com MBR protetor; usando GPT.")
- Existe uma partição de inicialização do BIOS (listada como código EF02). É aqui que reside a maior parte do GRUB (ele substitui os setores que em um MBR tradicional ficam entre o setor de boot e a primeira partição).
Exemplo, de um dos meus discos:
# gdisk -l /dev/sdd
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdd: 5860533168 sectors, 2.7 TiB
Model: ST3000VN000-1HJ1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 3F3F7901-A38A-42FF-A7BA-8FBD1C35FB11
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5582 sectors (2.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 259024 125.5 MiB 8300 Linux filesystem
2 260096 517135 125.5 MiB 0700 Microsoft basic data
3 518144 1953524128 931.3 GiB 8300 Linux filesystem
4 1953525760 3907033263 931.5 GiB 8300 Linux filesystem
5 3907035136 5860533134 931.5 GiB 8300 Linux filesystem
128 34 2047 1007.0 KiB EF02 BIOS boot partition
No Windows:
Observe que este é um disco diferente que configurei rapidamente para uma VM.
diskpart
O comando do list disk
mostra um *
na coluna GPT se um disco estiver usando GPT:
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 40 GB 0 B
Disk 1 Online 20 GB 0 B *
Infelizmente, list partition
(depois de selecionar o disco usando select disk 1
) mostra as duas partições como "desconhecidas":
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Unknown 4096 KB 17 KB
Partition 2 Unknown 19 GB 5120 KB
mas se você detalhá-los (depois select partition 1
), obterá o tipo GUID:
DISKPART> detail partition
Partition 1
Type : 21686148-6449-6e6f-744e-656564454649
Hidden : Yes
Required: No
Attrib : 0000000000000000
Offset in Bytes: 17408
e 21686148-6449-6e6f-744e-656564454649
significa partição de inicialização do BIOS. ( 0fc63daf-8483-4772-8e79-3d69d8477de4
, aliás, é uma partição genérica do Linux).
Alternativamente, em Gerenciamento de disco, selecione o disco, escolha Propriedades e verifique a guia Volumes. Isso lhe dirá se o “estilo de partição” é MBR ou GPT. Infelizmente, não parece haver uma maneira de obter os tipos de partição no Gerenciamento de disco.