Versões e builds do Windows: o que quebra e quando
Por que um leitor de memória depende da build do Windows que ele lê, o que atualizações de recursos como 24H2 e 25H2 mudam, como conferir a sua build e por que as duas máquinas precisam de políticas de atualização diferentes.
Resposta curta
Builds do Windows mudam o layout das estruturas do kernel, então uma atualização de recursos no PC de jogo pode quebrar um leitor de memória até ele ser recompilado. Confira as builds com o winver, segure as atualizações do segundo PC enquanto uma build comprovadamente funciona e mantenha o PC de jogo em dia por causa do anticheat.
Nesta página10
- Por que a build do Windows importa para um leitor?
- A versão do Windows de qual máquina importa?
- Como conferir a sua build exata do Windows
- Conferindo a build pela linha de comando
- O que uma atualização de recursos muda?
- Como lidar com atualizações em cada máquina
- Como segurar atualizações e ainda assim ficar corrigido
- Problemas ligados a builds e atualizações do Windows
- Perguntas frequentes sobre versões do Windows
- Fontes
Por que a build do Windows importa para um leitor?
Um leitor de memória não pede dados ao Windows. Em vez disso, ele encontra estruturas do kernel na memória física, como as tabelas de páginas, a lista de processos e a lista de módulos, e caminha por elas usando offsets. Essas estruturas são internas ao kernel, e a Microsoft tem toda a liberdade de mudar o layout delas em qualquer lançamento. Quando o layout se move, os offsets contra os quais o leitor foi compilado passam a apontar para a coisa errada. O software então falha logo no primeiro passo, porque sem a base da tabela de páginas ele não consegue resolver mais nada. É por isso que a versão do Windows que você roda tem consequências reais e não é questão de preferência.
A versão do Windows de qual máquina importa?
As estruturas do kernel que estão sendo resolvidas ficam na máquina cuja memória está sendo lida, enquanto o software que faz a leitura roda no segundo PC. Esse software, em geral, só precisa de um Windows suportado com os runtimes certos instalados. Ou seja, uma atualização de recursos no PC de jogo muda o formato daquilo que o leitor está olhando. Uma atualização de recursos no segundo PC pesa menos, mas ainda é um risco real para drivers e runtimes, e é por isso que cada máquina precisa da própria decisão sobre atualizar.
Como conferir a sua build exata do Windows
Versão, atualização de recursos e build são três números diferentes, e chamados de suporte andam mal quando a pessoa informa só “Windows 11”, então informe os três.
- Pressione Windows e R, digite winver e pressione Enter
- Leia a edição, o rótulo da atualização de recursos, como 24H2, e a linha OS Build, incluindo o número depois do ponto
- Para um texto que dá para copiar, abra Configurações, Sistema, Sobre e leia as especificações do Windows
- Anote a build e a revisão da atualização juntas, porque a revisão (a parte depois do ponto) identifica uma atualização cumulativa específica
- Guarde isso no mesmo lugar em que você mantém as anotações de firmware, e atualize sempre que o Windows atualizar
- Ao abrir um chamado, inclua a string completa da build das duas máquinas, não só da que você acha que está quebrada
Conferindo a build pela linha de comando
Os valores do registro são os oficiais, porque o próprio Windows Update se baseia neles. DisplayVersion é o rótulo da atualização de recursos e CurrentBuild é a build, enquanto UBR é a revisão da atualização, o número depois do ponto no winver.
winver
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v DisplayVersion
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBRO que uma atualização de recursos muda?
Uma atualização cumulativa mensal normalmente corrige o Windows sem mover as estruturas das quais um leitor depende. Atualizações de recursos são diferentes: elas vêm rotuladas com um ano e um semestre, como 24H2 e 25H2, e cada uma entrega um kernel novo. É aí que as mudanças de layout se concentram, e isso explica um padrão conhecido. Tudo funciona por meses, uma atualização de recursos instala durante a noite e, na manhã seguinte, o software não acha a base da tabela de páginas. Nada foi detectado e nada quebrou na placa. O software precisa de uma versão compilada contra o kernel novo, e o mapa de memória talvez precise ser gerado de novo também.
Como lidar com atualizações em cada máquina
Cada coluna é um perfil de risco diferente, então aplicar a mesma política de atualização nas duas máquinas é um erro.
| Pergunta | PC de jogo | Segundo PC |
|---|---|---|
| Manter atualizado? | Sim. Os anticheats e o próprio jogo esperam um Windows atual e suportado, e um PC de jogo desatualizado gera as próprias falhas na hora de abrir o jogo | Não automaticamente. Quando uma build comprovadamente funciona com o seu software, existe um argumento real para segurá-la ali |
| Por quê | Estar em dia é uma exigência do software que você está tentando jogar, e uma build sem suporte é um problema de segurança em uma máquina que você usa normalmente | Ela roda uma ferramenta só. A única coisa que uma atualização compra aqui é risco para o driver e para os runtimes |
| O que uma atualização de recursos arrisca | Mudanças no layout das estruturas do kernel, que é o que quebra o leitor e é caso de esperar por uma atualização do software | Reversões de driver do controlador USB, mudanças no driver FTDI e mudanças de versão de runtime |
| Como segurar atualizações | Não segure além de uma pausa curta. Use a pausa nativa se precisar esperar uma semana por notícias de compatibilidade | Pause as atualizações e adie especificamente a atualização de recursos, usando as próprias configurações do Windows |
| Depois que uma atualização quebrou algo | Confira o painel de status do seu título antes de mudar qualquer coisa na máquina | Confira de novo o driver FTDI, a velocidade negociada da porta e os runtimes antes de supor que a placa piorou |
Nenhuma das colunas quer dizer desligar as atualizações para sempre, porque uma build do Windows que para de receber correções de segurança é um passivo, mesmo em uma máquina de trabalho.
Dica
Como segurar atualizações e ainda assim ficar corrigido
Em um segundo PC, o caminho sensato é adiar as atualizações, não abandoná-las. Use a pausa e o adiamento de atualização de recursos que o Windows já oferece, e deixe as atualizações cumulativas de segurança entrarem. Segure a atualização de recursos até o seu fornecedor de software dizer que o kernel novo é suportado. Isso mantém a máquina corrigida contra o que importa e evita a única classe de atualização que quebra o leitor. Desligar o Windows Update por completo deixa você em uma build que para de receber correções, o que é uma troca pior do que esperar um fim de semana.
Problemas ligados a builds e atualizações do Windows
Se um destes problemas apareceu na manhã seguinte a uma atualização, confira estas causas antes de olhar para o hardware.
| Sintoma | Causa provável | Solução |
|---|---|---|
| Unable to locate valid DTB, logo depois de uma atualização de recursos do Windows | O layout das estruturas do kernel mudou na máquina que está sendo lida; os offsets do software não batem mais | Confira o painel de status e espere uma versão do software que suporte o kernel novo, e então gere o mapa de memória outra vez quando essa versão sair |
| Failed to find base address depois de uma atualização, sem erro de DTB | Uma atualização do jogo em vez de uma do Windows, ou um mapa de memória anterior a uma mudança no sistema | Confirme que a versão do jogo é suportada e então gere o mapa de memória outra vez, mas não mude configurações de firmware por causa disso |
| A taxa de leitura caiu bruscamente depois de uma atualização no segundo PC | O Windows substituiu ou reverteu o driver do controlador USB ou da ponte | Confira de novo a versão do driver FTDI e a velocidade negociada da porta, e então reinstale a versão do driver entregue com o seu pedido |
| O loader não abre depois de uma atualização, sem erro de hardware | Um runtime foi substituído ou removido — os redistribuíveis do Visual C++ ou o runtime do web view | Reinstale os runtimes listados junto com o seu download, reinicie e tente de novo antes de mexer em qualquer outra coisa |
| Tudo funciona em uma máquina e não funciona em outra supostamente idêntica | As duas máquinas estão em builds ou revisões de atualização diferentes | Compare as strings completas de build mais UBR das duas máquinas, porque elas raramente são tão idênticas quanto as pessoas supõem |
Perguntas frequentes sobre versões do Windows
Qual versão do Windows devo instalar no segundo PC?
Instale uma build de 64 bits do Windows que ainda receba atualizações de segurança e que os requisitos atuais do seu software listem como suportada. Confira a documentação do próprio software antes de instalar, em vez de instalar o lançamento mais novo e torcer.
Uma atualização da classe 24H2 ou 25H2 vai quebrar o meu setup com certeza?
Com certeza não, mas é nas atualizações de recursos que as mudanças de layout do kernel se concentram, então elas são o tipo de atualização com maior chance de quebrar. Confira o status do seu fornecedor antes de instalar uma na máquina que está sendo lida.
Devo desligar o Windows Update por completo?
Não. Adie as atualizações de recursos, mas deixe as de segurança entrarem, porque uma build que parou de receber correções é um risco real. Nada neste setup compensa rodar uma máquina sem correções.
Dá para reverter depois que uma atualização quebrou as coisas?
O Windows oferece uma janela limitada de reversão depois de uma atualização de recursos, e às vezes funciona, mas trate isso como recuperação de curto prazo, não como plano. Leia as notas de status do seu fornecedor antes de decidir.
O segundo PC precisa da mesma versão do Windows que o PC de jogo?
Não, os dois são independentes. A build do PC de jogo é a que o leitor tem que entender, enquanto a build do segundo PC só precisa rodar o software e os runtimes dele.
Fontes
Fora a fonte citada, isto é trabalho de bancada: o time viu atualizações de recursos quebrarem leitores e anotou quais builds funcionavam. A Microsoft não publica o layout de kernel do qual um leitor depende.
- 01Windows Update and FTDI drivers (Hackaday, 2014)
o caso em que um driver FTDI distribuído pelo Windows Update quebrou dispositivos que funcionavam
hackaday.com
Leia em seguida
Ainda travado? Abra um ticket no Discord
Todos os guias