bash shell บน Window จะถูกรีเซ็ตได้อย่างไร


2

ฉันใหม่สำหรับ Unix แต่สนใจเรียนรู้ดังนั้นเริ่มลองใช้ bash / Ubuntu บน Windows น่าเสียดายที่ทุบตีขัดข้องและตอนนี้ทุบตี / อูบุนตูดูเหมือนว่าจะเสียหายเนื่องจากโฟลเดอร์ส่วนใหญ่ตอนนี้หายไปจากโฟลเดอร์รูท Ubuntu นั่นคือ

root@Desktop:~# ls
root@Desktop:~# cd /root
root@Desktop:~# ls
root@Desktop:~# ls -a
.  ..  .bashrc  .profile

ฉันไม่มี %localappdata%\lxss โฟลเดอร์ (ฉันค่อนข้างแน่ใจว่านี่คือตำแหน่งที่รูต Linux เดิม) ฉันดูเหมือนจะมี %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc โฟลเดอร์ซึ่งเห็นได้ชัดว่าเป็นตำแหน่งใหม่สำหรับรูท Linux แต่ยังไม่สมบูรณ์ (เช่นไม่มีไฟล์ a ...\LocalState\rootfs โฟลเดอร์)

หลังจากค้นหาวิธีแก้ปัญหาที่นี่และที่อื่น ๆ ฉันได้ลอง:

  • ถอนการติดตั้ง Ubuntu \ bash อย่างสมบูรณ์จาก Windows ด้วย lxrun.exe /uninstall full.
  • ข้างต้นร่วมกับการปิดการใช้งานและเปิดใช้งานระบบย่อย Windows สำหรับ Linux (เบต้า) อีก
  • วิ่ง: apt-get remove upstart, apt-get remove udev, apt-get autoremove ในทุบตี

น่าเสียดายที่ไม่มีการแก้ไขใด ๆ ข้างต้น ใครช่วยแนะนำวิธีการ 'รีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน' ให้สมบูรณ์ได้หรือไม่


bash เป็นโปรแกรม มันสามารถเรียกใช้ตัวอย่างเช่นใน cmd.exe หน้าต่าง (ถ้าคุณสร้างมันเป็นไฟล์ปฏิบัติการ Windows) อูบุนตูเป็นลีนุกซ์ลีนุกซ์ซึ่งสร้างโดยใช้เคอร์เนลลีนุกซ์, ที่ทำงานบน "โลหะเปลือย" - ไม่ใช่เป็นแอพพลิเคชั่นของ Windows ดังนั้นจึงไม่ชัดเจนว่าคุณหมายถึงอะไรเมื่อคุณเขียน "base / Ubuntu" เสีย
— einpoklum

1
คุณกำลังพยายามเรียกใช้รุ่นใด: รุ่นเบต้าจากตัวเลือกของนักพัฒนาหรือรุ่นอย่างเป็นทางการจากร้านค้า Windows พร้อมใช้งานกับการอัพเกรด 1709 หากคุณมีทั้งสองอย่างติดตั้งแล้วฉันสามารถจินตนาการได้ว่าการติดตั้งจะสับสน ตรวจสอบให้แน่ใจว่าได้ถอนการติดตั้งแล้วจากนั้นติดตั้งเวอร์ชันที่คุณต้องการใช้อีกครั้ง โปรดทราบว่ามันเป็นเรื่องปกติที่จะมีเพียงไม่กี่ไฟล์ใน root ไดเรกทอรีบ้าน: ls / จะแสดงว่าคุณมีโครงสร้างไดเรกทอรีที่เหมาะสมหรือไม่
— AFH

คุณกำลังลองวิธีแก้ปัญหาสำหรับ WSL ดั้งเดิม (เบต้า) คุณต้องใช้คำสั่งสำหรับ WSL เวอร์ชันปัจจุบันซึ่งใช้งานได้กับ 1709 เท่านั้นในการรีเซ็ต WSL บน Windows 10 เวอร์ชัน 1709 คุณต้องลบ Ubuntu ออกจาก Windows Store จากนั้นเพียงติดตั้งอีกครั้งจาก Windows Store
— Ramhound

หากคุณไม่ได้ใช้งานบิลด์ปัจจุบันของ Windows 10 เวอร์ชั่น 1709 ให้อัพเดตคำถามของคุณด้วยภาพหน้าจอของเอาท์พุต winverโปรดลบใบอนุญาตหรือ PPI ใด ๆ
— Ramhound

สวัสดี @Ramhound ฉันคิดว่าคุณถูกต้องขอบคุณ - ปัญหาดูเหมือนว่าเกิดจากความสับสนระหว่าง WSL ดั้งเดิมที่ฉันใช้และ WSL ใน Windows 10 เวอร์ชั่น 1709 ซึ่งฉันกำลังใช้
— Robert

คำตอบ:


1

หลังจากค้นหาวิธีแก้ปัญหาที่นี่และที่อื่น ๆ ฉันได้ลอง:

  • ถอนการติดตั้ง Ubuntu \ bash อย่างสมบูรณ์จาก Windows ด้วย lxrun.exe / ถอนการติดตั้งแบบเต็ม
  • ข้างต้นร่วมกับการปิดการใช้งานและเปิดใช้งานระบบย่อย Windows สำหรับ Linux (เบต้า) อีก
  • เล่น: apt-get remove upartart, apt-get remove udev, apt-get autoremove in bash

lxrun.exe ไม่ควรทำงานกับ WSL เวอร์ชันปัจจุบัน ฉันคิดว่ามันยากที่จะเชื่อว่าคุณได้ติดตั้ง Windows Subsystem for Linux (Beta) เนื่องจากคุณสมบัติที่ถูกต้องจะถูกระบุว่าเป็น Windows Subsystem for Linux บน Windows 10 เวอร์ชัน 1709 โซลูชันที่สามของคุณจะไม่รีเซ็ตสภาพแวดล้อม WSL ใด ๆ

lxrun และ bash.exe และเครื่องมือที่เกี่ยวข้องจะเลิกในฤดูใบไม้ร่วง   อัปเดตผู้สร้าง

เหตุผลเดียวที่ฉันรู้ว่าคุณกำลังวิ่ง 1709 เป็นเพราะการดำรงอยู่ของ UbuntuonWindows_79rhkp1fndgsc โฟลเดอร์

ฉันดูเหมือนจะมี   % LOCALAPPDATA% \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc   โฟลเดอร์ซึ่งเป็นตำแหน่งใหม่สำหรับรูท Linux อย่างชัดเจน   ยังไม่สมบูรณ์ (เช่นไม่มี ... \ LocalState \ rootfs   โฟลเดอร์)

มันไม่ควรจะมีโฟลเดอร์นั้น

ฉันไม่มีโฟลเดอร์% localappdata% \ lxss (ฉันค่อนข้างแน่ใจว่านี่คือ   ตำแหน่งที่รูท Linux เป็นต้นฉบับ)

นี่คือตำแหน่งของ WSL เวอร์ชันเก่า ไม่มีอยู่อีกต่อไปและวิธีดั้งเดิมที่ใช้เพื่อรีเซ็ตสภาพแวดล้อมไม่ทำงานสำหรับ WSL รุ่นปัจจุบันบน Windows 10 เวอร์ชัน 1709+

ฉันบอกว่าโดยเฉพาะในของฉัน ตอบ .

คำตอบต่อไปนี้ใช้ได้กับ WSL ใน Windows 10 1703 และ 1607 เท่านั้น   WSL บน Windows 10 1709+ สามารถติดตั้งได้จากภายใน   แอปพลิเคชัน Windows Store UWP

สำหรับคำถามที่แท้จริงของคุณ ...

น่าเสียดายที่ไม่มีการแก้ไขใด ๆ ข้างต้น ใครก็ได้   แนะนำวิธีการ 'รีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน' ให้คนอื่นหรือไม่

เพียงแค่เรียกใช้คำสั่ง:

wslconfig /unregister Ubuntu

นอกจากนี้ wslconfig /unregisterยกเลิกการลงทะเบียนการกระจาย   จาก WSL เพื่อให้สามารถติดตั้งใหม่หรือทำความสะอาดได้

ความระมัดระวัง : เมื่อไม่ได้ลงทะเบียนข้อมูลการตั้งค่าและซอฟต์แวร์ทั้งหมดที่เกี่ยวข้องกับการแจกจ่ายนั้นจะสูญหายอย่างถาวร การติดตั้งใหม่จากร้านค้าจะทำการติดตั้งสำเนาการแจกจ่ายทั้งหมด

เมื่อคุณเรียกใช้คำสั่งนั้นคุณจะต้องติดตั้ง Ubuntu ใหม่ผ่าน Windows Store

ในขณะที่ลีนุกซ์รุ่นลีนุกซ์สามารถติดตั้งผ่านทาง Windows store   ไม่สามารถถอนการติดตั้งผ่านทางร้านค้าได้ การกำหนดค่า WSL ช่วยให้   การแจกแจงที่จะไม่ลงทะเบียน / ถอนการติดตั้ง

จัดการการกระจาย Linux หลายรายการใน WSL

การอ้างอิงคำสั่ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.