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.