Await 做些相當庸俗的夢

Windows 啟動修復

為了體驗新 WSL2 的 GUI ,後來一直是慢圈Slow Ring使用者,所以更新 Windows 的時候它把自己更死了,我也怪不得別人。只記得一覺醒來的時候,就發現自己的電腦啟動不了了。

嘗試了自帶的啟動修復,真的是毫無用處,即使去網路上檢索相應的錯誤程式碼,也沒找到什麼有用的資訊。由於我開啟了 BitLocker,還需要輸入一大串金鑰才可以使用這個功能,因此試了兩次之後無效就放棄了。

懷疑是現在 Windows 的啟動修復已經找不到對應的檔案造成的修復失敗,遂跟同學要了 Windows 10 的啟動盤,發現依然如故:啟動盤裡的啟動修復仍然是無法正常工作的。

後來看到有些帖子使用了 Windows 命令列中的 bcdboot 命令進行修復。於是嘗試使用這個方法。步驟大概如下:

  1. 進入到啟動介面的命令列部分。這個步驟如果磁碟是 BitLocker 加密的話,需要去找到金鑰手動輸入一下,然後才能正常使用。一般來說解鎖 Windows 系統所在的磁碟(C:/)就可以了。
  2. 使用 diskpart 來掛載 ESP 分割槽,並分配磁碟符。
    1. list disk 並且 select disk ? 選擇所選的磁碟。
    2. list partition 並且 select partition 選擇 ESP 恢復分割槽。
    3. assign letter=F 分配磁碟符。
  3. 然後使用如下命令:
    1
    2
    
    bcdboot C:\Windows /s F: /f uefi /l zh-cn
    # /s F: 表示 ESP 分割槽掛載的地方
    
  4. 成功重建了啟動檔案。

按照以上步驟操作後,重新啟動,就可以看到熟悉的 Windows 介面了。十分驚訝的是就這麼一條簡單的命令就解決了這個問題,而所謂的「自動修復」工具甚至給不到任何有用的資訊。去看了 bcdboot 的使用說明:「bcdboot.exe 命令列工具用於將關鍵啟動檔案複製到 系統分割槽以及建立新的系統 BCD 儲存」。所以實際上差不多隻是拷貝了一點檔案咯?


後續其實還有點小插曲,我決定再給 Windows 更新一次機會,然後它仍然把自己的啟動弄壞了。我猜想即使不用啟動盤,剛剛的方法也是有效的,進入命令列試了下果然如此



可能相關的