Unified Extensible Firmware Interface
Este artigo ou se(c)ção está a ser traduzido.Maio de 2010) ( |


O Unified Extensible Firmware Interface (UEFI), em portugês Interface Unificada de Firmware Estensí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
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) especificos 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
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
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
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 freqüentemente 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
Extensões ao EFI podem ser carregadas de virtualmente qualquer dispositivo de armazenamento não volatil 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
Intel Platform Innovation Framework para EFI
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
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.
In January 2006, Apple Computer shipped their first Intel-based Macintosh computers. These systems use EFI and the Framework instead of Open Firmware, which had been used on their previous PowerPC-based systems.[5] On April 5, 2006 Apple released Boot Camp which produces a Windows XP Drivers Disk as well as a non-destructive partitioning tool to help users easily install Windows XP. A firmware update was also released which added legacy BIOS support to its EFI implementation. Subsequent Macintosh models shipped with the newer firmware. Now all current Macintosh systems are also able to boot legacy BIOS Operating Systems like Windows XP.
The grand majority of Intel motherboards ship with Framework-based firmware. During 2005 more than one million Intel systems shipped with the Framework[6]. New mobile, desktop and server products, using the Framework, started shipping in 2006. For instance, all boards that use the Intel 945 chipset series use the Framework. However, the production firmware usually does not include EFI support, and is limited to legacy BIOS[7].
Since 2005, EFI has also been implemented on non-PC architectures, such as embedded systems based on XScale cores[8].
The EDK includes an NT32 target, which allows EFI firmware and EFI applications to run within a Windows application.
In 2007 HP released a printer with EFI compliant firmware.[9]
Sistemas Operacionais
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 video com Andrew Ritz e Jamie Schwarz que explica o suporte PRE-SO que envolve UEFI no Vista e no Longhorn.[12]
Propriedade Intelectual
De acordo com Ron Minnich, líder do LinuxBIOS, um dos objetivos iniciais do EFI é "proteger a propriedade intelectual do vendedor de hardware"[13]. This raises security concerns[carece de fontes] and notably makes creating a free software implementation impossible.[carece de fontes] EFI could be used to create a "DRM BIOS", thus letting vendors build computers which limit what the user can do.[carece de fontes]
Ver também
- Open Firmware
- Basic Input/Output System (BIOS)
- Advanced Configuration and Power Interface (ACPI)
- System Management BIOS (SMBIOS)
- x86-64
- OpenBIOS
- LinuxBIOS
- System Management Mode
Referências
- ↑ Dong Wei, Beyond BIOS (foreword), Intel Press, 2006, ISBN 978-0-9743649-0-2
- ↑ see fat-driver.Tianocore.org for info on EFI FAT driver. (requires registration)
- ↑ Veja efi-shell.tianocore.org para informações sobre o EFI shell
- ↑ Ver Intel Platform Innovation Framework for EFI no site da Intel
- ↑ Apple Computer. "Universal Binary Programming Guidelines, Second Edition: Extensible Firmware Interface (EFI)."
- ↑ Intel, Framework Overview
- ↑ An Intel pdf with information about EFI on their boards
- ↑ See Overview of the Intel Platform Innovation Framework
- ↑ HP Printer's site
- ↑ Microsoft Windows Server TechCenter. "Extensible Firmware Interface."
- ↑ Microsoft bombshell: no EFI support for Vista
- ↑ Microsoft Pre-OS Video
- ↑ Interview with Ronald Minnich, author of LinuxBIOS