EFI

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Translation Latin Alphabet.svg
Este artigo ou seção está a ser traduzido (desde maio de 2010). Ajude e colabore com a tradução.
Logomarca da UEFI
Diagrama mostrando o posicionamento do EFI na pilha de softwares

O Unified Extensible Firmware Interface (UEFI), em português Interface Unificada de Firmware Extensível, é uma especificação que define uma interface de software entre o sistema operacional e o firmware da plataforma. UEFI pretende substituir a interface de firmware do Sistema de Entrada/Saída Básico (BIOS), presente em todos os computadores pessoais compatíveis com o IBM PC. Na prática, a maioria das imagens UEFI fornecem suporte legado para os serviços do BIOS. UEFI pode suportar diagnósticos remotos e reparação de computadores, mesmo sem outro sistema operacional.

A especificação original EFI (Extensible Firmware Interface) foi desenvolvida pela Intel. Algumas de suas práticas e formatos de dados espelham aqueles do Windows. Em 2005, a UEFI tornou a EFI 1.10 (versão final do EFI) obsoleta. A especificação da UEFI é gerenciada pelo Unified EFI Forum.

História[editar | editar código-fonte]

A motivação original para o EFI veio cedo durante o desenvolvimento do primeiro sistema Intel-HP Itanium em meados de 1990. As limitações do PC BIOS (modo 16-bits, espaço de endereçamento de 1MB, dependências de hardware PC AT, etc.) foram vistas como claramente inaceitáveis para a grande plataforma de servidores visada como alvo. Os esforços iniciais a este respeito foram inicialmente chamados Intel Boot Initiative e foi depois renomeado para EFI [1].

  • A especificação EFI 1.02 foi lançada pela Intel em 12 de dezembro de 2000.

Alguns tipos de drivers de dispositivo (não EBC) específicos para a arquitetura podem ter interfaces para uso pelo sistema operacional. Isso permite ao SO confiar ao EFI o suporte básico aos gráficos e à rede enquanto os drivers específicos são carregados.

Gerenciador de boot[editar | editar código-fonte]

Um Gerenciador de boot EFI é também usado para selecionar e carregar o sistema operacional, removendo a necessidade de um mecanismo de boot loader (o boot loader do SO é uma aplicação EFI).

Suporte a Disco[editar | editar código-fonte]

Em adição ao esquema de partição do PC padrão, Master boot record (MBR), o EFI adiciona suporte para uma tabela de partição GUID, que não sofre das mesmas limitações. A especificação EFI não inclui um descrição para um sistema de arquivos; implementações da EFI tipicamente suportam FAT32 como seus sistemas de arquivos[2]

O Shell EFI[editar | editar código-fonte]

A comunidade EFI criou um Shell open source[3].; ao invés de "bootar" diretamente em um SO completo, em algumas implementações, o usuário pode dar boot no shell EFI. O shell é uma aplicação EFI; ele pode residir diretamente dentro da ROM da plataforma, ou num dispositivo para o qual os drivers estão na ROM.

O Shell pode ser usado para executar outras aplicações EFI, como setup, a instalação do SO, utilitários de diagnóstico ou configuração, e atualizações da flash do sistema; ele pode também ser usado para tocar CDs ou DVDs sem ter que iniciar um sistema operacional completo, contanto que uma aplicação EFI com as características apropriadas seja escrita. Os comandos do shell tornam possível copiar ou mover arquivos e pastas entre os sistemas de arquivos suportado. Drivers podem ser carregados e descarregados, e um stack TCP/IP completo pode ser usado de dentro do shell.

O shell EFI suporta encriptação através de arquivos .nsh, que são análogos aos arquivos batch do DOS

Nomes de comandos do shell são frequentemente herdados do interpretador de comandos do DOS ou o shell Unix. O shell pode ser visto como um substituto funcional para o interpretador de comandos do DOS.

Extensões[editar | editar código-fonte]

Extensões ao EFI podem ser carregadas de virtualmente qualquer dispositivo de armazenamento não volátil ligado ao computador. Por exemplo, um OEM pode vender sistemas com uma partição EFI em um HD que adicionariam características adicionais para o firmware EFI padrão armazenado na ROM da placa mãe.

Implementação e adoção[editar | editar código-fonte]

Intel Platform Innovation Framework para EFI[editar | editar código-fonte]

A Intel Platform Innovation Framework para a EFI (com o nome código original “Tiano”) é uma implementação de firmware completamente livre de legado, que inclui suporte para EFI. Também pode suportar um PC BIOS herdado através do compatibility support module(CSM).

Em particular, o Framework inclui todos os passos necessários para iniciar a plataforma após o ligamento; esse trabalho interno do firmware não são definidos como parte da especificação EFI, mas são parte da Platform Initialization Specification.

A Intel não disponibiliza o framework completo para o usuário final; ele está disponível através de vendedores de BIOS independentes (como a American Megatrends (AMI) e Insyde Software) como parte das suas ofertas de firmware[4].

Uma parte do framework foi disponibilizada com open source para o projeto TianoCore com EFI Developer Kit (EDK). Essa implementação cobre o EFI e alguns códigos de inicialização de hardware, mas não é o firmware completo. Várias licenças foram usadas para o código, incluindo a Licença BSD e a Licença Pública Eclipse.

Plataformas que usam EFI ou Framework[editar | editar código-fonte]

Os primeiros servidores e estações de trabalho da Intel, lançados em 2000, suportavam EFI 1.02.

Os primeiros sistemas Itanium 2 da Hewlett-Packard, lançados em 2002, suportavam EFI 1.10; eles eram capazes de iniciar Windows, Linux, FreeBSD e HP-UX.

Todos os sistemas Itanium 2 lançados com firmware compatível com EFI devem também ser complacentes com todas as especificações DIG64.

Em novembro de 2003, Gateway introduziu o Gateway 610 Media Center, o primeiro computador x86 baseado no Windows a utilizar firmware baseada no Framework, o InsydeH2O da Insyde Software. Ele ainda dependia de uma BIOS implementada como um suporte de compatibilidade para iniciar o Windows.

Em janeiro de 2008, a Apple Computer liberou seus primeiros computadores Macintosh baseados em intel. Estes sistemas usam EFI e o Framework ao invés de Open Firmware, que foi usado nos sistemas Power-PC anteriores. [5] Em 5 de abril de 2006 a Apple liberou Boot Camp, wque produz discos de Windows XP como uma ferramenta de particionamento não destrutível para ajudar os usuários a instalar o Windows XP mais facilmente. Uma atualização de firmware que adicionou suporte a BIOS legada para implementação do EFI também foi liberada. Modelos Macintosh subsequentes foram entregues ja com novo firmware instalado. Agora todos os sistemas machintosh atuais também estão aptos a executar o boot pelos sistemas operacionais de BIOS legada, como o Windows XP.

A grande maioria dos chips de placas-mãe Intel vêm com firmaware baseado neste Framework. Durante o ano de 2005 mais de um milhão de sistemas intel foram entregues com o Framework[6]. Novos produtos Mobile, desktop e Servidores usando o framework começaram a ser entregues em 2006. Por exemplo, todas as placas que usam o chipset da série intel 945 usam o Framework. Contudo, a produção do firmware geralmente não inclui o suporte ao EFI, e está limitado à BIOS legada[7].

Desde 2005, EFI tem sido implementado também em arquitetura não-PC, como sistemas embarcados baseados em XScale cores[8].

O EDK inclui um alvo NT32, que aceita o firmware EFI e aplicação EFI rodar dentro de uma aplicação Windows.

Em 2007 HP liberou uma impressora compatível com o firmware EFI.[9]

Sistemas Operacionais[editar | editar código-fonte]

O sistema Linux é capaz de usar o EFI em tempo de boot desde do início de 2000, usando o carregador de boot elilo. O elilo é o único meio de "bootar" o Linux na plataforma IA-64; ele pode ser usado também nas plataformas IA-32. Até dezembro de 2006, não há versão do elilo para modo x64.

HP-UX tem usado EFI como mecanismo de boot nos sistemas IA-64 desde 2002. OpenVMS tem usado em produtos comerciais desde janeiro de 2005.

O Microsoft Windows Server 2003 para IA-64, Windows XP 64-bit Edition, e Windows 2000 Advanced Server Limited Edition, todos para a família Intel Itanium de processadores, suportam EFI, um requisito das plataformas pela especificação DIG64.[10] Os Computadores Apple tinha adotado o EFI para a linha dos Macintosh baseados em Intel. A Microsoft planeja introduzir o suporte ao UEFI para os 64-bit x64 com Windows Server "Longhorn". O EFI tem suporte para x64 nas versões do Windows Vista que poderá ser incluso um service pack.[11] Não será feito um suporte oficial para booting do EFI em computadores 32-bit devido à falta de suporte dos fabricantes e dos vendedores de computadores. A Microsoft liberou um vídeo com Andrew Ritz e Jamie Schwarz que explica o suporte PRE-SO que envolve UEFI no Vista e no Longhorn.[12]

Propriedade Intelectual[editar | editar código-fonte]

Translation Latin Alphabet.svg
Este artigo ou seção está a ser traduzido. Ajude e colabore com a tradução.

De acordo com Ron Minnich, líder do LinuxBIOS, um dos objetivos iniciais do EFI é "proteger a propriedade intelectual do vendedor de hardware"[13]. Isto levanta preocupações de segurança e, nomeadamente, torna a criação de uma implementação de software livre impossível. EFI pode ser usado para criar uma "BIOS DRM", deixando assim fornecedores construir computadores que limitam o que o utilizador pode fazer.

Em 26 de março de 2013, o grupo espanhol Hispalinux de desenvolvimento de software livre apresentou uma queixa formal à Comissão Europeia, alegando que os requisitos de Secure Boot da Microsoft em sistemas OEM eram "obstrutiva" e anticompetitivo[14].

Ver também[editar | editar código-fonte]

Referências

Ligações externas[editar | editar código-fonte]