用 winget YAML 重建 Windows:可複製環境,但不是完整備份
3C 產品

用 winget YAML 重建 Windows:可複製環境,但不是完整備份

圖片:TechLab 自製資訊圖
TechLab 編輯部(譯)·

重裝 Windows 後逐個下載瀏覽器、開發工具和日常 app,往往是最花時間的一環。XDA Developers 作者 Shekhar Vaidya 嘗試把常用軟件清單及少量 Windows 設定整理成 winget YAML 設定檔,再在乾淨的 Windows 虛擬機一次過套用。對經常換機、重裝系統或要準備開發環境的用戶,這提供了一個可重複執行的起點。

不過,這不等同完整還原電腦。該作者的測試顯示,winget 可以安裝被設定檔涵蓋的 app,但不會帶回瀏覽器帳戶、歷史紀錄、密碼、軟件登入狀態或授權;部分設定亦可能因權限不足而套用失敗。把它視為「環境基線」會比視為備份更準確。

由匯出清單,到可用的設定檔

作者先以 winget export -o apps.json --include-versions 匯出已安裝套件,取得超過 150 個來自 winget 來源及部分 Microsoft Store 的項目。這一步只是盤點,不是完成品:匯出檔為 JSON,而其後用於套用設定的 winget configure 則讀取 YAML。

更重要的是,匯出結果並不保證涵蓋全部軟件。作者指出,手動安裝、而且不在相關來源可供識別的程式,例如 Brave、Discord、Postman 和 Android Studio,沒有被自動納入;同時,系統層級及使用者層級重複安裝的項目亦要手動清理。因此,實際建立流程應包括:匯出、核對遺漏程式、移除重複項目,再轉為並維護 YAML,而不是把匯出指令當成一鍵搬遷。

作者亦手動加入 Developer Mode、顯示副檔名及隱藏檔案、深色模式三項 Windows 設定。這反映另一個限制:軟件清單可自動盤點,但個人化設定未必會隨匯出自動出現。

拆分檔案,降低重裝時的摩擦

面對逾百個 app,作者最後把設定拆成兩份:一份放開發工具、日常軟件及 homelab 存取工具;另一份放硬件/廠商工具、遊戲 launcher 與飛行模擬工具。這個做法的價值在於讓「基本可工作環境」和「特定用途軟件」分開處理。

對學生、IT 人員或開發者而言,較合理的做法是先建立一份核心 YAML,只包含每次重裝都必須使用的瀏覽器、終端工具、編輯器及工作 app;較大型、較少用或只適用於特定電腦的軟件則另置一份。這樣即使某個套件安裝失敗,也較容易定位問題,亦不會令基本環境被非必要項目拖慢。

先在 VM 驗證,並留意管理員權限

作者以 Windows 11 26H2 虛擬機測試縮減版設定檔,內容包括三項 Windows 設定及 14 個 app。首次驗證前,他須先啟用 winget configuration;其後以 winget configure validate 檢查,才執行設定檔。

首次執行表面上成功,但只有三項設定中的兩項生效。原因是 PowerShell 並非以管理員身分執行,而量度指令一度掩蓋了該失敗。第二次在新的 VM 測試,作者指整個流程少於 12 分鐘;首次量度則為 14 分 26.8 秒,當中包含未即時處理的 UAC 提示。

這是個人測試結果,不代表任何 app 清單都會有相同成功率或速度;但它帶出很實際的部署原則:先在 VM 或非主要電腦驗證小型設定檔,確認每個套件、權限要求和 UAC 流程,再擴大至完整清單。特別是涉及系統設定時,應預先以管理員權限執行,並逐項覆核結果。

安裝完成,仍有幾類資料不能交給 YAML

作者發現,即使設定檔包含版本資料,實際安裝到的可能是較新版本,例如 Node、Python 和 Git 都與原本電腦不同。若工作流程必須固定某個 build,仍要自行處理版本控制與相容性測試。

此外,授權 app 仍需各自登入或啟用;作者刻意沒有把 SSH key 和 Git 憑證寫進檔案,也沒有測試工作列與開始功能表版面、預設 app 和顯示縮放。這些取捨很合理:把登入資料、授權或私鑰放進可複製的 YAML,會擴大外洩風險;而 driver 又與硬件相關,亦不適合直接搬到另一部電腦。

對需要重裝 Windows 的用戶,winget YAML 最適合承擔可公開、可重複、低風險的部分:安裝核心 app 和已確認的系統設定。帳戶同步、授權、私鑰、硬件 driver 與個人版面,則應保留在獨立而受保護的流程處理。接下來較值得觀察的,是不同第三方程式在 winget 來源中的涵蓋率,以及設定檔在更多真實電腦上的權限與失敗回復表現。

延伸閱讀

AI 輔助說明: 本文由 AI 協助整理,並經兩輪獨立自動品質審核;資料及連結仍以原始來源為準。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook