Partição UEFI exFAT?

4

É possível inicializar a partir do UEFI em uma partição exFAT?

Eu tenho lido que ele deve ser FAT32 e não NTFS, no entanto eu era capaz de inicializar o SteamOS a partir de um USB formatado com exFAT - principalmente com erros ... mas parece que houve erro.

Peço para excluir o fato de que foi exFAT para o meu diagnóstico.

- EDIT Esse post talvez seja melhor do que um post do wiki, já que eu cheguei razoavelmente longe, então provavelmente é bastante óbvio que é compatível ... mas isso poderia ser uma referência, já que não há uma referência óbvia para isso.

    
por Alex KeySmith 12.01.2016 / 21:18

3 respostas

7

A especificação oficial da UEFI [aviso: 13 MiB PDF] doesn ' Mesmo dizer que o FAT32 é suportado - ele define um sistema de arquivos chamado "EFI System Partition" que "acontece" para ser compatível com FAT32 e diz para atribuir um tipo de partição GPT de C12A7328-F81F-11D2-BA4B-00A0C93EC93B e um ID de partição MBR de 0xEF ( anteriormente mais ou menos utilizados).

do §12.3.1 (formato do sistema de arquivos):

The file system supported by the Extensible Firmware Interface is based on the FAT file system. EFI defines a specific version of FAT that is explicitly documented and testable. Conformance to the EFI specification and its associate reference documents is the only definition of FAT that needs to be implemented to support EFI. To differentiate the EFI file system from pure FAT, a new partition file system type has been defined.

EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media. The FAT32 system partition is identified by an OSType value other than that used to identify previous versions of FAT. This unique partition type distinguishes an EFI defined file system from a normal FAT file system. The file system supported by EFI includes support for long file names.

The definition of the EFI file system will be maintained by specification and will not evolve over time to deal with errata or variant interpretations in OS file system drivers or file system utilities. Future enhancements and compatibility enhancements to FAT will not be automatically included in EFI file systems. The EFI file system is a target that is fixed by the EFI specification, and other specifications explicitly referenced by the EFI specification.

Portanto, não apenas o exFAT não é mencionado como um sistema de arquivos suportado, mas também fica claro que formalmente apenas o formato ESP é suportado.

Então, por que você conseguiu carregar o SteamOS? Existem algumas opções e possibilidades; a maioria das implementações de firmware EFI não verifica explicitamente a partição ESP antes de procurar por arquivos relacionados à inicialização, e se nenhuma partição ESP for definida, eles procurarão em todos os sistemas de arquivos que possam ler nativamente (o que é normalmente FAT12 / 16/32). Arquivos de inicialização EFI. Mas mesmo que eles pudessem, o aplicativo EFI que ele carregaria do USB formatado com exFAT não seria capaz de entender seu próprio sistema de arquivos ... a menos que fosse codificado para extrair isso também.

Outra possibilidade é que mesmo que você esteja em uma máquina EFI e seu USB esteja formatado com exFAT, você acabou de inicializar a partir do USB no modo BIOS / MBR. A maioria dos aplicativos de firmware EFI (também conhecidos como "BIOS") terão a opção de ativar o modo "CSM" ou "legacy boot" para permitir que eles usem o sistema tradicional de carregamento de sistemas operacionais BIOS / MBR / bootsector como primeira prioridade ou como um fallback no evento que nenhum ESP poderia ser encontrado ou o ESP não continha alvos de inicialização válidos. O USB que você criou e usou provavelmente tem um MBR híbrido com um bootsector contendo código de inicialização válido para inicializar o SteamOS a partir do próprio USB.

Em nossos testes na NeoSmart Technologies, mesmo placas-mãe / firmwares que são estritamente somente EFI sem uma opção para habilitar o CSM / inicialização herdada ainda usarão silenciosamente um mínimo de correção do BIOS para carregar de dispositivos externos. Esse código ainda é necessário, já que o carregamento de um CD, etc. requer alternativas à inicialização EFI nativa na maioria dos casos (mesmo que a especificação tenha acomodações para isso também).

Linha de fundo: mais informações são necessárias. Um despejo dos primeiros 512 ou 1024 bytes do USB lançaria muita luz sobre o assunto, assim como informações sobre sua placa-mãe e seu firmware e configuração EFI. EFI não é compatível com exFAT e exFAT não é compatível com FAT32 (não só não é formalmente compatível, ele quebra explicitamente a compatibilidade com versões anteriores para que plataformas que não são compatíveis com exFAT não desenvolvam e manipulem seus dados exFAT), por isso não é tão simples quanto um firmware que reconhece o FAT32 "fazendo o seu caminho" através de um sistema de arquivos exFAT com erros.

    
por 12.01.2016 / 21:56
2

A resposta de Mahmoud é boa; No entanto, quero adicionar alguns pontos:

  • Não está claro como o disco de inicialização foi criado, mas de alguns comentários, suspeito que você usou dd para copiá-lo (como em dd if=image.iso of=/dev/sdc ) ou usou um utilitário como Unetbootin ou Rufus para fazer o emprego. Em qualquer um dos casos, quaisquer partições e sistemas de arquivos que você criou no disco podem ter sido sobrescritos, então o que o disco realmente era pode não ter relação com o que você pensava que o disco era.
  • A distinção entre a partição do sistema EFI (ESP) e o restante do disco é crítica. O ESP é uma partição FAT (tecnicamente por outro nome, como Mahmoud diz - mas na prática é criado por ferramentas para criar sistemas de arquivos FAT e manipulados por drivers FAT de sistemas operacionais), mas isso não significa que o resto do disco deve ser GORDURA. Assim, você poderia facilmente ter um FAT ESP e outra (talvez maior) partição exFAT. O carregador de boot vai para o ESP, e ele pode conter um driver exFAT ou fornecer outra forma de carregar um kernel ou outros arquivos críticos da partição exFAT. É assim que o Windows, OS X, Linux e outros SOs com capacidade de EFI são inicializados.
por 13.01.2016 / 15:13
-1

Eu sei que este é um thread antigo, mas para a inicialização do UEFI e a instalação do Windows 10 eu encontrei algo que funciona (se você precisar de unidades grandes e suporte a UEFI):

  1. Faça o download de uma versão do Linux que você gostaria (usei o Linux Mint).
  2. Crie um USB inicializável com a versão para Linux
  3. Inicialize a versão do Linux (não é necessário instalar)
  4. Insira o dispositivo USB que você deseja formatar em FAT (32) no computador
  5. Formate o USB para FAT (32)
  6. Copie os arquivos ISO do Windows 10 para o dispositivo USB
  7. Inicialize a instalação do Windows 10 no modo UEFI

Eu usei o Linux, pois o Windows não permite que eu formate discos grandes para FAT.

    
por 21.03.2017 / 13:10

Tags