Como determinar se um PC possui uma combinação de disco GPT e inicialização de BIOS herdada, onde o código de inicialização é lido no MBR?

Como determinar se um PC possui uma combinação de disco GPT e inicialização de BIOS herdada, onde o código de inicialização é lido no MBR?

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/efiexiste. 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 po 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

  1. A tabela de partição é GPT ("Encontrado GPT válido com MBR protetor; usando GPT.")
  2. 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.

diskpartO comando do list diskmostra 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-656564454649significa 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.

informação relacionada