A hibernação falha; O sistema não pode encontrar o arquivo especificado

0

Recentemente instalei o Ubuntu 12.04.1 LTS no meu Lenovo Y480. A hibernação estava funcionando corretamente após a instalação do Ubuntu, mas eu estava certificando-me de que todos os sistemas operacionais do meu sistema funcionavam, incluindo o OneKey Recovery (partição de recuperação). É digno de nota que instalei o Windows 7 do zero com uma imagem de disco que baixei do programa DreamSpark da minha universidade e, além disso, tive que criar uma imagem da partição com o Paragon Backup & Recuperação, repartição para converter a partição do Windows para estendida, instalar o Ubuntu e restaurar a imagem. Durante esse processo, também usei o disco do Windows para editar o BCD, a fim de reutilizar a entrada existente para a partição restaurada. Eu também usei a opção automatizada "reparar seu computador".

Com a verificação, notei que a opção "reparar seu computador" realmente gravava no BCD errado (a partição de recuperação), e montei a partição e restaurei o BCD original (de uma cópia que fiz anteriormente) e reiniciei. Neste ponto, meu GRUB quebrou e consegui restaurá-lo. Neste ponto, a hibernação quebrou.

Eu tentei powercfg /h off e powercfg /h on , reiniciei e nada. Também tentei aumentar o tamanho do arquivo de hibernação conforme indicado em este post , mas ele ainda não funciona . Executando shutdown /h yields The system cannot find the file specified.(2) . Qual arquivo?

Parece que a montagem da partição do sistema às vezes funciona, mas não quero mantê-la montada no caso de ser gravada acidentalmente. Como faço para corrigir isso permanentemente?

    
por cyanic 19.09.2012 / 23:03

2 respostas

0

Resposta curta: Se você adicionou e removeu letras de unidade para a partição do sistema com o Gerenciamento de Disco, o Windows não remontará a partição na próxima reinicialização. A partição do sistema é necessária porque contém o BCD e o BCD precisa ser gravado para que o sistema possa ser retomado com sucesso do modo de hibernação. Se a partição não estiver montada, o BCD não poderá ser gravado e a hibernação falhará.

Como corrigir:

  1. Abra regedit e navegue para HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  2. Procure por nomes que tenham um padrão de #{guid} e exclua todos eles. Dispositivos que você desmontou especificamente aparecerão novamente na reinicialização.
  3. Feche regedit e abra um Prompt de Comando escalonado.
  4. Execute mountvol /E para permitir o automount (para que a partição do sistema seja montada automaticamente, mas não seja atribuída uma letra).
  5. Reinicie e teste.

Se ainda assim não funcionar, defina sua partição do sistema como Ativo (inicialização). E, claro, certifique-se de que a hibernação esteja ativada e a suspensão híbrida desativada.

Resposta mais longa (o processo): Acontece que montar e desmontar a partição do sistema é o culpado. O Windows "lista" o volume para que ele não seja remontado na inicialização. Eu percebi isso quando pensei em como a hibernação só funcionaria se a partição do sistema fosse montada. Eu instalei outra cópia do Windows 7 na mesma unidade antes de chegar a essa conclusão, pensando que tinha algo a ver com o Windows ser um volume lógico. Para boas medidas, eu verifiquei bcdedit e foi capaz de puxar a configuração do BCD. Voltei para a minha instalação original e não consegui encontrar um arquivo. (Hmm ... não conseguiu encontrar um arquivo aqui, não conseguiu encontrar um arquivo durante a hibernação ...) Uma verificação com mountvol revelou o problema: Ele me disse *** NOT MOUNTED UNTIL A VOLUME MOUNT POINT IS CREATED *** . Ah! Desmontei a partição do sistema para que ela não aparecesse na reinicialização e, como o Windows quer mantê-la como tal, ela adiciona uma entrada em algum lugar para proibir expressamente a montagem. Portanto, bcdedit não consegue encontrar o BCD. E faz sentido que o BCD seja necessário, porque uma entrada especial é adicionada para que o sistema possa ser retomado. O erro de arquivo não encontrado, portanto, referiu-se ao armazenamento BCD.

    
por 19.09.2012 / 23:03
0

No meu caso, a solução foi a ordem de disco. Eu tinha seguido todos os conselhos (incluindo a resposta do GMMan acima). A partição do Windows foi marcada como ativa. Garantiu que todos os dispositivos entrassem em estado de suspensão. Eu fui meticuloso. Ainda continuou recebendo o erro "O sistema não pode encontrar o arquivo especificado" ao tentar desligar / h.

O problema foi inteiramente devido ao disco em que a partição do Windows estava sendo o disco 1 (contagem de zero, portanto, o segundo disco).

Eu tenho um ambiente de inicialização dupla do Linux Windows, cada sistema operacional tem seu próprio HDD. O HDD do Linux com o Grub foi listado primeiro no BIOS. O disco rígido do Windows foi listado em segundo. Então eu mudei seus cabos físicos e disse para inicializar o disco rígido do linux para que eu ainda conseguisse grub.

O Windows não reclama mais "O sistema não pode encontrar o arquivo especificado" quando eu tento e hiberne. O sono híbrido funciona. Tudo funciona depois dessa pequena mudança.

longa história curta. Eu acho que a partição do Windows que você deseja hibernar tem de ser listado como disco 0 no Gerenciador de Partições.

    
por 14.05.2014 / 19:23