Componentes da tela de inicialização
Há dois componentes na tela de inicialização de atualização de firmware: o logotipo do OEM e o texto de atualização. Este artigo fornece diretrizes sobre como configurar cada um desses componentes e informações sobre como esses componentes são passados para o firmware em uma cápsula de atualização de firmware.
Logotipo do OEM
O logotipo do OEM na tela de inicialização de atualização de firmware deve ser o mesmo logotipo exibido durante o processo normal de inicialização. Para telas de inicialização de atualização de firmware, o logotipo deve ter o mesmo tamanho, posição e qualidade esperados como é exibido durante o processo normal de inicialização.
Arquivo de logotipo do OEM
Antes que os clientes vejam as telas acionáveis, o logotipo do OEM é exibido na tela de inicialização.
O logotipo do OEM não aparece em nenhuma tela no OOBE e, após o OOBE, ele é exibido no Painel de Controle em Informações e Ferramentas de Desempenho. Ele não é exibido no aplicativo Configurações .
POST (auto-teste de ativação) e tempos de inicialização do sistema operacional são mais rápidos do que costumavam ser. Para garantir que você tenha um momento de identidade visual adequado, o logotipo do OEM fica visível tanto no POST quanto na inicialização do sistema operacional. Nessa abordagem, o logotipo do OEM é prontamente reconhecível, adequadamente sustentado e associado a uma experiência rápida e confiável.
Além disso, o logotipo do OEM é exibido como um elemento de identidade visual no aplicativo Painel de Controle, em Informações e Ferramentas de Desempenho. Ele não é exibido no aplicativo Configurações .
Criar o logotipo
O logotipo que você adiciona apresenta aos clientes seu primeiro encontro visual com seus novos computadores que executam o Windows, portanto, ele deve ser limpo, nítido e nítido em suas bordas e por dentro.
A tela de fundo da tela de inicialização é sempre preta, portanto, use um logotipo que fique ótimo em um plano de fundo preto. O logotipo também deve ter uma tela de fundo preta verdadeira para que não haja diferença perceptível em que a tela de fundo preta do logotipo termina e o plano de fundo preto da tela começa. Não há suporte para transparência. A tela de fundo preta otimiza o desempenho do sistema tanto para a renderização inicial do logotipo quanto para o fade-out no final da inicialização para a transição do PROTOCOLOP (Protocolo de Saída de Gráficos UEFI) para o driver de vídeo nativo do sistema operacional. Outras áreas do Windows também usam seu logotipo: Instalação, PBR (redefinição de Push-Button), correção de inicialização segura e a Ferramenta de Reparo de Inicialização, que usam uma tela de fundo preta. Essas experiências usam o mesmo logotipo da BGRT (Tabela de Recursos gráficos de inicialização).
Posicionar o logotipo durante POST
O firmware desenha o logotipo do OEM em POST e coloca o logotipo em uma posição predeterminada. Quando a inicialização do Windows começa, o logotipo é mantido no buffer de vídeo. As áreas de trabalho podem detectar a resolução nativa do painel lendo seu EDID (Dados de Identificação de Exibição Estendida).
Para que o logotipo apareça corretamente em toda a sequência, POST precisa ocorrer na resolução nativa do dispositivo. Isso garante que o logotipo seja o tamanho, a forma e o local desejados e que o Windows exija.
O logotipo deve aparecer na tela em um local específico para mostrar a marca do computador. Recomendamos que o logotipo seja colocado com seu centro em 38,2% da borda superior da tela. Esse posicionamento baseia-se na estética visual da proporção áurea e corresponde às proporções de design Windows 10. Esse posicionamento consistente em todos os computadores que executam Windows 10 permite que o Windows coloque o anel de progresso no local correto e garante que o logotipo e o anel sejam balanceados visualmente.
Para dar suporte a esse equilíbrio visual, recomendamos que você limite o tamanho do logotipo a 40% da altura e largura da tela. Isso garante que a tela apareça corretamente e que o Windows possa esmaecer corretamente o logotipo no final da inicialização. Recomendamos que a área máxima do logotipo comece em no máximo 18,2% na parte superior da tela.
Esses princípios de design se aplicam a dispositivos paisagem e retrato.
Adicionar o logotipo ao BGRT
Além de posicionar corretamente o logotipo durante POST, você também armazena o logotipo dentro da BGRT (Tabela de Recursos gráficos de inicialização). O BGRT define dinamicamente novos objetos para o Windows usar para descrever os recursos e o local na tela. Armazene o logotipo em EfiBootServicesData e exponha-o por meio do BGRT. A interface BGRT dá suporte a esse logotipo como um bitmap de 24 bits com um formato de pixel de 0xRRGGBB ou um bitmap de 32 bits com um formato de pixel de 0xrrRRGGBB, onde 'rr' é reservado. Essa é a interface padrão que o Windows usa para acessar o logotipo.
Dois campos importantes no BGRT são "Deslocamento de Imagem X" e "Deslocamento de Imagem Y". Esses são os valores (x,y) do canto superior esquerdo do posicionamento do logotipo na tela. Ao definir esses valores, certifique-se de não usar a posição do logotipo ou o canto superior esquerdo da caixa delimitadora ou se o Windows não posicionará corretamente o logotipo em Instalação, Reparo de Inicialização, Push-Button Redefinir ou outras experiências.
Você deve minimizar o preenchimento no recurso de logotipo e usar apenas o que é necessário para o centro adequado. O uso do preenchimento mínimo economiza espaço no firmware e permite que o Windows dimensione o logotipo baseado em BGRT corretamente.
O logotipo do OEM não aparece em nenhuma tela no OOBE.
Para obter mais informações sobre o BGRT, consulte a seção 5.2.22 da Especificação de ACPI (Advanced Configuration and Power Interface).
Atualizar texto
O texto de atualização na tela de inicialização de atualização de firmware é uma cadeia de caracteres simples que foi projetada para ser rápida de ler e fácil de entender. O texto é renderizado pelo carregador de inicialização do Windows. Depois de determinar que as atualizações de firmware estão pendentes, o carregador de inicialização determina a localidade do Windows e exibe o texto localizado na tela.
Durante a chamada para UpdateCapsule, o carregador de inicialização passará todas as cápsulas de atualização de firmware. Além disso, ele também passará uma cápsula de exibição de atualização de firmware definida pela Microsoft que contém um bitmap do texto exibido e o local do bitmap na tela. O método UpdateCapsule do firmware do sistema deve persistir a cápsula para que, sempre que a tela for desmarcada ou modificada, ela possa exibir novamente o bitmap na tela.
Cápsula de exibição de atualização de firmware do Windows
Quando o carregador de inicialização do Windows chama o método UpdateCapsule do firmware do sistema, ele passa todas as cápsulas de atualização de firmware. Além disso, ele passará em uma cápsula de experiência do usuário do Windows. Esta cápsula contém o bitmap de texto renderizado e localizado que deve ser exibido na tela. O GUID a seguir é usado para identificar esta cápsula: {3b8c8162-188c-46a4-aec9-be43f1d65697}.
Não há garantia de ordem de que a cápsula da experiência do usuário apareça na matriz de cápsulas. Não confie em uma posição de índice específica para localizar a cápsula da experiência do usuário. Uma prática recomendada inclui a verificação da matriz procurando a cápsula da experiência do usuário e processá-la antes de processar as cápsulas de firmware restantes na matriz.
É importante observar que pode haver alguns cenários em que não haverá cápsula de experiência do usuário. Por exemplo, não haverá nenhuma cápsula de experiência do usuário no caso de um servidor sem periféricas que não tenha nenhum adaptador de exibição. Nesses casos, a chamada updateCapsule de firmware pode ignorar o requisito de cápsula de UX. No entanto, se a Cápsula da Experiência do Usuário estiver presente, UpdateCapsule deverá processá-la de acordo com o processo descrito nesta seção.
A tabela a seguir descreve o cabeçalho de exibição de atualização de firmware para a cápsula UX.
Campo | Comprimento do byte | Deslocamento de bytes | Descrição |
---|---|---|---|
CapsuleGuid | 16 | 0 | FIRMWARE_UPDATE_DISPLAY_CAPSULE |
HeaderSize | 4 | 16 | sizeof(EFI_CAPSULE_HEADER) |
Flags | 4 | 20 | CAPSULE_FLAGS_PERSIST_ACROSS_RESET |
CapsuleImageSize | 4 | 24 | Um inteiro sem sinal de 4 bytes que descreve o comprimento da cápsula de exibição de atualização de firmware. O tamanho inclui o cabeçalho e a cápsula, que inclui a imagem de exibição. |
A tabela a seguir descreve o conteúdo da cápsula de exibição de atualização de firmware.
Campo | Comprimento do byte | Deslocamento de bytes | Descrição |
---|---|---|---|
Versão | 1 | 28 | Identifica qual revisão da cápsula de exibição é implementada. Esse campo será definido como 1. |
Checksum (soma de verificação) | 1 | 29 | Contém uma soma de verificação para habilitar a validação simples. A soma de toda a cápsula (cabeçalho e conteúdo), incluindo a imagem de exibição, deve ser igual a zero. Se a soma não for igual a zero, a cápsula deverá ser ignorada. |
ImageType | 1 | 30 | Especifica o formato da imagem inserida: 0: Bitmap 1-255: Reservado para uso futuro. |
Reservado | 1 | 31 | Reservado para uso futuro. Deve ser zero. |
Mode | 4 | 32 | Especifica o modo de vídeo do protocolo de saída gráfico que é capaz de exibir a imagem inserida. O modo de vídeo é consultado antes de chamar UpdateCapsule e descreve o modo de vídeo atual e o modo de vídeo da exibição local quando a imagem inserida é exibida pelo carregador de inicialização. O valor é igual ao campo Modo da estrutura EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE quando a imagem é renderizada. |
Deslocamento de imagem X | 4 | 36 | Um longo sem sinal de 4 bytes (32 bits) que descreve o deslocamento X da imagem de bitmap. (X, Y) exibe o deslocamento do canto superior esquerdo da imagem. O canto superior esquerdo da exibição está em deslocamento (0, 0). |
Deslocamento de imagem Y | 4 | 40 | Um longo sem sinal de 4 bytes (32 bits) que descreve o deslocamento Y da imagem de bitmap. (X, Y) exibe o deslocamento do canto superior esquerdo da imagem. O canto superior esquerdo da exibição está em deslocamento (0, 0). Veja a imagem abaixo para obter um exemplo. |
Image | N/D | 44 | Uma matriz de bytes que contém o bitmap inserido a ser exibido durante o processo de atualização de firmware. O bitmap pode ser um bitmap de 24 bits com o formato de pixel 0xRRGGBB ou um bitmap de 32 bits com o formato de pixel 0xrrRRGGBB, em que 'rr' é reservado. |
Ao contrário de uma cápsula gerada para o conteúdo de atualização de firmware, o conteúdo da cápsula de exibição não é acolchoado para ser alinhado à página. A carga de exibição segue imediatamente o cabeçalho da cápsula.
A cápsula de exibição de atualização de firmware descreve um gráfico que deve ser renderizado durante a duração de uma atualização de firmware. O gráfico é inicialmente renderizado e exibido pelo Windows e entregue ao firmware como parte da mesma chamada UpdateCapsule que contém as cargas de atualização para o firmware. Se o firmware redefinir o sistema ou o dispositivo de vídeo, o firmware deverá reproduzir novamente o bitmap fornecido na cápsula de exibição. Se a memória física não for persistente na redefinição, o firmware poderá ter que salvar o bitmap no armazenamento persistente para redicionar o bitmap após a redefinição. Os detalhes sobre como salvar e restaurar o bitmap em uma redefinição são específicos da implementação e não são discutidos neste artigo.
A cápsula de exibição de atualização de firmware é modelada fora da TABELA de Recursos de Gráficos de Inicialização (BGRT) definida no ACPI 5.0. O BGRT define um mecanismo para que o firmware do sistema forneça um gráfico para um carregador de inicialização do sistema operacional. Embora as duas tabelas sejam semelhantes, há algumas diferenças notáveis.
BGRT | Cápsula de exibição de atualização de firmware | Motivo |
---|---|---|
Ponteiro para Bitmap | Bitmap inserido | A inserção do bitmap permite que a cápsula seja salva e restaurada em uma única operação. |
Não contém o modo de vídeo | Contém o modo de vídeo | Feito para evitar a necessidade do firmware para consultar o modo de vídeo durante a chamada UpdateCapsule. |
Conter um campo Status | Não contém um campo Status | O campo Status do BGRT descreve se a imagem é exibida atualmente na tela. Isso não é aplicável à cápsula de exibição de atualização de firmware. |