Qual é a finalidade do parâmetro DISM / RestoreHealth e SFC?
Aug 19 2020
Qual é a finalidade do DISM /RestoreHealthparâmetro e do SFC /ScanNowparâmetro?
- Como eles se correlacionam?
- Em que ordem eles devem ser executados?
- Por que a sequência de pedido importa ao executar qualquer um deles?
Respostas
3 JW0914 Aug 19 2020 at 13:28
O Component Store [ %WinDir%\WinSxS] mantém uma cópia de backup de todos os arquivos do sistema Windows SFCe DISMgerencia duas partes vitais e separadas do Component Store e do sistema operacional, SFCdependendo inteiramente do que DISMgerencia.
DISMtem duas funções nas quaisSFCconfia,/StartComponentCleanupe/RestoreHealth, com/RestoreHealthbase apenas em/StartComponentCleanup/StartComponentCleanup: Limpa o armazenamento de componentes de todos os links físicos quebrados.
É fundamental que as pessoas no Insider Builds executem isso regularmente devido às atualizações frequentes/RestoreHealth: Verifica e corrige qualquer corrupção no armazenamento de componentes, verificando seus backups de arquivos do sistema contra cópias boas conhecidas dos servidores do Windows Update por meio de comparação de hash; embora exista um método offline [abaixo], ele nem sempre corrige a corrupção
SFCsempre assume que o armazenamento de componente não está corrompido e é por isso que oDISM/RestoreHealthparâmetro deve sempre ser executado antes deSFC; não fazer isso permite que um armazenamento de componentes corrompido substitua potencialmente um arquivo de sistema em bom estado por um corrompido ou não conserte a corrupção por%WinDir%completo/ScanNow: Verifica e corrige qualquer corrupção%WinDir%, comparando as cópias boas conhecidas no armazenamento de componentes por meio de comparação de hash
DISMe SFCdeve ser executado na ordem listada, pois cada um depende do que o anterior faz:
-
O armazenamento de componentes deve ser sempre limpo antes de executar o Windows Update, após um problema com o Windows Update e pelo menos uma vez por mês, pois fica sujo com o tempo devido às atualizações que ocasionalmente quebram links físicos# Online (while booted to Windows): Dism /Online /Cleanup-Image /StartComponentCleanup # Offline (while booted to WinPE/WinRE): Dism /Image:"D:\Windows" /Cleanup-Image /StartComponentCleanup # C: is usually not the drive letter in WinPE/WinRE # To ascertain: DiskPart -> Lis Vol -> Exit -
Requer uma conexão com a Internet, caso contrário, o método offline será necessário:# Online (while booted to Windows): Dism /Online /Cleanup-Image /RestoreHealth # Offline (while booted to WinPE/WinRE): Dism /Image:"D:\Windows" /Cleanup-Image /RestoreHealth- Use o
install.esd||install.wimna ISO de instalação do Windows para a versão instalada (v1909, v2004, etc.) :- Crie a mídia de instalação do Windows 10 → Baixe a ferramenta agora → Escolha instalar em outro PC
- Monte o ISO e determine o índice do SO instalado [imagem] a partir do
install.esd||install.wim:Dism /Get-ImageInfo /ImageFile:"Z:\sources\install.esd" - Especifique o número do índice no final do
/Sourceparâmetro:# Online (while booted to Windows): # ESD: Dism /Online /Cleanup-Image /RestoreHealth /Source:esd:"Z:\sources\install.esd":6 /LimitAccess # WIM: Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:"Z:\sources\install.wim":6 /LimitAccess # Offline (while booted to WinPE/WinRE): Dism /Image:"D:\Windows" /Cleanup-Image /RestoreHealth /Source:esd:"Z:\sources\install.esd":6 /LimitAccess
- Use o
- Reinicialize (se forem encontrados erros, revise
%WinDir%\Logs\DISM\dism.log, começando de baixo para cima)- Os arquivos de log são mais fáceis de ler e filtrar por meio da sintaxe de log no VS Code
- Os arquivos de log são mais fáceis de ler e filtrar por meio da sintaxe de log no VS Code
-
# Online (while booted to Windows): Sfc /ScanNow # Offline (while booted to WinPE/WinRE): Sfc /ScanNow /OffBootDir=D:\ /OffWinDir=D:\Windows - Reinicialize (se forem encontrados erros, revise
%WinDir%\Logs\CBS\CBS.log, começando de baixo para cima)
Eu os executo semanalmente por meio do Agendador de Tarefas para ajudar a evitar a ocorrência de problemas aleatórios:
Dism_ComponentCleanup.xml
Executa semanalmente aos domingos às 11:30:00Dism_RestoreHealth.xml
Executa semanalmente aos domingos às 12h00Sfc_ScanNow.xml
Executa semanalmente aos domingos às 13:00:00
Para importar para o Agendador de tarefas:
- GUI:
-
+R → Abrir:
TaskSchd.msc - Ação → Nova pasta ... → Nome:
Custom - Ação → Importar Tarefa ... →
<task_name>.xml
-
- CLI:
Cmd:SchTasks /Create /Xml "%UserProfile%\Downloads\<task_name>.xml" /Tn "\Custom\Task Name" /Ru "%ComputerName%\%UserName%"Powershell:Register-ScheduledTask -Xml (Get-Content '$env:UserProfile\Downloads\<task_name>.xml' | Out-String) -TaskName "Task Name" -TaskPath "\Custom\" -User $env:ComputerName\$env:UserName –Force
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas