跳至内容

系统损坏扫描/修复(SFC/DISM)

本页由 tools/devdocs-generator.ps1 生成,请修改源配置或函数后重新生成。目录保留历史 URL,实际分类以本页为准。

  • 稳定 ID:WPFPanelDISM
  • 当前分类:修复
  • 源配置:config/feature.json
  • 源配置 SHA-256:956400006e36b3841c7816500199907bb57de94c98a0f05b1e9ee4737a8ab03c

配置定义

{
  "WPFPanelDISM": {
    "Content": "系统损坏扫描/修复(SFC/DISM)",
    "category": "修复",
    "panel": "1",
    "Type": "Button",
    "ButtonWidth": "300",
    "function": "Invoke-WPFSystemRepair",
    "link": "https://winutil.christitus.com/dev/features/fixes/dism"
  }
}

入口函数

来源:functions/public/Invoke-WPFSystemRepair.ps1。这里只展示入口,其他被调用函数以仓库源码为准。

function Invoke-WPFSystemRepair {
    <#
    .SYNOPSIS
        Checks for system corruption using SFC, and DISM
        Checks for disk failure using Chkdsk

    .DESCRIPTION
        1. Chkdsk - Checks for disk errors, which can cause system file corruption and notifies of early disk failure
        2. SFC - scans protected system files for corruption and fixes them
        3. DISM - Repair a corrupted Windows operating system image
    #>

    Start-Process cmd.exe -ArgumentList "/c chkdsk /scan /perf" -NoNewWindow -Wait
    Start-Process cmd.exe -ArgumentList "/c sfc /scannow" -NoNewWindow -Wait
    Start-Process cmd.exe -ArgumentList "/c dism /online /cleanup-image /restorehealth" -NoNewWindow -Wait

    Write-Host "==> Finished System Repair"
    Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
}