Score:3

ฉันรีเซ็ต Ubuntu บน WSL ด้วย "การตั้งค่า > แอป > Ubuntu > รีเซ็ต" ตอนนี้ไฟล์ทั้งหมดของฉันในระบบไฟล์ WSL หายไป ฉันจะกู้คืนได้อย่างไร

ธง in

ฉันใช้ Ubuntu บน WSL2 บน Windows (รายละเอียดเวอร์ชันระบบปฏิบัติการ). ฉันรีเซ็ตแอพ Ubuntu โดยให้:

การตั้งค่า > แอป > แอปและคุณสมบัติ > Ubuntu > รีเซ็ต

ภายใต้ 'ถอนการติดตั้ง' มีการกล่าวถึงว่าการถอนการติดตั้งการกระจาย WSL จะไม่ส่งผลกระทบต่อไฟล์ ดังนั้น 'การรีเซ็ต' การกระจาย WSL จะลบไฟล์ในระบบไฟล์ WSL หรือไม่ ฉันคาดว่าไฟล์ไดเร็กทอรี /home จะถูกรักษาไว้ แต่หลังจากรีเซ็ต ฉันพบว่าไม่มีอะไรเหลืออยู่ใน /home

เป็นไปได้ไหมที่จะกู้คืนข้อมูลที่อยู่ใน /home?

ขอขอบคุณที่สละเวลาตอบคำถามนี้

Score:7
ธง vn

น่าเศร้าที่ฉันไม่มีข่าวดีสำหรับคุณ อาจเป็นเพียงคำแนะนำเมื่อติดตั้งใหม่ซึ่งหวังว่าจะป้องกันไม่ให้เกิดขึ้นอีก

อันดับแรก รีเซ็ต ตัวเลือกในภาพหน้าจอที่คุณโพสต์ระบุอย่างชัดเจนว่า:

หากแอปนี้ทำงานไม่ถูกต้อง ให้รีเซ็ตแอป ข้อมูลของแอพจะถูกลบ

ใช่แล้ว รีเซ็ต กำจัดข้อมูล Ubuntu WSL ทั้งหมด (ระบบไฟล์และข้อมูลรีจิสตรี)

ซ่อมแซมในทางกลับกัน ทำให้การแจกจ่าย WSL Ubuntu ไม่เปลี่ยนแปลง

โน๊ตสำคัญ: ตัวเลือกเหล่านี้และข้อความในการตั้งค่าจะเหมือนกันสำหรับแอพ Store ทั้งหมด ฉันรู้ว่า ถอนการติดตั้ง ถ้อยคำ พูดว่า:

เอกสารของคุณจะไม่ได้รับผลกระทบ

อย่างไรก็ตาม วิธีจัดการกับการติดตั้ง WSL การถอนการติดตั้ง ทำ ลบอินสแตนซ์ทั้งหมด เอกสารเป็นส่วนหนึ่งของระบบไฟล์ ซึ่งจะถูกลบออกเมื่อถอนการติดตั้ง

ฉันเคยเห็นกรณีที่แอป Store ถูกรีเซ็ตด้วยเหตุผลอื่น ส่งผลให้ข้อมูล WSL สูญหาย ด้วยเหตุผลดังกล่าว (และอื่น ๆ ) ฉันขอแนะนำดังต่อไปนี้ ...

ป้องกันการถอนการติดตั้งและรีเซ็ตจากการลบข้อมูล WSL

ฉันกำลังคิดอย่างจริงจังเกี่ยวกับการสร้างวิดีโอ YouTube แรกของฉันในเร็วๆ นี้ เมื่อติดตั้ง Ubuntu (หรือการกระจายอื่น ๆ ) ใน WSL สิ่งแรกที่ฉันทำคือ "ตัดการเชื่อมต่อ" อินสแตนซ์จากการติดตั้ง Store โดย "ย้าย" ไปยังไดเร็กทอรีของตัวเอง

ตามค่าเริ่มต้น การกระจาย WSL จะถูกติดตั้งใน:

%UserProfile%\AppData\Local\Packages\<DistributionPackage>\

ซึ่งรวมถึงระบบไฟล์เสมือนอย่างใดอย่างหนึ่ง:

  • WSL2: ..\<DistributionPackage>\LocalState\ext4.vhdx
  • WSL1: ..\<DistributionPackage>\LocalState\rootfs\

สำหรับ Ubuntu นั่น <DistributionPackage> ชื่อจะขึ้นต้นด้วย เป็นที่ยอมรับ และรวมถึง อูบุนตู ในชื่อ (พร้อมกับตัวระบุอื่น ๆ )

คุณควรตรวจสอบเพื่อดูว่าไดเร็กทอรีนั้นยังคงอยู่หรือไม่ หากเป็นเช่นนั้น ข้อมูลของคุณสามารถกู้คืนได้ อย่างไรก็ตาม ฉันไม่เชื่อว่าเป็นไปได้ มีโอกาสมากกว่านั้นหากคุณเรียกใช้ซ้ำ ubuntu.exe หลังจากที่ทำการ Reset ไปแล้วนั้นก็คือ ใหม่ การติดตั้งที่นั่น

อย่างไรก็ตาม ฉันขอแนะนำขั้นตอนนี้สำหรับการ "ตัดการเชื่อมต่อ" การติดตั้ง Store เพื่อไม่ให้สิ่งนี้เกิดขึ้นอีก:

  • เมื่อคุณติดตั้ง Ubuntu และกำหนดค่าชื่อผู้ใช้และรหัสผ่านของคุณแล้ว

  • ออกจากอูบุนตู

  • จาก PowerShell:

    #ยืนยันรายชื่อผู้จัดส่ง
    wsl -l -v
    # ชื่อการแจกจ่ายอาจเป็น "Ubuntu" หรือ "Ubuntu-20.04" - ปรับบรรทัดต่อไปนี้ให้เหมาะสม:
    wsl -- ปิดเครื่อง
    ซีดี ~ \ เอกสาร
    mkdir WSL\images
    mkdir WSL\instances\MyUbuntu
    wsl --export Ubuntu WSL\images\ubuntu_clean.tar
    wsl --import MyUbuntu WSL\instances\MyUbuntu WSL\images\ubuntu_clean.tar -- เวอร์ชัน 2
    

    โปรดทราบว่าไดเร็กทอรีและชื่อไฟล์ส่วนใหญ่ด้านบน (และชื่ออินสแตนซ์) ขึ้นอยู่กับคุณ

  • ตอนนี้คุณควรมีการติดตั้ง Ubuntu สองครั้งตามที่คุณยืนยันได้ wsl -l -v.

  • เปิดตัวใหม่กับ wsl -d MyUbuntu

  • --นำเข้าed อินสแตนซ์ไม่ "จำ" ชื่อผู้ใช้เริ่มต้นของคุณ (แม้ว่าผู้ใช้จะยังคงอยู่) ตั้งชื่อผู้ใช้เริ่มต้นในอินสแตนซ์นั้นผ่าน /etc/wsl.conf ไฟล์ต่อ คำตอบนี้. โดยเฉพาะ:

    sudo -e /etc/wsl.conf
    

    และเพิ่มบรรทัดต่อไปนี้:

    [ผู้ใช้]
    ค่าเริ่มต้น=<ชื่อผู้ใช้ของคุณ>
    
  • ออกจากอินสแตนซ์

  • อีกครั้งจาก PowerShell:

    wsl -- ยกเลิก MyUbuntu
    wsl --set-default MyUbuntu
    
  • ตอนนี้อินสแตนซ์เริ่มต้นคือ มายอูบุนตู. เป็นสิ่งที่จะเปิดตัวเมื่อใดก็ตามที่คุณเริ่ม WSL ด้วย wsl สั่งการ.

  • ถอนการติดตั้ง Store Ubuntu คุณไม่ต้องกังวลว่าจะถูกรีเซ็ตอีกครั้ง

หากคุณจำเป็นต้องลองบางอย่างใน Ubuntu ที่คุณรู้สึกว่าอาจทำให้เกิดปัญหา ให้ทำในอินสแตนซ์ชั่วคราวใหม่:

อีกครั้งใน PowerShell:

ซีดี ~\Documents\WSL
อินสแตนซ์ mkdir\UbuntuTest
wsl -- ส่งออกอิมเมจ MyUbuntu \current_ubuntu.tar
wsl --import UbuntuTest instances\UbuntuTest images\current_ubuntu.tar --version 2
wsl -d Ubuntuทดสอบ

นั่นเป็นอินสแตนซ์แยกต่างหากที่คุณสามารถติดตั้ง เปลี่ยนการกำหนดค่า ใช้งานได้จริง เมื่อคุณดำเนินการให้ออกและ:

wsl -- ยกเลิกการลงทะเบียน UbuntuTest

การดำเนินการนี้จะลบอินสแตนซ์ทดสอบนั้นทิ้งไป มายอูบุนตู ไม่บุบสลาย

โปรดทราบว่าทั้งหมด ทดสอบ Ubuntu อินสแตนซ์จะหายไป ดังนั้นตรวจสอบให้แน่ใจว่าคุณไม่ได้สร้างเอกสารหรือข้อมูลใดๆ ที่คุณต้องการในระยะยาว

Vishnu 3333 avatar
in flag
ขอบคุณมากที่สละเวลาสร้างคำตอบโดยละเอียด มันช่วยได้มากจริงๆ อย่างที่คุณบอกว่าฉันได้รัน Ubuntu.exe อีกครั้งหลังจากการรีเซ็ต ดังนั้นมันน่าจะเป็นระบบไฟล์ใหม่ของอูบุนตูที่อยู่ใน '%UserProfile%\AppData\Local\Packages\' แต่ฉันก็ยังพยายามเรียกใช้การกู้คืนไฟล์ในโฟลเดอร์นั้นด้วย Recuva แต่ ไม่สามารถกู้คืนไฟล์ .vhdx หรือโฟลเดอร์ rootfs ใด ๆ ได้ (เป็นไปได้ว่า 'รีเซ็ต' ได้ลบไฟล์ .vhdx ออกไปอย่างได้ผลจริง ๆ หรือไม่ คุณคิดว่าจะสามารถกู้คืนได้หรือไม่) วิดีโอ YouTube บนนี้เช่นที่คุณกล่าวถึง อาจได้รับผู้ชมที่ดี ฉันจะลองใช้วิธีการ delink ของคุณ
NotTheDr01ds avatar
vn flag
@Vishnu3333 หากคุณใช้ WSL2 จริง ๆ มันจะเป็น `.vhdx` และจากประสบการณ์ของฉัน การกู้คืนไฟล์ที่มีขนาดใหญ่นั้นค่อนข้างยาก ฉันเคยประสบความสำเร็จค่อนข้างดีกับ Recuva เมื่อฉันใช้ที่เก็บข้อมูลแบบแม่เหล็ก แต่ความสำเร็จจริงๆ เป็น 0 นับตั้งแต่เปลี่ยนไปใช้ SSD ในช่วงไม่กี่ปีที่ผ่านมา ในกรณีที่อินสแตนซ์เป็น WSL1 (ฉันรู้ว่าคุณพูดว่า WSL2 แต่บางครั้งเราก็โชคดี) คุณอาจต้องการค้นหาชื่อไฟล์ใดๆ ที่คุณจำได้จากอินสแตนซ์ ในกรณีดังกล่าว มันถูกตัดการเชื่อมต่อจากไดเร็กทอรี rootfs หลังจากลบ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา