Como criar uma partição do sistema EFI?

25

TL; DR Como faço para criar uma partição do sistema EFI a partir do zero? Como faço para colocar o firmware EFI nele é criado?

Versão longa

Eu tenho o laptop Toshiba T430. Eu recebi com o Windows 7 instalado (mas acho que originalmente foi lançado com o Windows 8). Eu instalei o Ubuntu nele, mas apaguei algumas partições no disco para que eu acabasse com o Windows e só com o Ubuntu. Entre as partições apagadas estava a partição do Sistema EFI. Eu descobri que o Ubuntu agora é inicializado no modo Legacy (e não no UEFI). Estou tentando seguir este guia para converter minha instalação do Ubuntu de Legacy para UEFI . O problema - como não há partição EFI sempre que eu escolho o BIOS para inicializar usando o UEFI, não consigo inicializar. Isso conta não apenas para o disco rígido, mas também para o USB e o DVD. Acho que isso é lógico - ele espera uma partição EFI e, como não pode encontrá-la, não pode continuar a inicialização, seja de HDD ou DVD. Então, como recriar a partição EFI?

O guia acima diz:

Creating an EFI partition

If you are manually partitioning your disk in the Ubuntu installer, you need to make sure you have an EFI partition set up.

  1. If your disk already contains an EFI partition (eg if your computer had Windows8 preinstalled), it can be used for Ubuntu too. Do not format it. It is strongly recommended to have only 1 EFI partition per disk.

  2. An EFI partition can be created via a recent version of GParted (the Gparted version included in the 12.04 disk is OK), and must have the following attributes:

    1. Mount point: /boot/efi (remark: no need to set this mount point when using the manual partitioning, the Ubuntu installer will detect it automatically)

    2. Size: minimum 100Mib. 200MiB recommended.

    3. Type: FAT32

    4. Other: needs a "boot" flag.

Eu tive alguns problemas para criar essa partição:

  • Eu inicio a partir de um DVD do Ubuntu ao vivo, abra o GParted, crie uma partição de 200MB e formate-o em FAT32.
  • No GParted, não consigo definir o ponto de montagem e, portanto, não posso definir o bootflag.
  • Eu não defini o ponto de montagem em /etc/fstab , já que é um CD ao vivo e o fstab parecia bem diferente do que eu esperava comparado a uma inicialização normal. De qualquer forma, eu não sabia quais valores definir.

Eu iniciei novamente pelo DVD ao vivo e escolhi instalar o Ubuntu. Em seguida, criei uma partição com os critérios mencionados - ponto de montagem, 200MB, FAT32, sinalizador de inicialização.

No entanto, continuo a ter este problema e suponho que é porque nessa partição não há firmware EFI, é apenas uma partição vazia, que é adequada para ter firmware EFI.

Então, novamente, como criar uma partição EFI, que possui o software EFI, para que o laptop possa inicializar novamente no modo UEFI?

SOLUÇÃO Obrigado a ambos pelas respostas. O que eu fiz foi instalar o Windows 8.1 a partir do zero, formatando todo o disco e, em seguida, instalando (desta vez apropriadamente) o Ubuntu ao lado dele. Estas são minhas partições agora:

DuranteaconfiguraçãodoWin8,assimqueeudeleteitodasaspartiçõesexistentesedeixeioWindowsreformatarodisco,elecriouautomaticamente,alémdapartiçãodeinstalaçãoprincipal,trêspartiçõesadicionais,1,2,3.Agora,depoisumESPadequado,eupoderiainicializartantoapartirdeHDDouDVDnomodoUEFI.

VocêdizqueoESPnãoarmazenanenhumainformaçãoporpadrão,maseuachoquequandoumSOéinstalado,elecolocaalgumainformaçãolá.Então,euachoqueomeucasofoioseguinte:eutinhaapagadoemesmoqueeurecriou,nãofoipreenchidocomqualquerinformação,umavezqueacriaçãodoESPfoifeitadepoisdeumsistemaoperacionaltersidoinstalado.EuperdiainstalaçãodoUbuntu(nãoégrandecoisa,eraumanovainstalaçãodequalquermaneira),maseuachoque,parasalvá-lo,eudeveriaterseguido conselho de Grawity . Não tive tempo, mas felizmente está tudo bem agora.

    
por Alex Popov 07.06.2014 / 10:29

3 respostas

31

Primeiro, você não define o ponto de montagem no GParted; isso é feito manualmente (e temporariamente) através do comando mount ou permanentemente editando /etc/fstab . Assim, sua preocupação com esse problema é equivocada.

Em segundo lugar, uma partição de sistema EFI (ESP) é simplesmente uma partição FAT com um código de tipo específico (ou seja, C12A7328-F81F-11D2-BA4B-00A0C93EC93B em discos GPT) definido. Observe que o ponto de montagem em /etc/fstab não faz parte da definição do ESP; é apenas convencional (mas não obrigatório) no Linux acessar o ESP montando-o em /boot/efi , normalmente por meio de uma entrada /etc/fstab . Como você define o código de tipo varia de um programa para outro:

  • Em gdisk , você define o código de tipo para EF00. ( gdisk usa códigos de dois bytes que se expandem para os códigos de tipo reais no disco; "EF00" é apenas um mnemônico para "C12A7328-F81F-11D2-BA4B-00A0C93EC93B".)
  • No GParted ou parted , você define o "sinalizador de inicialização". Observe, no entanto, que isso funciona somente nos discos GPT; você não pode definir o código do tipo ESP em discos MBR com esses programas. (Isso normalmente não é grande coisa, já que os computadores baseados em EFI geralmente inicializam a partir de discos GPT.)
  • No instalador do Ubuntu, você identifica a partição como uma "partição de inicialização EFI". Em seguida, ele define o código de tipo e configurará /etc/fstab apropriadamente.
  • Nas versões recentes do Linux fdisk , você define o tipo de partição por seu número (1 para "Sistema EFI" em discos GPT ou 0xEF em discos MBR) ou inserindo o código de tipo completo em discos GPT.

Em terceiro lugar, o ESP não possui firmware - o firmware é, por definição, armazenado em chips na placa-mãe. Assim, seu esforço para instalar o firmware EFI no ESP é uma louca perseguição. (Há duas exceções a essa regra. Primeiro, você pode armazenar um arquivo de firmware no ESP para atualizar o firmware em seu computador. Essa é apenas uma área de espera temporária. Em segundo lugar, o DUET ou Carregador de partida do Clover , o EFI é carregado como um programa normal, normalmente do ESP, que são carregadores de inicialização do BIOS, que permitem que os computadores somente BIOS inicializem como se fossem máquinas EFI, eles não são normalmente usados em computadores com firmware EFI , que você alega que seu computador possui. Tecnicamente, nem o DUET nem o Clover são firmware; eles são carregadores de inicialização de BIOS que fazem o mesmo trabalho que o EFI.)

Por fim, posso pensar em várias causas possíveis para o seu problema, mas sem mais informações, preciso escrever meio livro para abordar todas elas. Eu recomendo que você execute o Script de Informações da Inicialização no computador. Isso produzirá um arquivo chamado RESULTS.txt . Poste-o em um site pastebin e poste de volta com o URL do seu documento. Isso fornecerá dados concretos sobre sua configuração, o que reduzirá bastante o alcance das possíveis causas do problema.

    
por 07.06.2014 / 15:27
10

A partição EFI não mantém firmware (que é armazenado em um chip na placa-mãe); mantém os gerenciadores de inicialização para sistemas operacionais instalados. É basicamente a alternativa da EFI de colocar o carregador de boot no 0º setor do seu disco, como foi o caso dos PCs da BIOS.

Isso significa que, depois de ter essa partição, ela deve ser preenchida automaticamente quando você instalar o sistema operacional. (É bem provável que o próprio disco de instalação também tenha sido inicializado no modo EFI; caso contrário, ele não se importará em configurar a inicialização UEFI ... de fato, certas partes da configuração não podem ser feito a partir do modo BIOS.)

Se você já tem o Ubuntu instalado, você precisará:

  1. Instale a versão UEFI do GRUB; Eu acho que está no pacote grub-efi-amd64-signed .

    grub-install --target=x86_64-efi-signed
    

    (Para a versão sem sinal grub-efi-amd64 , é x86_64-efi .)

  2. Verifique se o GRUB se instalou como \EFI\Boot\bootx64.efi na partição do sistema EFI. (Estou usando a sintaxe do caminho EFI aqui; se você montar a partição em /boot no Linux, ela será /boot/EFI/Boot/bootx64.efi .)

    Se não tiver, copie grubx64.efi manualmente para esse local.

    Isso é necessário porque grub-install não pode adicionar-se ao menu de inicialização EFI a menos que o sistema tenha inicializado no modo EFI. (As "variáveis EFI" são impossíveis de acessar no BIOS moed.) Portanto, a única maneira de inicializar o GRUB é colocando-o no local "carregador de inicialização de fallback".

  3. Reinicie. Tente selecionar algum tipo de modo EFI no menu de inicialização do firmware (os firmwares EFI possuem um menu de inicialização próprio, mesmo antes do GRUB).

  4. Verifique se dmesg | grep "efi:" mostra alguma coisa, para confirmar se você está no modo EFI.

por 07.06.2014 / 15:25
2

Crie dois arquivos com o bloco de notas e salve-os na unidade de instalação USB do Windows.
SaveAs: CreatePartitions-UEFI.txt

select disk 0  
clean  
convert gpt  
rem == 1. System Partition  =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition  ======  
create partition msr size=16  
rem == 3.  Windows partition  ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition  ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

Crie outro arquivo de texto com o Bloco de notas:
SaveAs: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

Se você estiver usando o MBR, o comando será, converter mbr.

Para obter o tamanho da partição do Windows, multiplique o tamanho do seu HD vezes 1024, um disco rígido de 100 GB vezes 1024 é igual a 102400 menos 210 (tamanho efi) menos 16 (tamanho msr) menos 460 (tamanho reservado) é igual ao tamanho irá colocar no tamanho da partição do Windows. (xxxxxx)

Você pode alterar o tamanho das partições do terminal (Prompt de comando) cd / d D: > bloco de notas CreatePartitions-UEFI.txt

Enquanto estiver na unidade USB, abra o bloco de notas diskpart-UEFI.txt e deixe-o aberto ou anote o comando para não cometer erros. Depois de alterar o tamanho das partições ao seu gosto, feche-o, em seguida, cd / d x: / Sources, em seguida, execute o diskpart / s D: \ CreatePartitions-URFI.txt.
lista de volume como o último comando mostra as partições, se feliz, sair > desligar o computador > reiniciar > instalar

    
por 10.03.2017 / 03:05