Đáng buồn thay, tôi không có tin tuyệt vời cho bạn; có lẽ chỉ là một gợi ý khi cài đặt lại hy vọng sẽ ngăn điều đó xảy ra lần nữa.
Đầu tiên, Cài lại tùy chọn trong ảnh chụp màn hình bạn đã đăng có nội dung cụ thể:
Nếu ứng dụng này không hoạt động bình thường, hãy đặt lại ứng dụng đó. Dữ liệu của ứng dụng sẽ bị xóa.
Vì vậy, vâng, một Cài lại đã loại bỏ toàn bộ dữ liệu WSL của Ubuntu (dữ liệu hệ thống tệp và sổ đăng ký).
Một Sửa chữa, mặt khác, giữ nguyên bản phân phối WSL Ubuntu.
Lưu ý quan trọng: Các tùy chọn này và từ ngữ đằng sau chúng trong cài đặt đều giống nhau đối với tất cả các ứng dụng Store. tôi biết rằng Gỡ cài đặt từ ngữ nói:
Tài liệu của bạn sẽ không bị ảnh hưởng.
Tuy nhiên, cách xử lý cài đặt WSL, việc gỡ cài đặt làm loại bỏ toàn bộ trường hợp. Các tài liệu là một phần của hệ thống tệp, được xóa khi gỡ cài đặt.
Tôi đã gặp trường hợp các ứng dụng Store đang được đặt lại vì những lý do khác, dẫn đến mất dữ liệu WSL. Vì lý do đó (và hơn thế nữa), tôi khuyên bạn nên ...
Ngăn Gỡ cài đặt và Đặt lại xóa dữ liệu WSL
Tôi đang suy nghĩ nghiêm túc về việc sớm thực hiện video YouTube đầu tiên của mình về vấn đề này. Khi cài đặt Ubuntu (hoặc bất kỳ bản phân phối nào khác) trong WSL, điều đầu tiên tôi làm là "ngắt kết nối" phiên bản khỏi bản cài đặt Store bằng cách "di chuyển" nó vào thư mục riêng của nó.
Theo mặc định, các bản phân phối WSL được cài đặt vào:
%UserProfile%\AppData\Local\Packages\<DistributionPackage>\
Điều này bao gồm cả hệ thống tập tin ảo:
- WSL2:
..\<DistributionPackage>\LocalState\ext4.vhdx
- WSL1:
..\<Gói phân phối>\LocalState\rootfs\
Đối với Ubuntu, điều đó <DistributionPackage>
tên sẽ bắt đầu với kinh điển
và bao gồm Ubuntu
trong tên (cùng với các số nhận dạng khác).
Thật đáng để kiểm tra xem thư mục đó có còn ở đó không. Nếu vậy, dữ liệu của bạn có thể phục hồi được. Tuy nhiên, tôi không tin rằng nó có khả năng. Có nhiều khả năng là như vậy, nếu bạn đã chạy lại ubuntu.exe
sau khi Đặt lại, đó là Mới cài đặt ở đó.
Dù sao, tôi khuyến nghị quy trình này để "ngắt kết nối" cài đặt Store để điều này không xảy ra nữa:
Khi bạn đã cài đặt Ubuntu và định cấu hình tên người dùng và mật khẩu của mình.
Thoát Ubuntu
Từ PowerShell:
# Xác nhận tên phân phối
wsl -l -v
# Tên phân phối có thể là "Ubuntu" hoặc "Ubuntu-20.04" - Điều chỉnh các dòng sau cho phù hợp:
wsl --shutdown
cd ~\Documents
mkdir WSL\hình ảnh
mkdir WSL\instance\MyUbuntu
wsl --export Ubuntu WSL\images\ubuntu_clean.tar
wsl --import MyUbuntu WSL\instances\MyUbuntu WSL\images\ubuntu_clean.tar --version 2
Lưu ý rằng hầu hết các tên thư mục và tệp ở trên (và tên phiên bản) là tùy thuộc vào bạn.
Bây giờ bạn sẽ có hai bản cài đặt Ubuntu, như bạn có thể xác nhận với wsl -l -v
.
Khởi chạy cái mới với wsl -d MyUbuntu
--nhập khẩu
ed không "nhớ" tên người dùng mặc định của bạn (mặc dù người dùng vẫn tồn tại). Đặt tên người dùng mặc định trong trường hợp đó thông qua một /etc/wsl.conf
tập tin mỗi câu trả lời này. Đặc biệt:
sudo -e /etc/wsl.conf
Và thêm các dòng sau:
[người dùng]
mặc định=<tên người dùng của bạn>
Thoát khỏi phiên bản
Một lần nữa, từ PowerShell:
wsl --terminate MyUbuntu
wsl --set-default MyUbuntu
Bây giờ, ví dụ mặc định là MyUbuntu
. Đó là những gì sẽ khởi chạy bất cứ khi nào bạn bắt đầu WSL với wsl
chỉ huy.
Gỡ cài đặt Cửa hàng Ubuntu. Bạn sẽ không phải lo lắng về việc nó bị reset lại.
Nếu bạn cần thử điều gì đó trong Ubuntu mà bạn cảm thấy có thể gây ra sự cố, hãy thực hiện điều đó trong một trường hợp tạm thời mới:
Một lần nữa, trong PowerShell:
cd ~\Documents\WSL
phiên bản mkdir\UbuntuTest
wsl --export MyUbuntu images\current_ubuntu.tar
wsl --nhập phiên bản UbuntuTest\hình ảnh UbuntuTest\current_ubuntu.tar --version 2
wsl -d UbuntuTest
Đó là một phiên bản riêng biệt mà bạn có thể cài đặt, thay đổi cấu hình, tùy ý. Khi bạn đang làm với nó, hãy thoát ra và:
wsl --unregister UbuntuTest
Thao tác này sẽ xóa phiên bản thử nghiệm đó và để lại MyUbuntu
nguyên vẹn.
Tất nhiên, lưu ý rằng toàn bộ UbuntuTest
phiên bản sẽ biến mất, vì vậy hãy đảm bảo rằng bạn không tạo bất kỳ tài liệu hoặc dữ liệu nào mà bạn cần ở đó lâu dài.