Chia sẻ đam mê công nghệ
Thiết lập

WinGet Configuration giúp cài lại Windows nhanh, nhưng không sao chép nguyên chiếc PC

Một file YAML với WinGet Configuration có thể tự cài ứng dụng và áp dụng một số thiết lập Windows. Nhưng đây là bản cấu hình nền, không phải ảnh sao lưu hệ thống: tài khoản, dữ liệu cá nhân và nhiều thiết lập vẫn cần xử lý riêng.

PowerShell hiển thị lỗi configuration not enabled rồi xác nhận file YAML hợp lệ sau khi bật winget configure.
WinGet báo cấu hình chưa được bật trước khi lệnh validate xác nhận file YAML không có lỗi.

Tóm tắt nhanh

  • WinGet Configuration dùng file YAML và PowerShell DSC để cài ứng dụng, áp dụng các thiết lập Windows theo trạng thái mong muốn.
  • Lệnh winget export chỉ xuất danh sách package thành JSON; cần chuyển đổi và bổ sung cấu hình trước khi dùng với winget configure.
  • Thử nghiệm trên máy ảo với 14 ứng dụng và 3 thiết lập hoàn tất trong chưa đầy 12 phút, nhưng thời gian này không đại diện cho mọi máy.
  • File cấu hình không khôi phục tài khoản, dữ liệu cá nhân, profile trình duyệt hay bản quyền ứng dụng; nó cũng không thay thế backup hoặc system image.

Cài lại Windows thường nhanh hơn nhiều so với việc đưa máy về trạng thái làm việc quen thuộc: cài ứng dụng, chỉnh thiết lập rồi đăng nhập từng dịch vụ. WinGet Configuration gom phần có thể lặp lại vào một file YAML và áp dụng bằng lệnh, nhưng nên xem đây là bản dựng lại môi trường phần mềm, không phải bản sao đầy đủ của chiếc PC cũ.

WinGet Configuration mô tả trạng thái máy thay vì ghi lại từng cú nhấp

Microsoft mô tả WinGet Configuration là cách gom việc thiết lập máy vào file YAML, dùng Windows Package Manager cùng PowerShell Desired State Configuration (DSC). Thay vì liệt kê một chuỗi thao tác phải làm theo đúng thứ tự, file khai báo trạng thái mong muốn: ứng dụng và một số cấu hình cần có trên máy. WinGet kiểm tra file, tải các DSC resource cần thiết rồi áp dụng cấu hình; tác vụ có thể chạy song song và một mục lỗi không nhất thiết làm toàn bộ tiến trình dừng lại.

Cách khai báo này hữu ích khi phải cài lại máy hoặc chuẩn bị nhiều máy có cùng bộ công cụ. Nó cũng khiến việc kiểm tra kết quả trở nên quan trọng: Microsoft lưu ý người dùng cần xem các mục thất bại sau khi chạy, bởi một số DSC resource không báo rõ nguyên nhân. Tài liệu Microsoft nêu WinGet phiên bản 1.6.2631 trở lên là yêu cầu tối thiểu cho lệnh cấu hình.

Trước khi áp dụng file tải từ mạng, cần kiểm tra nội dung YAML và các PowerShell DSC resource mà file yêu cầu. Cấu hình có thể tải module và thực thi thay đổi hệ thống, nên một file nhìn có vẻ chỉ liệt kê ứng dụng vẫn cần được xem xét như mã có quyền tác động lên máy.

Danh sách ứng dụng xuất ra chưa phải file YAML dùng được

Lệnh winget export -o apps.json --include-versions tạo danh sách package ở dạng JSON; nó không tạo sẵn file cấu hình YAML cho winget configure. Trong thử nghiệm của XDA Developers, danh sách xuất ra có hơn 150 package từ nguồn WinGet và một số ứng dụng Microsoft Store, nhưng bỏ sót phần mềm cài thủ công hoặc không có trong các nguồn đó. Tác giả phải chuyển đổi định dạng, thêm các package còn thiếu, loại mục trùng và tự khai báo các thiết lập Windows.

Đây là khác biệt đáng lưu ý nếu mục tiêu là tái tạo một môi trường làm việc. Danh sách cài đặt chỉ trả lời “máy cần có phần mềm nào”; một cấu hình hoàn chỉnh còn cần quyết định thiết lập nào nên áp dụng, ứng dụng nào cần giữ nguyên phiên bản và phần nào không nên đưa vào file. Không nên xem kết quả export như bản backup có thể chạy ngay.

Trước lần áp dụng đầu tiên, bật hỗ trợ cấu hình bằng winget configure --enable rồi kiểm tra cú pháp với winget configure validate. Khi file đã được kiểm tra, lệnh winget configure -f ten-file.dsc.yaml --accept-configuration-agreements sẽ áp dụng cấu hình; các tùy chọn và yêu cầu đồng ý có thể khác tùy môi trường, nên đọc kỹ nội dung file trước khi xác nhận.

Một lần thử với 14 ứng dụng cho thấy tốc độ, nhưng cũng lộ giới hạn quyền admin

Danh sách package trên Windows hiển thị trạng thái INSTALLED trong PowerShell.
PowerShell liệt kê các package có trạng thái INSTALLED sau khi áp dụng cấu hình.

XDA thử file cấu hình rút gọn trên máy ảo Windows sạch, gồm 14 ứng dụng và ba thiết lập. Lần chạy đầu mất 14 phút 26,8 giây, một phần vì các hộp thoại UAC bị bỏ chờ; lần chạy mới trong máy ảo khác hoàn tất dưới 12 phút. Đây là kết quả của đúng cấu hình và môi trường thử nghiệm đó, không phải cam kết rằng mọi lần cài Windows sẽ xong trong khoảng thời gian tương tự.

Quan trọng hơn, chỉ hai trong ba thiết lập Windows được áp dụng ở lần chạy đầu. PowerShell không được mở bằng quyền Administrator, trong khi cách đo thời gian đã khiến lỗi quyền hạn khó nhận ra. Tài liệu Microsoft cũng cảnh báo nhiều DSC resource cần quyền quản trị và không phải resource nào cũng nêu nguyên nhân thất bại rõ ràng. Vì vậy, kiểm tra kết quả sau khi chạy có giá trị hơn việc chỉ nhìn thấy lệnh kết thúc.

WinGet Configuration phù hợp để chuẩn hóa những việc lặp lại, nhưng không nên được giao nhiệm vụ mà nó không đảm bảo. Với máy cá nhân, hãy chạy thử trên máy ảo hoặc thiết bị phụ trước; sau đó xác nhận từng thiết lập quan trọng, nhất là những thay đổi cần quyền quản trị.

Ứng dụng được cài lại không đồng nghĩa dữ liệu và tài khoản đã trở về

Chrome hiển thị tùy chọn đăng nhập, không có lịch sử hay dấu trang được khôi phục.
Trình duyệt được cài lại nhưng vẫn yêu cầu đăng nhập, cho thấy cấu hình ứng dụng không tự khôi phục profile.

Sau khi cài, ứng dụng có thể vẫn ở trạng thái mới. XDA ghi nhận trình duyệt không có profile, lịch sử hay mật khẩu đã lưu; một số tiện ích yêu cầu đăng nhập lại và VS Code không có extension vì chúng không nằm trong danh sách cấu hình. Các ứng dụng trả phí cũng có thể cần xác thực riêng. Đây là ranh giới giữa “cài phần mềm” và “khôi phục môi trường làm việc”.

Bảng Extensions của VS Code trống sau khi ứng dụng được cài lại.
VS Code không có extension sau khi cài, vì danh sách ứng dụng không bao gồm cấu hình cá nhân.

File YAML cũng không nên chứa mật khẩu, SSH key, token hay thông tin đăng nhập chỉ để tự động hóa việc khôi phục. Những dữ liệu đó cần được sao lưu bằng phương thức phù hợp và có kiểm soát quyền truy cập; giữ chúng trong một file cấu hình dễ chia sẻ sẽ tạo thêm rủi ro. Tương tự, trình điều khiển phần cứng, bố cục Start, ứng dụng mặc định và tỷ lệ hiển thị không thể mặc nhiên xem là đã được khôi phục nếu cấu hình chưa khai báo và kiểm tra riêng.

Đó là lý do WinGet Configuration khác với system imaging như Ghost hay Macrium Reflect. Công cụ cấu hình dựng lại một trạng thái phần mềm được mô tả; ảnh hệ thống hướng đến việc chụp và phục hồi hệ điều hành cùng trạng thái máy ở phạm vi rộng hơn. Cần giữ dữ liệu cá nhân hoặc quay lại đúng bản cài cũ thì vẫn phải có kế hoạch backup riêng.

Không ghim phiên bản có thể làm thay đổi môi trường phát triển

Trong thử nghiệm được XDA mô tả, phiên bản khai trong danh sách không khiến mọi ứng dụng quay về đúng bản đang dùng trên máy cũ. Sau khi cài, Node là 22.23.2 thay vì 22.14, Python là 3.13.15 thay vì 3.13.3, còn Git là 2.55.0 thay vì 2.53.0. Với ứng dụng phổ thông, bản mới hơn có thể không gây khác biệt đáng kể; với dự án phụ thuộc phiên bản runtime hoặc công cụ cụ thể, thay đổi này có thể làm môi trường chạy khác đi.

Người dùng cần kiểm tra cách mỗi package và DSC resource xử lý phiên bản, rồi ghim phiên bản khi tính tái lập là yêu cầu quan trọng. Không nên hiểu tham số --include-versions của lệnh export là bảo đảm toàn bộ phiên bản sẽ được cài lại chính xác; dữ liệu thử nghiệm cho thấy cần xác minh hành vi thực tế trên cấu hình mình dùng.

Người dùng Windows tại Việt Nam có thể bắt đầu miễn phí, nhưng nên chia cấu hình theo mục đích

WinGet và WinGet Configuration là công cụ miễn phí tích hợp trong Windows 11 và có thể có trên Windows 10 thông qua App Installer, theo thông tin trong tư liệu sản phẩm. Với người dùng cá nhân tại Việt Nam, điểm hấp dẫn là tiết kiệm thao tác sau khi cài mới, không phải thay thế phần mềm sao lưu. Cách dùng hợp lý là giữ một cấu hình gọn cho ứng dụng thường dùng, tách riêng công cụ theo công việc và ghi rõ phiên bản khi dự án yêu cầu.

Nếu có thiết lập hệ thống, hãy chạy PowerShell với quyền phù hợp, đọc file YAML và kiểm tra trạng thái sau khi áp dụng. Đồng thời, duy trì bản sao riêng cho tài liệu, dữ liệu ứng dụng và thông tin xác thực. Một file cấu hình tốt giúp máy mới nhanh chóng đạt trạng thái làm việc cơ bản; nó không thể thay thế quyết định về dữ liệu nào cần bảo vệ và cách khôi phục dữ liệu đó.

WinGet Configuration là bản dựng lại tiện lợi, không phải nút khôi phục toàn bộ PC

WinGet Configuration đáng dùng khi anh em muốn tái tạo bộ ứng dụng và một số thiết lập Windows bằng quy trình có thể kiểm tra, lặp lại. Nhưng cần coi YAML là bản mô tả môi trường, không phải ảnh chụp chiếc máy cũ: tài khoản, profile, dữ liệu cá nhân, bản quyền và một số thiết lập vẫn nằm ngoài phạm vi tự động hóa.

Trước khi xóa hoặc cài mới Windows, nên thử file trên môi trường phụ, xác nhận phiên bản ứng dụng, quyền thực thi và kết quả từng thiết lập. Khi ấy, một lệnh có thể giảm đáng kể thao tác lặp lại mà không tạo kỳ vọng sai rằng mọi thứ sẽ tự quay về như cũ.

Nguồn tham khảo: Microsoft Learn, XDA Developers, Windows OS Hub

Bài viết mới nhất