套用到
Windows 10

徵兆

升級至或更新 Windows 10 時,您可能會遇到「我們無法更新系統保留磁碟分區」、錯誤碼0xc1900104或錯誤碼0x800f0922的錯誤。 

原因

系統保留磁碟分區 (SRP) 可能已滿。 系統保留磁碟分區 (SRP) 是硬碟上儲存 Windows 開機資訊的小型磁碟分區區。 某些第三方防病毒和安全性應用程式會寫入 SRP,並可以填滿。

解決方案

注意:這些步驟很複雜,並承擔一些風險。 這是使用命令行的進階使用者的最佳作法。 如果您輸入這些命令時發生錯誤,可能會讓裝置處於未開機狀態,而且可能遺失儲存在裝置上的數據。若要升級您的裝置,您需要使用下列適當方法釋放 SRP 上的 15 MB 空間,然後再次嘗試升級。 如果您要更新 Windows 10,則必須釋放 13 MB。首先,判斷 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) 。 接著,輸入 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 鍵,將磁碟驅動器的擁有者設回 [系統]:

    icacls Y: /setowner “SYSTEM” /t /c

  7. 返回 到 [磁碟管理] 並重新整理數據,確認 SRP 現在是否有更大的可用空間百分比。 如果是,此時可以移除驅動器號。

  8. 以滑鼠右鍵按兩下 [系統保留磁碟分區]

  9. 取 [變更驅動器號和路徑]

  10. 選擇 [Y: 磁碟驅動器]。

  11. 取 [移除]

  12. 按一下 [確定]

  1. 搜尋 cmd。 按住或以滑鼠右鍵按兩下結果中的 [命令提示 字元],然後選 取 [以 administrator 執行]。

  2. 在命令提示字元中,輸入 mountvol y: /s ,然後按 Enter。 這會新增 Y: 驅動器 號以存取系統磁碟分區。

  3. 輸入 task 要點 /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 磁碟驅動器並存取 [開機] 資料夾,選取您要移除的語言資料夾並永久刪除它們。 它們會以一組四個字母表示,並以連字元分割。 例如,en-US 表示美式英文;de-DE 表示德文。

  2. 截斷NTFS記錄

    1. 請先檢查NTFS記錄檔的大小。 從命令提示字元輸入下列內容,然後按 Enter:chkdsk /L Y:

      • 如果大小小於 5000KB,則不需要截斷檔案。

    2. 若要截斷檔案,請輸入下列內容,然後按 Enter:chkdsk /L:5000 /X /F

    3. 返回 至 [磁碟管理] 視窗。 點選或單擊 [動作] 功能表,然後選取 [ 重新整理]。 確認 SRP 現在有更大的可用空間百分比。 若是如此,請長按或以滑鼠右鍵按兩下 [系統保留磁碟分區], 然後選取 [ 變更驅動器號和路徑]。 選取 [Y: ],然後選擇 [ 移除]

  3. 如果截斷NTFS記錄檔不會增加SRP中的可用空間,請調整USN日誌大小。

    1. 從命令提示字元輸入下列內容,然後按 Enter:fsutil usn queryjournal Y:

      • 這會以十六進位值顯示大小。 將值轉換成十進位並除以1048576,結果會是 MB。 (若要將十六進位轉換成十進位:在 Windows 中開啟小算盤,選取 [檢視] 功能表,然後選擇 [程序設計師]。 選取 [十六進位],輸入十六進位值,然後選取 [12 月)

      • 如果日誌是 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 鍵,將磁碟驅動器的擁有者設回 [系統]:

      icacls Y: /setowner “SYSTEM” /t /c

    4. 返回 磁碟管理重新整理數據,以確認 SRP 現在是否有較大的可用空間百分比。 如果是,此時可以移除驅動器號。

    5. 以滑鼠右鍵按兩下 [系統保留磁碟分區]

    6. 取 [變更驅動器號和路徑]

    7. 選擇 [Y: 磁 碟驅動器]。

    8. 取 [移除]

    9. 按一下 [確定]

這會在 SRP 的可用空間中建立較大但暫時性的增加。

  1. 請確定您的外接式磁碟驅動器已格式化為NTFS,至少有250 MB可用空間。

  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 <username from 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\Reagentc /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\Reagentc /SetREImage /Path Y:\Recovery\WindowsRE /Target C:\Windows

  20. 返回 至 [磁碟管理] 視窗。 長按或以滑鼠右鍵按擊修復磁碟分區,然後選取 [變更驅動器號和路徑]。 選取 [Y:],然後選擇 [移除]。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。