使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

升级到或更新Windows 10时,可能会遇到错误"无法更新系统保留分区"、错误代码0xc1900104或错误代码0x800f0922。 

原因

SRP (系统) 分区可能已满。 系统保留分区 (SRP) 是硬盘驱动器上的一个小型分区,用于存储 Windows。 某些第三方防病毒和安全应用会写入 SRP,并可以填充它。

解决方法

注意:这些步骤很复杂,并且存在一些风险。 最好是具有命令行使用经验的高级用户完成此操作。 如果在输入这些命令时出错,可能会将设备置于无法启动状态,并且可能会丢失设备上存储的数据。

若要升级设备,需使用下面的适当方法在 SRP 上释放 15MB 的空间,然后重试升级。 如果要更新 Windows 10,需要释放 13MB。

首先,确定 SRP 是 GPT 还是 MBR 分区样式:

  1. 按 Windows 键 + R。在弹出的"运行"窗口中,键入 diskmgmt.msc 并按 Enter。

  2. 长按或右键单击包含 SRP 的磁盘 (磁盘 0) ,然后选择"属性"。
    属性

  3. 选择"卷"选项卡。

  4. "分区样式:"行将说出 GUID 分区表 (GPT) 或主启动记录 (MBR) 。


其次,选择所需的方法:

  1. 搜索 cmd。 长按或右键单击结果中的"命令提示符",然后选择"以管理员角色运行"。

  2. 在命令提示符下,键入 mountvol y: /s, 然后按 Enter。 这会添加 Y: 驱动器号以访问系统分区。

  3. 键入 Y:切换到 Y 驱动器 然后按 Enter。 然后,通过键入 cd EFI\Microsoft\Boot\Fonts 导航到"字体"文件夹。 完成后,键入 del *.* 以删除字体文件。 系统可能会询问是否确实要继续,请按 Y, 然后按 Enter 继续。

  1. 按 Windows 键 + R。在弹出的"运行"窗口中,键入diskmgmt.msc 并按 Enter。

  2. 选择标记为"系统保留 "的分区。 长按或右键单击它。

  3. 选择"更改驱动器号和路径"。

  4. 选择"添加"。

  5. 输入 Y 作为驱动器号。

  6. 点按或单击"确定"。

  7. 从"开始"菜单,搜索cmd。 从搜索结果中右键单击"命令提示符",然后选择"以管理员角色运行"。

  8. 在命令提示符中,键入 Y: 并按 Enter 切换到该驱动器。 然后,通过键入 cd Boot\Fonts导航到"字体"文件夹。

  9. 键入以下代码并按
    Enter:takeown /d y /r /f 。

    注意:必须在"f"后包含空格和时间段,否则命令将无法正常工作。

  10. 通过键入以下内容备份驱动器的权限,然后按 Enter:

    icacls Y:\* /save %systemdrive%\NTFSp.txt /c /t

    注意:确保所有文件都显示成功,而无文件显示失败。

  11. 键入 whoami 并按 Enter,然后录制用户名。 键入以下命令并按
    Enter:icacls . /grant <whoami 获取的用户名>:F /t

    注意:请勿在用户名和":F"之间设置空格,否则命令将不起作用。

  12. 请确保仍然位于 Y:\Boot\Fonts (Y:\Boot\Fonts) 8 中所述的位置。 然后,键入 del *.* 以删除字体文件。 系统可能会询问是否确实要继续,请按 Y, 然后输入 继续。


还原权限

  1. 键入以下命令,然后按 Enter:

    icacls Y:\ /restore %systemdrive%\NTFSp.txt /c /t

  2. 可能会显示一条消息,指示某些文件在处理时失败 – 这是正常的,因为这些文件在备份后已删除。

  3. 如果成功文件的数量为无,则命令执行不正确;必须成功处理一些文件,才能继续。

  4. 键入以下内容,然后按 Enter,将 ACL 调整回"系统":

  5. icacls 。 /grant system:f /t

  6. 键入以下命令并按 Enter,将驱动器的所有者设置回 System:

    icacls Y: /setowner "SYSTEM" /t /c

  7. 返回到"磁盘管理"并刷新数据以确认 SRP 现在是否具有更大的可用空间百分比。 如果是这样,此时可以删除驱动器号。

  8. 右键单击"系统保留分区"。

  9. 选择"更改驱动器号和路径"。

  10. 选择"Y: 驱动器"。

  11. 选择"删除"。

  12. 单击“确定”。

  1. 搜索 cmd。 长按或右键单击结果中的"命令提示符",然后选择"以administrator 运行"。

  2. 在命令提示符下,键入 mountvol y: /s, 然后按 Enter。 这会添加 Y: 驱动器号,以便访问系统分区。

  3. 键入 taskkill /im explorer.exe /f 并按 Enter。 然后键入 explorer.exe 并按 Enter 以在管理模式下重启资源管理器。
    注意:在此模式下,某些应用 (,OneNote) 不会运行。

  4. 打开文件资源管理器,将 Y:\EFI\Microsoft\Boot\ 放在地址栏中,然后按 Enter。

  5. 选择要删除的语言文件夹并永久删除它们。 它们由一组四个字母表示,用连字符拆分。 例如,en-US 表示美国英语;de-DE 表示德语。

  6. 可选:删除 Y:\EFI\Microsoft\Boot\Fonts 中未使用的字体文件

  7. 删除文件后,重新启动设备。 这会删除驱动器号,并explorer.exe普通模式。

这会使 SRP 的可用空间永久增加但较小。
 

  1. 删除语言文件夹

    1. 按 Windows键 + R。弹出的" 运行"窗口中,键入 diskmgmt.msc 并 按 Enter。

    2. 选择标记为"系统保留 "的分区。 长按或右键单击它。

    3. 选择"更改驱动器号和路径"。

    4. 选择"添加"。

    5. 输入 Y 作为驱动器号。

    6. 点按或单击"确定"。

    7. 在" 开始" 菜单中,搜索 cmd。 从搜索结果中右键单击"命令提示符",然后选择"以管理员角色运行"。

    8. 在命令提示符中,键入 Y: 并按 Enter 切换到该驱动器。

    9. 键入以下内容,然后按 Enter:

      takeown /d y /r /f 。



      注意: 必须包含空格和"f"后的时间段,否则命令将无法正常工作。

    10. 通过键入以下内容备份驱动器的权限,然后按 Enter:

      icacls Y:\* /save %systemdrive%\NTFSp.txt /c /t



      注意: 确保所有文件都显示成功,而无文件显示失败。

    11. 键入 whoami 并按 Enter,然后录制用户名。 键入以下命令并按
      Enter:icacls . /grant<whoami>:F /t获取的用户名 注意:请勿在用户名和

      ":F"之间设置空格,否则命令将不起作用。

    12. 在文件资源管理器中打开 SRP 驱动器并访问 Boot 文件夹,选择要删除的语言文件夹并永久删除它们。 它们由一组四个字母表示,用连字符拆分。 例如,en-US 表示美国英语;de-DE 表示德语。

  2. 截断 NTFS 日志

    1. 首先检查 NTFS 日志的大小。 在命令提示符下键入以下内容,然后按
      Enter:chkdsk /L Y:

      • 如果大小小于 5000KB,则不需要截断文件。

    2. 若要截断文件,请键入以下内容并按
      Enter:chkdsk /L:5000 /X /F

    3. 返回到"磁盘 管理" 窗口。 点击或单击"操作"菜单,然后选择"刷新"。 确认 SRP 现在是否具有更大的可用空间百分比。 如果是这样,请长按或右键单击"系统保留分区",然后选择"更改驱动器号和路径"。 选择"Y:",然后选择"删除"。

  3. 调整 USN 日志的大小(如果截断 NTFS 日志不会增加 SRP 中的可用空间)。

    1. 在命令提示符下键入以下内容,然后按
      Enter:fsutil usn queryjournal Y:

      • 这将以十六进制值显示大小。 将值转换为十进制数并除以1048576,结果将为 MB。 (将十六进制转换为十进制:在Windows中打开计算器,选择"视图"菜单,然后选择"程序员"。 选择"十六进制",输入十六进制值,然后选择"十二月)

      • 如果日记为 30MB 或更多,请继续截断它。

    2. 通过键入以下命令并按 Enter 删除日记
      :fsutil usn deletejournal /D /N Y:

    3. 使用新的日志大小值重新创建日志
      :fsutil usn createjournal m=1500 a=1 Y:

  4. 还原权限

    1. 键入以下命令,然后按 Enter:

      icacls Y:\ /restore %systemdrive%\NTFSp.txt /c /t

      • 可能会显示一条消息,指示某些文件在处理时失败 – 这是正常的,因为这些文件在备份后已删除。

      • 如果成功文件的数量为无,则命令执行不正确;必须成功处理一些文件,才能继续。

    2. 键入以下内容,然后按 Enter,将 ACL 调整回"系统":

      icacls 。 /grant system:f /t

    3. 键入以下命令并按 Enter,将驱动器的所有者设置回 System:

      icacls Y: /setowner "SYSTEM" /t /c

    4. 返回到"磁盘管理"并刷新数据以确认 SRP 现在是否具有更大的可用空间百分比。 如果是这样,此时可以删除驱动器号。

    5. 右键单击"系统保留分区"。

    6. 选择"更改驱动器号和路径"。

    7. 选择 "Y: 驱动器 "。

    8. 选择"删除"。

    9. 单击“确定”。

这会增加 SRP 的可用空间,但会暂时增加。

  1. 请确保外部驱动器的格式设置为 NTFS,至少有 250MB 的可用空间。

  2. 按 Windows 键 + R。在弹出的"运行"窗口中,键入 diskmgmt.msc 并按 Enter。

  3. 选择"恢复分区"。 长按或右键单击它。

  4. 选择"更改驱动器号和路径"。

  5. 选择"添加"。

  6. 输入 Y 作为驱动器号。

  7. 点按或单击"确定"。

  8. 从"开始"屏幕中,从右侧向内轻扫并选择"搜索"超级按钮,或者只需开始键入即可搜索 cmd。 长按或右键单击搜索结果中的命令提示符,然后选择"以管理员角色运行"。

  9. 在命令提示符中,键入 Y: 并按 Enter 切换到该驱动器。

  10. 键入以下内容,然后按 Enter:
    takeown /d y /r /f 。

    注意 必须包含空格和"f"后的时间段,否则命令将无法正常工作。

  11. 键入 whoami 并按 Enter,然后录制用户名。 键入以下命令,然后按 Enter:
    icacls 。 /grant <whoami>:F /t

    注意:请勿在用户名和":F"之间设置空格,否则命令将不起作用。

  12. 该命令完成后,键入或粘贴以下内容,然后按 Enter:

    attrib -s -r -h Y:\Recovery\WindowsRE\winre.wim

  13. 打开文件资源管理器,并记下使用 (的外部驱动器的驱动器号(对于这些说明的其余部分,我们将使用示例 F: - 在这些步骤中,如果看到 F:,它实际上表示外部驱动器) 的驱动器号)。

  14. 在命令提示符中,键入以下内容,然后按 Enter:

    mkdir F:\Recovery\WindowsRE

  15. 接下来,键入以下内容并按 Enter:

    xcopy Y:\Recovery\WindowsRE\winre.wim F:\Recovery\WindowsRE\winre.wim /h

  16. 输入以下命令,然后按 Enter 映射新路径:

    C:\Windows\System32\更新 /SetREImage /Path F:\Recovery\WindowsRE /Target C:\Windows

  17. 验证复制成功后,键入以下内容并按 Enter:

    del Y:\Recovery\WindowsRE\winre.wim /F

  18. 返回到"磁盘管理"窗口。 点击或单击"操作"菜单,然后选择"刷新"。 确认 SRP 现在是否具有更大的可用空间百分比。 如果是,请继续升级。

  19. 升级完成后,将 wim 文件移回恢复分区,然后重新映射位置:

    1. 在命令提示符下键入以下内容,然后按 Enter:

      xcopy F:\Recovery\WindowsRE\winre.wim Y:\Recovery\WindowsRE\winre.wim /h

    2. 重新映射到原始路径。 键入以下内容,然后按 Enter:

      C:\Windows\System32\更新 /SetREImage /Path Y:\Recovery\WindowsRE /Target C:\Windows

  20. 返回到"磁盘管理"窗口。 长按或右键单击"恢复分区",然后选择"更改驱动器号和路径"。 选择"Y:",然后选择"删除"。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×