Điểm:3

Tôi đặt lại Ubuntu trên WSL bằng "Cài đặt> Ứng dụng> Ubuntu> Đặt lại". Bây giờ tất cả các tệp của tôi trong hệ thống tệp WSL đã bị mất. Làm thế nào tôi có thể phục hồi nó?

lá cờ in

Tôi đang sử dụng Ubuntu trên WSL2 trên Windows (Chi tiết phiên bản hệ điều hành). Tôi đặt lại ứng dụng Ubuntu bằng cách đưa ra:

Cài đặt > Ứng dụng > Ứng dụng & Tính năng > Ubuntu > Đặt lại

Trong phần 'gỡ cài đặt', có đề cập rằng việc gỡ cài đặt bản phân phối WSL không ảnh hưởng đến các tệp, vậy 'Đặt lại' bản phân phối WSL có thực sự xóa các tệp trong hệ thống tệp WSL không? Tôi mong đợi các tệp thư mục/home được bảo tồn nhưng sau khi đặt lại, tôi thấy rằng không còn gì trong/home.

Có thể khôi phục dữ liệu đã có trong /home không?

Cảm ơn bạn đã dành thời gian cho câu hỏi này.

Điểm:7
lá cờ vn

Đá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ẩued 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.

Vishnu 3333 avatar
lá cờ in
Cảm ơn bạn rất nhiều vì đã dành thời gian tạo ra một câu trả lời chi tiết như vậy. Nó thực sự giúp rất nhiều. Giống như bạn đã nói, tôi thực sự đã chạy lại Ubuntu.exe sau khi thiết lập lại, vì vậy có lẽ hệ thống tệp ubuntu mới nằm trong '%UserProfile%\AppData\Local\Packages\' nhưng tôi vẫn cố chạy khôi phục tệp trong thư mục đó bằng Recuva nhưng không thể khôi phục bất kỳ tệp .vhdx hoặc thư mục rootfs nào (có thể 'đặt lại' thực sự đã xóa tệp .vhdx một cách hiệu quả không? Bạn có nghĩ rằng nó có thể khôi phục được không?). Một video youtube về điều này như bạn đã đề cập, có thể thu hút được lượng khán giả tốt. Tôi sẽ thử phương pháp delink của bạn.
NotTheDr01ds avatar
lá cờ vn
@ Vishnu3333 Nếu bạn thực sự đang sử dụng WSL2, thì đó sẽ là `.vhdx` và theo kinh nghiệm của tôi, việc khôi phục các tệp lớn như vậy là khá khó khăn. Tôi đã từng khá thành công với Recuva khi sử dụng bộ lưu trữ từ tính, nhưng thực sự không thành công kể từ khi chuyển sang SSD trong vài năm qua. Nếu phiên bản đó là WSL1 (tôi biết bạn đã nói là WSL2, nhưng đôi khi chúng ta chỉ gặp may) thì bạn có thể muốn tìm kiếm bất kỳ tên tệp nào mà bạn có thể nhớ từ phiên bản đó, cuối cùng thì nó đã bị ngắt kết nối khỏi thư mục rootfs sau khi xóa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.