Quando as pessoas dizem "No primeiro setor legível", elas se referem à legibilidade do firmware ou do sistema operacional e há alguma diferença?

1

Eu estava estudando para o meu exame Linux + e enquanto fazia anotações estava tentando explicar as diferentes etapas do bootloader grub para mim mesmo em minhas anotações e fiquei preso a um fato específico. Para meu entendimento no disco rígido com uma tabela de partição mbr, os primeiros 512 bytes (disco interno) armazenam a tabela de partição e o primeiro estágio do gerenciador de inicialização (no meu caso grub). Eu queria dizer:

MBR style disks utilize the first 512 bytes of the drive for storing the partition table and the stage 1 bootloader. The stage 1 bootloader is the first of 2 parts of the bootloaders portion of the boot sequence. First the BIOS/UEFI looks within the first readable sector (512 bytes) of a mbr partitioned drive for the location of stage 1.5 of the bootloader. Stage 1 is essentially a pointer to tell BIOS/UEFI where to look for the second part of the bootloader. The second portion of the bootloader is stored on the first readable sector of the hard drive (usually several kib in size).

Mas não sou capaz de confirmar por meio de pesquisa se é correto dizer que o primeiro estágio ou o segundo estágio é o primeiro setor legível e não sei se ele variaria dependendo da perspectiva de componentes, do sistema operacional ou o firmware no caso de o sistema operacional não conseguir ler o mbr.

Para resumir, minhas perguntas são:

Quando as pessoas dizem "o primeiro setor legível" estão falando do ponto de vista do sistema operacional ou do firmware (BIOS / UEFI)?

Existe alguma diferença entre o que o sistema operacional pode ver de um disco mbr em comparação com o que os computadores finais podem ver (UEFI / bios)?

Para discos GPT, a partição de inicialização do BIOS existe apenas para compatibilidade com BIOS?

Alguns dos gráficos que eu estava olhando para entender este tópico:

MBR vs GPT

GPT com a partição de inicialização do Bios

Créditos: âncora. com.au

    
por Kyle 26.02.2018 / 02:41

3 respostas

3

But I'm not able to confirm through research that it is correct to say the first stage or second stage is the first readable sector

O primeiro setor é o primeiro setor. No que diz respeito ao BIOS legado, ele carregaria apenas o primeiro setor de uma unidade na memória e passaria o controle para o que estiver lá (esse "estágio 1"). A própria BIOS nunca está ciente, nem se preocupa com, qualquer "estágio 1.5", "estágio 2", etc. (que são específicos do GRUB - enquanto outros gerenciadores de inicialização tipicamente aplicam métodos similares, não há regras que exijam isso) . Na verdade, o BIOS nem se importa com o que "estágio 1" é ou faz, desde que esse setor possa ser lido a partir do disco (embora alguns firmwares procurem um sinalizador marcando-o como inicializável).

When people say "the first readable sector" are they talking from the operating system or firmware (BIOS/UEFI) perspective?

Geralmente a mesma coisa, embora haja exceções. "primeiro setor legível" em si não lhe diz nada sobre a perspectiva de quem você está lendo. Isso dependeria do contexto.

Does a difference exist between what the operating system can see of a mbr disk in comparison to what the computers fimware can see (UEFI/bios)?

Geralmente, não - supondo que o sistema operacional tenha acesso direto ao disco físico. Uma exceção é se a virtualização estiver envolvida.

For GPT Disks does the BIOS Boot partition only exist for backwards compatibility with BIOS?

Sim. A maioria das instalações baseadas em GPT não possui uma partição de inicialização do BIOS. Em vez disso, eles possuem apenas uma partição de sistema EFI projetada para inicialização a partir de firmware compatível com EFI.

Existem exceções ao acima. Por exemplo, a Área protegida do host pode efetivamente ocultar parte da unidade, no entanto, a HPA está no final do espaço endereçável não o começo.

Outras abstrações podem entrar em jogo. Por exemplo, alguns tipos de RAID funcionam no nível do driver do sistema operacional, deixando o firmware da placa-mãe e o sistema operacional com exibições diferentes da unidade. Outros tipos carregarão uma ROM opcional no firmware da placa-mãe, o que pode fazer com que o firmware veja um "primeiro setor" diferente do que é exposto pelo disco. O RAID "falso" da Intel é um exemplo disso.

E até mesmo o que o disco expõe como o "primeiro setor" (primeiro bloco, com LBA) pode ser diferente do que está fisicamente no disco. Estamos muito além dos velhos tempos, quando o controlador de disco estava separado do disco físico e, atualmente, não sabemos mais exatamente como a estrutura interna do disco é projetada. Se você realmente quer ser técnico, você poderia afirmar que o "primeiro setor legível" difere do que é interno à unidade, mas isso é em grande parte inútil. As unidades modernas também podem remapear setores "ilegíveis" (danificados) para poupar áreas internamente - isso é transparente para tudo que é externo.

A nota lateral, first readable sector , na verdade, aparece em um comentário na origem do kernel do Linux 2.4 (removida na versão 2.6) para o Advanced Disc Filing Sistema em acorn.c . Note que este sistema de arquivos (e o sistema em que foi introduzido) é da década de 1980 e há muito em desuso. Da Wikipedia:

Hard disc support in ADFS used the same format as L format floppies in terms of 256-byte blocks;[5] only the underlying arrangement of tracks and sectors differed depending on the actual drive used, but this was managed by the SCSI controller. It interfaced to a ST506/ST412-based Winchester unit via the BBC Micro's 1 MHz Bus, an Acorn-designed interface card (1 MHz Bus to SCSI adapter) and an off-the-shelf Adaptec SCSI controller (SCSI to ST-506 adapter).

    
por 26.02.2018 / 03:13
1

A partição "BIOS Boot" é necessária apenas pelo Grub em um PC que está inicializando no modo de compatibilidade ("BIOS") de um disco com particionamento GPT. O Grub precisa da partição extra para armazenar o estágio 1.5 de si mesmo lá. O Grub tradicionalmente armazena esses dados em setores no primeiro "cilindro" do disco, antes do início da primeira partição. Isto é um truque sujo, porque esta área é uma espécie de "terra de ninguém" e não é garantida a liberdade. E, de fato, não é grátis se você estiver usando um particionamento GPT, já que a tabela de partição GPT é armazenada nesses blocos de disco. Daí a necessidade de uma partição separada. Ao inicializar no modo UEFI, o Grub é carregado a partir da partição do sistema EFI. (Ao inicializar no modo UEFI, o Grub não é realmente necessário, mas é uma história diferente.)

    
por 26.02.2018 / 08:05
0

Você precisa entender o pedido: sistema operacional > BIOS > FIRMWARE.

Neste caso, o firmware é o firmware da unidade.

O BIOS quer os primeiros 512 bytes do LOGICAL, porque somente o firmware do drive sabe onde ele está localizado na superfície magnética (HDD) / qual célula elétrica pertence a ele (SSD).

Então, tudo lógico até o hardware final, apenas o hardware final funciona com endereços físicos reais.

O pedido para o primeiro 512 bytest endereçado a DRIVE, não depende do SO ou BIOS.

When people say "the first readable sector" are they talking from the operating system or firmware (BIOS/UEFI) perspective?

Eles falam da perspectiva da DRIVE.

Does a difference exist between what the operating system can see of a mbr disk in comparison to what the computers fimware can see (UEFI/bios)?

Independente do tipo de BIOS, tudo começa no primeiro setor e seu conteúdo decidir onde encaminhar (não limite para HDD, disco óptico pode não ter inicialização gravar, mas eles têm 0 setor lógico)

For GPT Disks does the BIOS Boot partition only exist for backwards compatibility with BIOS?

Não é necessário ser uma partição de inicialização (como em HDDs somente de armazenamento ou volumes raidX). Em sistemas EFI, há uma partição EFI na unidade do sistema.

    
por 26.02.2018 / 02:58