É bem assim que o Windows funciona, e você está bem preso a isso.
Agora posso ver você se perguntando:
Why the heck does Windows do that when any self respecting Linux can do all the updates in one go?
A resposta se resume em como o Windows e o Posix * nixes tratam do problema de arquivos abertos. No Windows, se um arquivo estiver aberto, ele também terá um bloqueio DenyWrite e o arquivo não poderá ser gravado. Tal como para uma atualização. No Linux, tudo é um arquivo e todos os arquivos podem ser atualizados, portanto, o arquivo é atualizado. Se o arquivo não puder ser atualizado por algum outro motivo, o instalador lançará um erro criptográfico e ficará complicado descobrir por que a atualização falhou.
Como o Windows só pode atualizar certos arquivos durante o processo de reinicialização, você obtém casos em que precisa de várias reinicializações para aplicar certos conjuntos de correções. Isso acontece mais quando atualizações de produtos diferentes se sobrepõem a arquivos de alguma forma, e essa atualização posterior precisa que a atualização anterior seja realmente aplicada antes que possa ser atualizada. O Windows obteve muito melhor sobre verificação de dependência ao longo dos anos, antes do Windows Update era prática comum aplicar cada atualização individualmente com sua própria reinicialização [1], mas ainda há algumas coisas que se confunde ; especialmente quando também está fazendo correções de OS, IE e Media Player ao mesmo tempo.
A última vez que preparei um servidor Server 2003 (não o R2), foram necessárias quatro reinicializações para atualizar tudo, sem incluir o service pack. Se eu estiver preparando um servidor SLES 9 (data aproximadamente do mesmo tempo, em um kernel 2.6.4ish), esse conjunto de atualizações também será temível. O processo 'rcd' usado nessa distro vai ficar confuso com o tamanho da atualização, então eu teria que atualizar apenas algumas vezes antes que eu pudesse atualizar o conjunto inteiro de patches. Não são várias reinicializações, mas exigem vários aplicativos do processo de atualização. E no SLES9, o RCD pode levar uma idade sangrenta para mastigar grandes conjuntos de atualizações, de modo que o servidor SLES9 provavelmente terminaria de atualizar tudo após o servidor Win 2003 [2].
[1] Havia algumas ferramentas para ajudar a 'encadear' atualizações, mas diferentes lojas de TI tinham idéias diferentes sobre o uso dessas ferramentas em sistemas de produção.
[2] Que apenas mostra a qualidade do processo de rcd nessa distro. Tão feliz que morreu com SLES11.