Existe alguma maneira de inicializar o Windows 7/8 usando o BIOS no GPT?

19

Gostaria de saber se há um método para instalar o Windows 7 ou o Windows 8 Developer Preview em um disco GPT na configuração tradicional do IBM PC BIOS. O Windows 7, é claro, rejeita minha partição GPT porque não tenho UEFI. Bem, o Debian e o Grub 2 parecem funcionar bem ... Então, quero saber se há uma maneira de forçar o Windows a funcionar também.

Eu preferiria seriamente evitar o MBR / GPT híbrido, porque ele é bem frágil e parece hackar, mas o funciona . Eu diria que o principal bloqueador é que a Microsoft simplesmente não está adicionando suporte em seu bootloader de BIOS para GPT, o que é compreensível, suponho. Existe algum recurso?

Do jeito que eu vejo, existem algumas possíveis soluções:

  1. Ter um bootloader alternativo para o kernel do Windows. NÃO é um chainloader. Tanto quanto sei, não existe nenhum. Isso é uma vergonha.
  2. Armazenar o mínimo possível em um disco baseado em MBR alternativo. Não gosto dessa ideia, mas é factível. Não tenho certeza se chamaria isso de uma solução para o problema tanto quanto uma solução alternativa.
  3. Emulando EFI o suficiente para fazer o bootloader EFI funcionar ... Lembro-me de ouvir um pouco sobre um emulador UEFI-on-BIOS, mas não consigo encontrar nada sobre isso agora. Eu suponho que isso é factível, mas provavelmente não há muita demanda por ele ainda, e provavelmente não é nada divertido para configurar. O GRUB 2 parece ser capaz de inicializar um hackintosh com a emulação EFI necessária, mas eu acho que não há interesse / o UEFI 2 é mais difícil de abordar (e eu presumo que outros emuladores EFI usados para hackintosh estejam no mesmo barco).
  4. Coreboot com o TainoCore. Coreboot não funciona na minha placa-mãe (até onde eu sei), e tenho certeza que o último esforço para fazer isso durante o GSoC foi uma falha. Eu adoraria essa solução, se funcionasse.

Estou faltando alguma coisa?

    
por John Chadwick 19.10.2011 / 05:24

6 respostas

7

Bem, as coisas mudaram desde que fiz a primeira pergunta. Por um lado, meu PC agora é baseado em UEFI, então eu não tenho mais esse problema. Bem, mais ou menos. Eu tinha interesse em puxar uma configuração similar no meu laptop (partições GPT, etc.) Eu finalmente consegui uma configuração do UEFI DUET da Tianocore, e foi tão dolorosamente simples quanto possível!

Isso pressupõe que você deseje todas as novas configurações brilhantes. Se você quiser realmente converter sua configuração antiga, boa sorte . Na verdade, boa sorte de qualquer forma, já que esta é uma operação irregular em qualquer situação.

Uma palavra de aviso: se você é fã de tempos de inicialização rápidos, você pode querer repensar essa decisão. Não que o UEFI DUET seja lento, mas adiciona outro estágio ao seu processo de boot, então se o seu BIOS / POST não for rápido, você pode não gostar disso.

Sem mais delongas:

  1. Você desejará uma configuração do Linux. Eu usei o Fedora 16 com um pendrive USB (com o UNetBootin) e recomendo muito, porque praticamente funciona de fábrica. Você precisa de um drive USB, então não planeje continuar sem um.

  2. Pegue algumas construções do UEFI DUET. Sem dúvida, o melhor lugar para conseguir isso é aqui . Os tarballs de compilação estão sob o ramo principal do primeiro repositório, aqui . Dê o antigo tar -xf .

  3. Configure suas partições. Você deve reservar 200 MB em algum lugar no disco (preferivelmente o começo e a primeira partição). Você pode formatá-lo com FAT32, mas vamos reformatá-lo mais tarde. Apenas certifique-se que aparece como uma partição. Você deve usar o GPT aqui.

  4. Agora, instale qualquer software adicional que você possa precisar. Na distribuição do Fedora Live, descobri que precisava de yum install gdisk . Eu acho que foi isso.

  5. Agora vá para o diretório de compilações extraído. chmod +x ./duet-install e ./duet-install -64 -F -m /dev/sda1 (onde /dev/sda1 é a partição desejada do sistema EFI.)

  6. Cruze os dedos e reinicie. Com alguma sorte, você verá o logotipo da TianoCore em apenas alguns instantes. Se assim for, você provavelmente é bom! Você precisará configurar seus arquivos de instalação do sistema operacional em uma unidade USB - a Tianocore não oferece suporte a unidades de CD-ROM / DVD-ROM prontas para uso (e eu não sei de nenhum driver para ele) .)

Você também pode desejar alguns binários shell da UEFI para brincar. Eu encontrei alguns aqui . Ainda não testei com a Tianocore.

De qualquer forma, obrigado por todos que tentaram ajudar.

    
por 07.01.2012 / 17:37
6

Consegui inicializar o Windows 8.1 em um disco GPT em uma configuração de BIOS SEM um segundo disco MBR.

A história era: meu laptop estava em uma configuração de BIOS + GPT, com apenas o Arch Linux instalado. Recentemente, eu preciso realizar algumas tarefas no Windows (o que as máquinas virtuais não podem), então estou com dificuldades para instalar o Windows na minha configuração existente do BIOS + GPT. De acordo com resposta da Milind , eu consegui instalar arquivos de inicialização do Windows (Boot, bootmgr, etc) em um (pequeno) MBR USB dirigir. E cada vez que eu ligar meu laptop com essa unidade USB conectada, posso inicializar no Windows 8.1, após o qual a unidade pode ser conectada com segurança.

A desvantagem é óbvia: eu preciso levar uma unidade USB comigo para inicializar o Windows. Então eu estava sempre tentando me livrar disso.

Depois de tentar com métodos diferentes, finalmente encontrei o módulo memdisk do projeto syslinux funcionando.

  • Você precisa desistir do gerenciador de inicialização do Windows.
  • Você não precisa instalar o syslinux. Apenas o módulo de memdisk (um arquivo de 26 kB) é necessário.
  • Você pode usar vários gerenciadores de inicialização para carregar este módulo, no meu caso, meu gerenciador de inicialização favorito GRUB (versão 2).

Aqui está o resumo de como fazer:

  • Particione seu disco GPT para atender às necessidades do GRUB, ou seja, uma pequena partição para incorporar core.img. Link detalhado
  • Instale o GRUB nessa pequena partição.
  • Instale o Windows com imagex . E use bootsect e bcdboot para instalar arquivos de inicialização do Windows em um pequeno disco USB MBR. .
  • Use dd ou dd_rescue para clonar seu pequeno disco USB em uma imagem de disco. (Seu disco USB terminou seu trabalho.) A imagem pode ser muito grande para o memdisk carregar, você pode montá-la e encolher o sistema de arquivos / partição nela.
  • De acordo com o meu teste, você não precisa de um disco MBR físico para instalar os arquivos de inicialização do Windows. Você pode criar um arquivo vhd e tratá-lo como um disco físico. Após instalar os arquivos de inicialização do Windows no vhd, você pode convertê-lo em imagem de disco bruta (estilo dd) usando ferramentas fornecidas pelo VirtualBox ou QEUM. Quando criado com type=fixed , o arquivo vhd é apenas normal imagem de disco bruta (estilo dd) com rodapé de 512 bytes. O rodapé será reconhecido como "espaço não particionado" e será ignorado, portanto, um arquivo type=fixed vhd pode ser alimentado diretamente para o MEMDISK sem converter e, assim, inicializar o Windows.
  • Configure o GRUB para usar o memdisk para carregar essa imagem de disco.
  • O Windows inicializará.

Um tutorial detalhado pode ser encontrado em meu reboot.pro reply para o tópico de Milind.

    
por 25.05.2014 / 09:13
5

Se você ainda tiver uma unidade sobressalente pequena , poderá inicializar o Windows (32 ou 64 bits) a partir da GPT no BIOS. Um disquete serve.

Inicialize no disco de instalação / reparo do Windows.

Crie a unidade do sistema no disco pequeno / disquete e use bcdboot para colocar seus arquivos de inicialização na unidade recém-criada no disco pequeno. Adicione um setor de inicialização com bootsect . Altere o {bootmgr} device para boot . Inicialize a partir do disco pequeno.

As etapas são detalhadas aqui .

    
por 03.02.2014 / 14:23
3

Grandes graças ao wzyboy.

enfrentei esse problema ao tentar instalar o Windows 2012 no Dell PowerEdge 2950 com RAID de 6 TB. Não tem UEFI.

Eu realizei alguns experimentos. Primeiro eu criei HDD virtual de 32Mb, como disse wzyboy, e simplesmente copiei todas as coisas da partição reservada da Microsoft. O Windows foi iniciado normalmente. Mas com esta solução, o serviço Hyper-V não consegue iniciar.

Como o wiki do memdisk diz, ele decide automaticamente por tamanho de imagem, o que deve ser imitado. Então, eu criei um disquete virtual de 720K no ambiente WMware, e copiei o bootmgr, o BCD e o bootstat.dat nele (apenas no caso, o submenu memtest excluído da loja BCD). Tamanho de disquete eu coloquei o menor possível, por isso pode ser maior ou menor, eu não tentei.

Agora é inicializado a partir do drive GPT e o Hyper-V funciona bem.

P.S. pode ser ajuda de software de terceiros. Alguém usou algo assim? link

    
por 18.06.2014 / 08:00
2

O artigo A BIOS to UEFI Transformation descreve detalhadamente como usar o TainoCore UEFI DUET.

Eu entendo que você teve problemas ao usar o TainoCore, mas talvez este artigo funcione para você.

O artigo diz:

Some computers don't work with UEFI DUET. Most importantly, it's really only useful on 64-bit x86-64 computers, especially in binary form. In fact, it doesn't start up properly even on some x86-64 computers. In tests on five x86-64 systems, I managed to get one or both versions working on just three computers—a pretty dismal success rate, really. It may just be coincidence, but the two computers that worked best for me used Intel CPUs, whereas the two that worked worst and the one that worked with version 2.1 but not version 2.3 all had AMD CPUs.

Isto parece implicar que se deve tentar várias versões do UEFI DUET antes de desistir.

Ajudaria a conhecer o modelo do seu computador.

    
por 08.12.2011 / 09:24
0

As pessoas precisam ter em mente que nem todo firmware da BIOS é capaz de lidar com uma unidade GPT. Eu tenho uma unidade USB Seagate 4 Tb que foi GPT da fábrica e nenhum dos meus dois computadores seriam inicializados com a unidade conectada à porta USB.

As máquinas congelarão na tela do menu F2 Enter Setup F10 Boot e a única coisa que pode ser feita nesse ponto é desligar a energia e ligar de volta.

Uma vez converti a unidade para MBR, que mata cerca de 2 Tb de espaço em disco, ambos os sistemas irá iniciar e inicializar o sistema operacional normalmente com a unidade conectada.

Estou procurando um patch de BIOS para corrigir esse problema.

    
por 19.03.2017 / 04:52