Existe alguma maneira de inicializar o DOS em um sistema cuja opção de BIOS está configurada para UEFI?

2

Eu tenho um sistema que tem uma opção no BIOS para escolher o tipo de inicialização como "BIOS" ou "UEFI". Quando eu escolho "BIOS" eu posso inicializar o DOS sem problemas. Quando escolho "UEFI", posso inicializar um script EFI startup.nsh sem problemas. No entanto, não consigo inicializar no DOS a partir da seleção de inicialização "UEFI".

Minha pergunta é: Existe alguma maneira de inicializar no DOS enquanto a opção no BIOS está configurada para "UEFI"?

Eu brinquei com o grub por um tempo, mas descobri que ele não tem emulação completa do BIOS. Aparentemente, as opções "fakebios" e "loadbios" são simples emulações para solucionar problemas de placa de vídeo. Eles não funcionam neste caso.

    
por Greg G. 18.07.2012 / 22:54

3 respostas

1

Isso é uma espécie de oximoro. Existem dois padrões para tabelas de partição de disco, MS-DOS e U / EFI. O mais antigo é o MS-DOS, o mais novo é o UEFI.

O tipo de tabela de partição antiga vem com várias falhas graves, a mais famosa das quais é a incapacidade de usar discos maiores que 2TiB. Isso vem do fato de que ele usa endereços de 32 bits para identificar setores de 512 bytes. O produto dos dois é 2TiB, o maior disco que você pode usar com este tipo de tabela de partições.

Existem outras limitações: Apenas 3 partições primárias, apenas 59 partições lógicas, apenas uma cópia da tabela de partição (no início do disco, no MBR), estruturada como uma lista encadeada que é obviamente bastante propensa a corrupção, o uso de antiquado CHS (cabeça de cilindro-Ssector).

Para superar esses problemas, a tabela de partições GPT foi introduzida, como parte da UEFI da Intel. A GPT supera todos esses problemas (por exemplo, existem duas cópias da tabela, no início e no final do disco, permite que o particionamento de discos muito maiores, até 9,4 ZiB, use o Logical Block Addressing LBA em vez de CHS, tem apenas partições primárias, até 128).

As informações da tabela de partição são armazenadas em uma estrutura no início do disco, precedidas pelo cabeçalho da partição primária (isso também é replicado para redundância no final do disco). Essa estrutura é nova: ela não existia na antiga tabela de partição do MS-DOS.

No entanto, por motivos de segurança, essa estrutura é precedida por um MBR herdado, ou seja, a estrutura que define a tabela de partição no esquema antigo do MS-DOS. Isso é feito para proteger o GPT de programas que desconhecem a nova tabela de partição (como o fdisk, que você acabou de usar sem comprometer o disco).

Agora você vê porque você pode inicializar um PC de um disco com uma tabela de partições GPT quando você configura o BIOS no modo BIOS: o disco tem um MBR, então você pode inicializá-lo. No entanto, o inverso é falso: se o disco tiver uma tabela de partição do MS-DOS (não a legada / protetora que mencionei acima, apenas a antiquada não seguida por uma estrutura GPT adequada), configure o BIOS para UEFI mode significa que o booter procurará a estrutura do GPT, que está ausente.

É por isso que a sua pergunta é um pouco de oxímoro.

    
por 27.10.2013 / 08:05
0

Não, não é possível inicializar no DOS enquanto a opção está definida como "UEFI". Somente sistemas operacionais compatíveis com UEFI podem ser inicializados com essa opção.

    
por 27.10.2013 / 07:09
-2

Isso é possível.

A maneira mais fácil é se o BIOS realmente fornece ganchos para os pontos de inicialização do Legacy MBR. Assim, o gerenciador de inicialização mostraria links que têm o prefixo UEFI ou algo como "Legado". Eu já vi muitos deles recentemente, em servidores.

Do jeito difícil, é deixado como um exercício para o leitor. (-: Geralmente as palavras "e depois ocorreu um milagre" podem ser inseridas aqui.

Veja o Clonezilla, que usa o grub como o bootloader. Suas imagens ISO podem ser inicializadas por meio dos métodos Legacy e UEFI e ter um gancho no menu principal para inicializar em um FreeDOS a partir do grub.

    
por 18.02.2016 / 21:13