DISM / RestoreHealth parametresinin ve SFC'nin amacı nedir?

Aug 19 2020

DISM /RestoreHealthParametrenin ve parametrenin amacı nedir SFC /ScanNow?

  • Birbirleriyle nasıl ilişki kurarlar?
  • Hangi sırayla çalıştırılmalılar?
  • Her ikisini de yürütürken sipariş sırası neden önemlidir?

Yanıtlar

3 JW0914 Aug 19 2020 at 13:28

Bileşen Mağaza [ %WinDir%\WinSxS] tüm Windows sistem dosyalarının bir yedek kopyasını tutar ve SFCve DISMile, Bileşen Store ve OS'nin iki ayrı, hayati parçaları yönetmek SFCgüvenerek tamamen üzerine ne DISMyönetir.



  • DISMsahip iki fonksiyon SFCüzerine dayanır, /StartComponentCleanupve /RestoreHealthile, /RestoreHealthgüvenmekle/StartComponentCleanup
    • /StartComponentCleanup: Bileşen Deposundaki bozuk sabit bağlantıları temizler İçeriden Derlemelerdeki zorunlu kişiler, sık güncellemeler nedeniyle bunu düzenli olarak çalıştırır
    • /RestoreHealth: Karma karşılaştırma yoluyla Windows Update sunucularından bilinen iyi kopyalara karşı sistem dosyası yedeklerini doğrulayarak Bileşen Deposu'ndaki tüm bozulmaları doğrular ve düzeltir; Çevrimdışı bir yöntem [aşağıda] mevcutken, yolsuzluğu her zaman düzeltmeyebilir

  • SFCher zaman Bileşen Deposunun bozuk olmadığını varsayar ve bu nedenleDISM /RestoreHealthparametrenin her zaman öncesinde çalıştırılması gerekirSFC; bunu yapmamak, bozuk bir Bileşen Mağazasının iyi bir sistem dosyasını bozuk bir dosyayla değiştirmesine veya bozulmayı%WinDir%tamamen düzeltememesine neden olur
    • /ScanNow:%WinDir% Karma karşılaştırma yoluyla Bileşen Mağazası içindeki bilinen iyi kopyalara karşı doğrulayarak içindeki tüm bozulmaları doğrular ve düzeltir


DISMve SFCher biri öncekinin ne yaptığına bağlı olduğu için listelenen sırada yürütülmelidir:

  1. # 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
    
    Bileşen Mağazası, Windows Update çalıştırılmadan önce, Windows Update ile ilgili bir sorundan sonra ve en az ayda bir temizlenmelidir , çünkü zamanla sabit bağlantıları bozan güncellemelerden dolayı zamanla kirlenir.

  2. # Online (while booted to Windows):
      Dism /Online /Cleanup-Image /RestoreHealth
    
    # Offline (while booted to WinPE/WinRE):
      Dism /Image:"D:\Windows" /Cleanup-Image /RestoreHealth
    
    İnternet bağlantısı gerektirir, aksi takdirde çevrimdışı yöntem gerekli olacaktır:
    • install.esd|| kullanın install.wimdan Windows'un ISO yükleyin yüklü versiyonu için (vs v1909, v2004,) :
      1. Windows 10 yükleme medyası oluşturunAracı şimdi indirinBaşka bir bilgisayara yüklemeyi seçin
      2. ISO'yu monte edin ve yüklü işletim sistemi dizinini [image] install.esd|| install.wim:
        Dism /Get-ImageInfo /ImageFile:"Z:\sources\install.esd"
        
      3. /SourceParametrenin sonundaki indeks numarasını belirtin :
        # 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
        

  3. Yeniden başlatın (hatalar bulunursa, %WinDir%\Logs\DISM\dism.logaşağıdan yukarıya doğru inceleyin)
  4. # Online (while booted to Windows):
      Sfc /ScanNow
    
    # Offline (while booted to WinPE/WinRE):
      Sfc /ScanNow /OffBootDir=D:\ /OffWinDir=D:\Windows
    
  5. Yeniden başlatın (hatalar bulunursa, %WinDir%\Logs\CBS\CBS.logaşağıdan yukarıya doğru gözden geçirin)


Rasgele sorunların oluşmasını önlemeye yardımcı olmak için bunları haftalık olarak Görev Zamanlayıcı aracılığıyla çalıştırıyorum :

  1. Dism_ComponentCleanup.xml
    Her hafta Pazar günleri 11:30:00
  2. Dism_RestoreHealth.xml
    Her hafta Pazar günleri 12:00:00
  3. Sfc_ScanNow.xml
    Haftalık Pazar günleri 13:00:00

Görev Zamanlayıcı'ya aktarmak için:

  • GUI:
    1. +R
      → Aç:TaskSchd.msc
    2. EylemYeni Klasör ... → Ad:Custom
    3. EylemGörevi İçe Aktar ...<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