Após alterar o tipo de uma instância Windows entre gerações no console do ECS, a instância pode falhar ao iniciar e exibir uma tela azul com o erro "INACCESSIBLE_BOOT_DEVICE", o que impede o carregamento do sistema operacional. Este tópico descreve como resolver esse problema.
Descrição do problema
Condições de ativação
Esse problema ocorre ao alterar o tipo de uma instância ECS com Windows entre gerações, como mudar a família da instância de ecs.g7 (VirtIO-SCSI) para ecs.g8i (NVMe).
Sintomas
Após iniciar a instância no console do ECS, não é possível conectá-la pela Conexão de Área de Trabalho Remota (RDP). Ao fazer logon na instância via conexão VNC, o sistema operacional exibe uma tela azul com a mensagem de erro Stop Code: (INACCESSIBLE_BOOT_DEVICE) durante a inicialização.
Captura de tela do erro

Causa raiz
Para otimizar a velocidade de inicialização, o sistema operacional Windows carrega apenas os drivers críticos necessários ao ambiente de hardware atual durante uma inicialização normal.
Ao alterar o tipo de uma instância ECS entre gerações, o protocolo de interface do hardware de armazenamento subjacente pode mudar.
Por exemplo, se você atualizar uma instância deecs.g7paraecs.g8i, o driver de armazenamento subjacente muda deVirtIO-SCSIparaNVMe. Após a alteração do tipo de instância, o sistema operacional ainda tenta carregar o driver de armazenamento antigo (viostor.sys) durante a fase de inicialização. No entanto, o hardware agora usa a interfaceNVMe. Como resultado, o disco do sistema não é reconhecido nem acessado, o que aciona o erro de tela azulINACCESSIBLE_BOOT_DEVICEporque nenhum dispositivo inicializável foi encontrado.
Solução alternativa
Esta solução alternativa visa restaurar rapidamente o acesso ao serviço, não sendo uma solução permanente.
Para restaurar seus serviços rapidamente, primeiro altere o tipo de instância de volta para o original.
Após a restauração dos serviços, caso ainda precise atualizar para o novo tipo de instância, siga as etapas na seção Medidas preventivas para preparar a instância. Em seguida, agende uma nova janela de manutenção para alterar o tipo de instância novamente.
Soluções
Solução 1: Reparo automático no modo de segurança (Recomendado)
Esta solução utiliza o modo de segurança do Windows para carregar automaticamente drivers genéricos e resolver o problema.
Antes de executar o reparo, crie um snapshot manual da instância para evitar perda de dados devido a erros operacionais.
Procedimento
Faça logon na instância com falha usando uma conexão VNC. Após duas falhas consecutivas de inicialização, a instância entra automaticamente na tela de recuperação. Nessa tela, selecione Troubleshoot para acessar a tela de Advanced options.
Na tela de Advanced options, selecione Startup Settings.
Na tela de Startup Settings, clique em Restart.
Após a reinicialização da instância, o menu Advanced Boot Options será exibido. Selecione Safe Mode With Networking e pressione
Enter. Aguarde o carregamento do sistema no modo de segurança.Siga as instruções na tela para fazer logon no sistema e acessar a área de trabalho do modo de segurança. O novo driver de armazenamento é carregado e registrado automaticamente.
No console do ECS, reinicie a instância e depois faça logon na instância usando uma conexão VNC. Se a instância iniciar normalmente e entrar na área de trabalho do Windows, o problema estará resolvido.
Solução 2: Edite o registro offline
Esta solução utiliza as ferramentas de linha de comando no Ambiente de Recuperação do Windows para modificar o registro offline e forçar o carregamento do driver de armazenamento.
Antes de executar o reparo, crie um snapshot manual da instância para evitar perda de dados devido a erros operacionais.
Procedimento
Faça logon na instância com falha usando uma conexão VNC. Após duas falhas consecutivas de inicialização, a instância entra automaticamente na tela de recuperação. Selecione Troubleshoot para acessar a tela de Advanced options.
Selecione Command Prompt.
Selecione uma conta com privilégios administrativos (o padrão é administrator), insira a senha e abra o Command Prompt.
Na janela do Command Prompt, insira
regedite pressione Enter para abrir o Registry Editor.Selecione
HKEY_LOCAL_MACHINE. Em seguida, na barra de menus, escolha .Na caixa de diálogo de seleção de arquivos exibida, navegue até o caminho do arquivo de registro no disco do sistema, geralmente
C:\Windows\System32\config\SYSTEM, e clique em Open.Na caixa de diálogo Load Hive, especifique um nome de chave temporário para o hive carregado, como
OfflineSYSTEM, e clique em OK.Expanda
HKEY_LOCAL_MACHINE\OfflineSYSTEM\Selecte verifique o valor da chaveDefault. Por exemplo, se o valor for1, o conjunto de controle atual seráControlSet001.-
Localize os seguintes caminhos de registro. Clique com o botão direito em cada caminho e selecione Delete. Se um caminho não existir, ignore-o.
HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Services\AliNVMe\StartOverride HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Services\stornvme\StartOverride HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Services\viostor\StartOverride Selecione a chave
OfflineSYSTEMcarregada. Na barra de menus, escolha e confirme a ação.Feche o Registry Editor e a janela do Command Prompt. Retorne à tela de opções, selecione Continue e aguarde a reinicialização do sistema.
Resultado esperado: A instância reinicia normalmente e exibe a tela de logon do Windows.
Solução 3: Edite o registro com uma instância auxiliar
Esta solução envolve anexar o disco do sistema da instância com falha a uma instância auxiliar funcional para reparar o registro.
Antes de executar o reparo, crie um snapshot da instância para evitar perda de dados devido a erros operacionais.
Procedimento
-
Prepare uma instância Windows funcional (instância auxiliar) que atenda aos seguintes requisitos:
Imagem diferente: A imagem da instância auxiliar deve ser diferente da imagem da instância com falha.
Mesma zona: A instância auxiliar deve estar na mesma zona que a instância com falha.
No console do ECS, pare a instância com falha, desanexe seu disco do sistema e, em seguida, anexe o disco do sistema como um disco de dados à instância auxiliar.
Faça logon na instância auxiliar usando o Workbench. Pressione
Win+R, insiradiskmgmt.msce pressioneEnterpara abrir o Disk Management. Clique com o botão direito no disco recém-anexado e clique em Online.Pressione
Win+R, insiraregedite pressioneEnterpara abrir o Registry Editor.Selecione
HKEY_LOCAL_MACHINE. Em seguida, na barra de menus, escolha .-
Na caixa de diálogo exibida, navegue até o caminho do arquivo de registro no disco do sistema recém-anexado e clique em Open.
Por exemplo, se a letra da unidade do disco do sistema recém-anexado for D, o caminho do arquivo de registro será
D:\Windows\System32\config\SYSTEM. -
Na caixa de diálogo Load Hive, especifique um nome de chave temporário para o hive carregado, como
OfflineSYSTEM, e clique em OK.Após o carregamento do hive, a nova chave OfflineSYSTEM aparece sob o nó HKEY_LOCAL_MACHINE.
Expanda
HKEY_LOCAL_MACHINE\OfflineSYSTEM\Selecte verifique o valor da chaveDefault. Por exemplo, se o valor for1, o conjunto de controle atual seráControlSet001.-
Localize os seguintes caminhos de registro. Clique com o botão direito em cada caminho e selecione Delete. Se um caminho não existir, ignore-o.
HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Services\AliNVMe\StartOverride HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Services\stornvme\StartOverride HKEY_LOCAL_MACHINE\OfflineSYSTEM\ControlSet001\Services\viostor\StartOverride Selecione a chave
OfflineSYSTEMcarregada. Na barra de menus, escolha . Confirme a ação e saia do Registry Editor.Pressione
Win+R, insiradiskmgmt.msce pressioneEnterpara abrir o Disk Management. Clique com o botão direito no disco recém-anexado e clique em Offline.No console do ECS, desanexe o disco em nuvem reparado da instância auxiliar e, em seguida, anexe-o de volta à instância original como disco do sistema.
Reinicie a instância com falha e faça logon nela usando uma conexão VNC.
Resultado esperado: A instância reinicia normalmente e exibe a tela de logon do Windows.
Medidas preventivas
Para evitar esse problema, execute as etapas a seguir antes de alterar o tipo de uma instância Windows entre gerações. Essas tarefas forçam o sistema a carregar todos os drivers de armazenamento disponíveis na próxima inicialização.
Antes de executar o reparo, crie um snapshot manual da instância para evitar perda de dados devido a erros operacionais.
Console (Cloud Assistant)
Na página do Cloud Assistant no console do ECS, crie um comando PowerShell.
-
Cole os seguintes comandos na caixa Command Content.
reg delete HKLM\SYSTEM\CurrentControlSet\Services\stornvme\StartOverride /f reg delete HKLM\SYSTEM\CurrentControlSet\Services\AliNVMe\StartOverride /f reg delete HKLM\SYSTEM\CurrentControlSet\Services\viostor\StartOverride /f Selecione as instâncias que deseja alterar e clique em Run. Ignore quaisquer mensagens de erro "not found".
Após a execução bem-sucedida dos comandos, altere o tipo de instância no console do ECS.
In-instance (manual)
Faça logon na instância Windows cujo tipo de instância você deseja alterar.
Pressione
Win+R, insirapowershelle pressioneEnterpara abrir oPowerShell.-
Execute os seguintes comandos para excluir as informações de registro relacionadas. Ignore quaisquer mensagens de erro "not found".
reg delete HKLM\SYSTEM\CurrentControlSet\Services\stornvme\StartOverride /f reg delete HKLM\SYSTEM\CurrentControlSet\Services\AliNVMe\StartOverride /f reg delete HKLM\SYSTEM\CurrentControlSet\Services\viostor\StartOverride /f Após a execução bem-sucedida dos comandos, altere o tipo de instância no console do ECS.
In-instance (plugin)
Faça logon na instância Windows cujo tipo de instância você deseja alterar.
Pressione
Win+R, insirapowershelle pressioneEnterpara abrir oPowerShell.-
Execute os seguintes comandos para alternar para o diretório do Cloud Assistant e excluir as informações de registro relacionadas. Ignore quaisquer mensagens de erro "not found".
cd (Get-ChildItem "C:\ProgramData\aliyun\assist\" -Directory | Where-Object { $_.Name -match '^\d+(\.\d+){2,3}$' } | Sort-Object { [version]$_.Name } -Descending | Select-Object -First 1).FullName ./acs-plugin-manager.exe -e -P ACS-ECS-ScsiNvmeBootfix Após a execução bem-sucedida dos comandos, altere o tipo de instância no console do ECS.