Partição '' partição de inicialização EFI '' e '' biosgrub ''

21

Por que eu preciso disso? Instalei o Ubuntu sob um UEFI (registro mestre de inicialização) e instalei o Ubuntu sem o 'biosgrub' e ele funciona bem, enquanto outras vezes me pedem para fazer uma partição 'biosgrub'. Não sei por que às vezes preciso e outros não (ambos estão no mesmo sistema).

E o mesmo acontece quando eu uso o UEFI (GUID Partition Table). A única diferença é que me pedem para fazer uma 'partição de inicialização EFI', mas, como no 'biosgrub', às vezes me pedem para fazer isso e outras vezes não.

Para minha instalação atual, fui solicitado a fazer uma, mas não fiz e meu sistema está bom. Não há alterações no sistema, mesmo hardware, BIOS, etc ... Alguém poderia esclarecer isso?

GhostMotleyX
fonte
2
Você precisa ser consistente na inicialização. Somente se no modo de inicialização UEFI for necessário a partição efi e somente no modo de inicialização do BIOS com particionamento gpt será necessária a partição bios_grub. Se você estiver usando o UEFI, mas inicialize o Boot-Repair no modo BIOS e tente instalar o grub no modo BIOS, solicitará que você crie uma partição bios_grub.
oldfred

Respostas:

34

Existem quatro condições (BIOS x EFI e MBR x GPT), mas duas delas têm necessidades idênticas (e uma delas é extremamente rara):

  • Em um computador tradicional baseado em BIOS e com uma tabela de partição MBR tradicional, o código executável do GRUB se espalha como espaguete jogado por um bebê. Algumas delas estão na seção de código de inicialização do MBR, outras estão nos setores pós-MBR oficialmente não alocados e outras na /bootpartição Linux . Essa é uma verdadeira bagunça, e funciona apenas porque os desenvolvedores tiveram literalmente décadas para criar hacks inteligentes e resolver (quase) todas as torções.
  • Em um computador tradicional baseado em BIOS com uma nova tabela de partição GUID (GPT), o código GRUB é semelhante ao do caso anterior; no entanto, os setores imediatamente após o MBR não são alocados; eles são usados ​​pelo próprio GPT. A GPT não oferece lugar análogo para o GRUB seqüestrar; portanto, os desenvolvedores do GRUB optaram pela BIOS Boot Partition (que GParted e partedidentificada por um bios_grubsinalizador) para conter o código que iria nos setores pós-MBR em um disco MBR. Na verdade, é mais seguro e limpo do que a abordagem MBR, pois serve para proteger o código GRUB de outros programas que podem tentar usar esse espaço não alocado.
  • Em um computador com uma EFI mais recente, em vez de um BIOS, os carregadores de inicialização não são armazenados no MBR, nos setores pós-MBR oficialmente não alocados ou nas Partições de Inicialização do BIOS; em vez disso, os carregadores de inicialização residem como arquivos comuns em uma partição FAT conhecida como EFI System Partition (ESP) . ( Confusamente, os instaladores do Debian e Ubuntu se referem ao ESP com o nome "Partição de inicialização EFI", mas esse nome não é padrão. GPartou e partedidentificou o ESP como tendo seu "bootflag ", embora essa terminologia signifique algo completamente diferente nos discos MBR.) Um ESP pode existir em um disco GPT ou MBR, mas o primeiro é muito mais comum em computadores baseados em EFI. A abordagem EFI é muito mais segura e muito mais flexível do que a abordagem do BIOS, já que não guarda o código bruto em lugares estranhos; os carregadores de inicialização residem em arquivos, assim como os programas no nível do sistema operacional, o que facilita a identificação e a manipulação. (OTOH, EFI também armazena dados em carregadores de inicialização na NVRAM, o que cria um segundo ponto de falha no processo de inicialização. A novidade da EFI também significa que ela não é tão bem testada, o que explica uma série de problemas específicos da EFI.

GhostMotleyX, seu comentário à resposta do LiveWireBT opinou que a "melhor" maneira de instalar é o BIOS / MBR. Isso é subjetivo, é claro, mas eu discordo dessa avaliação. A abordagem BIOS / MBR é a menos segura e a maisdesajeitado das três abordagens que acabei de descrever. A abordagem EFI é a abordagem mais segura e flexível. Eu suspeito que você esteja se preocupando com o fato de que partições separadas são necessárias para as abordagens GRUB / GPT e EFI, mas isso não é grande coisa. Além de configurar o sistema ou fazer a manutenção da partição, essas partições serão praticamente invisíveis para você e oferecem muita flexibilidade. Ao contrário do MBR, o GPT não se limita a quatro partições primárias; portanto, você não precisa acumular suas partições primárias como um duende acumulando seu ouro.

Rod Smith
fonte
Obrigado a todos que responderam, informações realmente úteis; especialmente Rod Smith.
GhostMotleyX
Então, em um sistema de inicialização EFI, você ainda precisa apenas de uma pequena partição? O setor de inicialização do MBR e o EF02conteúdo da partição gdisk (ou equivalente) podem ser armazenados nos arquivos da partição do sistema EFI no formato FAT (com o tipo gdisk EF00)?
Peter Cordes
Peter, sim, isso é basicamente correto; Os carregadores de inicialização EFI são arquivos armazenados no ESP, não nos setores de inicialização do disco ou da partição.
Rod Smith
E se eu gostaria de apoiar tanto a inicialização UEFI BIOS e inicialização? Eu teria então duas cópias do grub, uma na EFI System Partitione a outra na BIOS boot partition?
Olá Mundo
Olá mundo, você precisaria de um carregador de inicialização no modo EFI e no modo BIOS. Ambos não precisam ser GRUB. Na verdade, eu recomendo que pelo menos um deles não seja, pois isso pode ficar bem confuso. Essa configuração é bastante inútil para inicializar um único sistema operacional. Pode ser necessário para alguns cenários de inicialização dupla - por exemplo, se um sistema operacional não tiver um carregador de inicialização no modo EFI e o outro precisar inicializar no modo EFI por algum motivo (por exemplo, se for Windows e seu disco tiver mais de 2 TB, por isso) você precisaria da GPT para suportar seu tamanho completo).
Rod Smith
7

Você precisa criar uma partição biosgrub em um disco particionado GPT ao configurar a inicialização herdada ou uma partição de inicialização EFI (para discos particionados GPT ou MBR) ao configurar a inicialização UEFI.

  • O GRUB requer uma partição de inicialização do BIOS (2 MiB, sem sistema de arquivos, EF02código de tipo no gdisk ou sinalizador bios_grub no GNU Parted) nos sistemas BIOS para incorporar seu core.imgarquivo devido à falta de espaço de incorporação pós-MBR nos discos GPT . [...]

https://wiki.archlinux.org/index.php/GPT#Bootloader_Support

LiveWireBT
fonte
1
Obrigado, acho que entendo agora; se estiver instalando o Ubuntu não UEFI em um disco MBR, não precisarei do biosgrub. Se eu instalar o Ubuntu sob UEFI em um disco GPT, preciso criar uma partição EFI. E a inconsistência que eu estava enfrentando era quando instalava o Ubuntu não UEFI em um disco GPT e também UEFI com MBR. Portanto, a melhor maneira, em teoria, de instalar o Ubuntu é Não UEFI com tabela de partição MBR ou UEFI com tabela de partição GPT.
GhostMotleyX
@GhostMotleyX Isso está correto.
LiveWireBT
até 1MiB é mais que suficiente. Eu gosto de colocá-lo antes da primeira partição "normal" alinhada com 1MiB, como expliquei no último parágrafo de en.wikipedia.org/wiki/BIOS_boot_partition#Overview (que acabei de editar). Ainda não decidi se prefiro usar o sortcomando do gdisk para renumerar as partições na ordem do setor de início ou se quero deixá-lo como sdc4ou com. Provavelmente a classificação é menos estranha, então minhas partições grub sempre serão sdX1.
Peter Cordes
3

Vou dar um ponto / motivo extra por ter ambos, EFI e BIOS grub.

Pen drive USB para inicializar um loop Live SystemRescueCD.iso do Grub2.

Por quê? Resposta simples: inicializa em muitos PCs, alguns têm UEFI, outros apenas BIOS de 32 bits, etc.

Motivo realmente complexo: use hardware avançado (UEFI), se possível.

Amostra de uso ao vivo real:

  • Pen drive (formatado no modo GPT) com quatro partições
  • Primeira partição (que pode ser vista a partir do Windows 7 ou superior) no NTFS com o restante do tamanho do pen drive
  • Segunda partição para os arquivos Grub2 e SystemRescueCD.iso com pelo menos 1GiB (melhor se 2GiB para que você possa carregar duas versões do SystemRescueCD.iso ao mesmo tempo, apenas para testar a nova versão antes de substituir a antiga), eu normalmente uso o sistema de arquivos Ext4 por isso
  • Terceira partição para EFI (que o Windows chama de ESP) formatada como Fat32 com pelo menos 512MiB (vi alguns PCs que, se usando menos, não mostram o pen drive como uma mídia inicializável)
  • Quarta partição para BIOS_Grub (sem formato, mas limpa quando criada)

Uma coisa importante: Eu vi uma stric LG USB de 8GiB (uma que eu possuo) que se recusa a ser listada em uma inicialização do UEFI PC física se as partições não estiverem alinhadas aos cilindros, mas pode ser vista em outros PCs da UEFI e também no VirtualBOX com inicialização da UEFI modo ativado ... ao particioná-lo, se alinhado ao MiB, ele usa todo o espaço, nenhum espaço não particionado próximo a 1MiB no final, mas quando alinhado aos cilindros, o último MiB incompleto não é usado ... se eu particionar o MiB tendo isso em mente (em outras palavras, eu faço um alinhamento manual do cilindro) funciona, mas como estou dizendo que ainda está alinhado pelo cilindro (estou fazendo isso manualmente, em vez de permitir que a ferramenta de particionamento faça isso por você).

Como obter um ótimo pendrive de recuperação USB (ele tem dois truques):

  1. Alinhar partições aos Cilindros (melhor compatibilidade para apenas alinhar ao MiB)
  2. Faça um grub-install --target = i386-pc e faça outro grub-install --target = x86_64-efi na mesma partição grub, para usar apenas um grub.cfg nos dois modos de inicialização

Como inicializa:

  • a) inicializando o BIOS antigo, carregará o MBR, depois o Stage2 da partição grub do BIOS_grub do formulário e, em seguida, core.img da partição do Grub2
  • b) forma de inicialização compatível com UEFI, carregará o arquivo .efi da partição ESP
  • O grub.cfg é lido (se existir na partição grub2)
  • então o menu grub2 é mostrado
  • então eu seleciono para inicializar a partir do loop SystemRescueCD.iso (com parâmetro dochace), defini duas opções definidas no grub.cfg, uma para 32 bits e uma para 64 bits (eu realmente tenho quatro opções, já que defini dois parâmetros dostartx para inicialize diretamente na GUI).
  • após a inicialização, posso ejetar o pendrive (todo o Live Linux está no ramdrive graças a esse docache), não é necessário digitar nenhum comando, o pendrive não está montado (novamente graças ao parâmetro docache).

Com este stick, eu posso inicializar o PC antigo (se eles permitirem inicializar a partir do USB) em 32 bits ou também 64 bits (se houver extensão etend no procesor), mas inicializando no modo BIOS.

Com esse stick, eu também posso inicializar um novo PC (se eles permitirem inicializar a partir do USB) em 32 bits e 64 bits, mas inicializar no modo UEFI (ah, sim, ele pode inicializar no modo UEFI e, em seguida, inicializar o Linux Live SystemRescueCD em 32 bits no modo de 64 bits).

Então, eu tenho tudo em uma mídia de inicialização de recuperação de stick USB, capaz de inicializar em quase todos os PCs, modernos ou antigos (só precisa de suporte de inicialização USB), não importa se 32 bits ou 64 bits, BIOS ou UEFI, etc ... e eu posso selecione o que eu quero executar 32 bits ou 64 bits.

Além disso, eu havia testado em um PC que se recusa a instalar o Windows 64Bits (antigo processador de 32 bits), mas é capaz de executar um Linux Live de 64 bits (porque o recurso PAE existe nesse processador).

Nota lateral: A primeira partição, como NTFS, é para armazenar dados que podem ser compartilhados com o Windows 7 ou superior (o XP não a verá, pois não suporta o particionamento GPT) ... ela deve ser a primeira, não precisa estar inicial parte do disco, pode estar onde você quiser, mas reside como a primeira entrada na tabela de partições; isso é causado pelo modo de janelas odificável para montar partições em unidades removíveis; ele possui um código específico programado para evitar o acesso a mais do que a primeira partição; não pode montar os outros ao mesmo tempo.

Extra para partições Windows e USB: se você trocar as entradas de partições na tabela partitiong, em outras palavras, você colocará a partição que deseja acessar como a primeira da tabela, o Windows permitirá que você acesse (se o formato for entendido, fat32 e NTFS diretamente, ext2 com drivers especiais, etc.), mas só permitirá acesso àquele localizado na primeira entrada da tabela de partições ... existe uma ferramenta (chamada BootICEx86.exe) que pode fazer esse trabalho no Windows sem precisar desconectar o pendrive.

Super extra: também existem alguns pendrives (tenho muita sorte de possuir um, um Sony 16GiB) que podem ser pouco alterados com ferramentas especiais (as minhas com uma ferramenta da lexar), para que elas apareçam no Windows como um disco rígido USB em vez de um dispositivo USB , após essa alteração, todas as janelas permitirão excluir, criar e gerenciar partições, além disso, mais de uma ao mesmo tempo pode ser montada, cada uma com sua própria letra.

Os usuários do Linux não se preocupam com isso, já que o Linux o vê como um dispositivo de bloco particionável e não implementa código especial para bloquear partições de montagem, etc., como o Windows.

Ah, sim, esses últimos parágrafos foram escritos para o caso de alguém em M $ lê-los, então o rosto deles cai no chão, eu estou tentando (nunca vou entender, eu sei que é um objetivo perdido) removê-los código feio do Windows e permite que os usuários tenham partições no pendrive de maneira nativa.

Claudio
fonte