วิธีเข้าถึงไฟล์ Ubuntu Bash ของคุณใน Windows (และ Windows System Drive ของคุณใน Bash)

สภาพแวดล้อม Linux ที่คุณติดตั้งจาก Store (เช่น Ubuntu และ openSUSE) เก็บไฟล์ไว้ในโฟลเดอร์ที่ซ่อนอยู่ คุณสามารถเข้าถึงโฟลเดอร์นี้เพื่อสำรองข้อมูลและดูไฟล์ คุณยังสามารถเข้าถึงไฟล์ Windows ของคุณจาก Bash shell

อัปเดต : ตั้งแต่การอัปเดตเดือนพฤษภาคม 2019 ของ Windows 10 ตอนนี้มีวิธีที่เป็นทางการและปลอดภัยในการเข้าถึงไฟล์ Linux ของคุณจากแอปพลิเคชัน Windows

อย่าแก้ไขไฟล์ Linux ด้วยเครื่องมือ Windows

Microsoft ขอเตือนอย่างยิ่งไม่ให้เพิ่มหรือแก้ไขไฟล์ Linux ด้วยซอฟต์แวร์ Windows ซึ่งอาจทำให้เกิดปัญหาข้อมูลเมตาหรือไฟล์เสียหายและอาจบังคับให้คุณถอนการติดตั้งและติดตั้งการแจกจ่าย Linux ใหม่เพื่อแก้ไข อย่างไรก็ตามคุณยังสามารถดูและสำรองไฟล์ Linux ของคุณโดยใช้ซอฟต์แวร์ Windows ได้และจะไม่ทำให้เกิดปัญหาใด ๆ

กล่าวอีกนัยหนึ่งให้ปฏิบัติกับโฟลเดอร์ Linux ราวกับว่ามันเป็นแบบอ่านอย่างเดียวจากใน Windows อย่าใช้เครื่องมือ Windows ใด ๆ รวมถึงแอพกราฟิกหรือเครื่องมือบรรทัดคำสั่งเพื่อแก้ไข อย่าสร้างไฟล์ใหม่ภายในโฟลเดอร์เหล่านี้โดยใช้เครื่องมือของ Windows เช่นกัน

หากคุณไม่ต้องการทำงานกับไฟล์จากทั้งระบบ Linux และ Windows คุณควรสร้างไฟล์นั้นในระบบไฟล์ Windows ของคุณ ตัวอย่างเช่นหากคุณมีโฟลเดอร์ที่ C: \ project ใน Windows คุณสามารถเข้าถึงได้ที่ / mnt / c / project ในสภาพแวดล้อม Linux เนื่องจากเก็บไว้ในระบบไฟล์ Windows และเข้าถึงได้ภายใต้ / mnt / c จึงปลอดภัยที่จะแก้ไขไฟล์ด้วยเครื่องมือ Windows หรือ Linux

ที่ Windows เก็บไฟล์ Linux

ระบบไฟล์ Linux ของคุณถูกเก็บไว้ในโฟลเดอร์ที่ซ่อนอยู่เนื่องจาก Microsoft ไม่ต้องการให้คุณยุ่งเกี่ยวกับมัน แต่ถ้าคุณต้องการดูหรือสำรองไฟล์บางไฟล์คุณจะพบว่าไฟล์เหล่านั้นถูกเก็บไว้ในโฟลเดอร์ที่ซ่อนอยู่ ในการเข้าถึงให้เปิด File Explorer และเสียบที่อยู่ต่อไปนี้ในแถบที่อยู่:

% userprofile% \ AppData \ Local \ Packages

(สิ่งนี้จะนำคุณไปC:\Users\NAME\AppData\Local\Packagesคุณยังสามารถแสดงโฟลเดอร์ที่ซ่อนอยู่ใน File Explorer และไปที่นี่ด้วยตนเองหากคุณต้องการ

ในโฟลเดอร์นี้ให้ดับเบิลคลิกที่โฟลเดอร์สำหรับการแจกจ่าย Linux ซึ่งมีไฟล์ที่คุณต้องการดู:

  • Ubuntu : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  • openSUSE Leap 42 : 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  • SUSE Linux Enterprise Server 12 : 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

ชื่อของโฟลเดอร์เหล่านี้อาจเปลี่ยนแปลงเล็กน้อยในอนาคต เพียงมองหาโฟลเดอร์ที่ตั้งชื่อตามการแจกจ่าย Linux

ในโฟลเดอร์ของการแจกจ่าย Linux ให้ดับเบิลคลิกที่โฟลเดอร์“ LocalState” จากนั้นดับเบิลคลิกที่โฟลเดอร์“ rootfs” เพื่อดูไฟล์

กล่าวอีกนัยหนึ่งไฟล์จะถูกเก็บไว้ที่:

C: \ Users \ NAME \ AppData \ Local \ Packages \ DISTRO_FOLDER \ LocalState \ rootfs

หมายเหตุ : ใน Windows 10 เวอร์ชันเก่าไฟล์เหล่านี้จะถูกเก็บไว้ใน C: \ Users \ Name \ AppData \ Local \ lxss สิ่งนี้เปลี่ยนไปโดยเริ่มจากการอัปเดต Fall Creators

หากต้องการดูไฟล์ที่เก็บไว้ในโฟลเดอร์บ้านของคุณให้ดับเบิลคลิกที่โฟลเดอร์“ home” จากนั้นดับเบิลคลิกที่ชื่อผู้ใช้ UNIX ของคุณ

จำไว้ว่าอย่าแก้ไขไฟล์ใด ๆ เหล่านี้หรือเพิ่มไฟล์ลงในโฟลเดอร์เหล่านี้จาก File Explorer!

ตำแหน่งที่ Windows System Drive ของคุณปรากฏใน Linux

ระบบย่อยของ Windows สำหรับ Linux ทำให้ไดรฟ์ระบบ Windows ของคุณพร้อมใช้งานคุณจึงสามารถทำงานกับไฟล์เดียวกันในทั้งสองสภาพแวดล้อม อย่างไรก็ตามสภาพแวดล้อม Bash ไม่เพียงแค่ทิ้งคุณในไดรฟ์ C: \ แต่จะวางคุณไว้ในโฮมไดเร็กทอรีของบัญชี UNIX ของคุณภายในระบบไฟล์ของสภาพแวดล้อม Linux

ไดรฟ์ระบบ Windows ของคุณและไดรฟ์ที่เชื่อมต่ออื่น ๆ จะแสดงอยู่ในไดเร็กทอรี / mnt / ที่นั่นโดยที่ไดรฟ์อื่น ๆ จะมีให้ในโครงสร้างไดเร็กทอรี Linux โดยเฉพาะคุณจะพบไดรฟ์ C: ที่ตำแหน่งต่อไปนี้ในสภาพแวดล้อม Bash:

/ mnt / ค

หากต้องการเปลี่ยนเป็นไดเร็กทอรีนี้ด้วยcdคำสั่งเพียงพิมพ์:

cd / mnt / ค

หากคุณมีไดรฟ์ D: คุณจะพบไดรฟ์ที่ / mnt / d และอื่น ๆ

ตัวอย่างเช่นในการเข้าถึงไฟล์ที่เก็บไว้ที่ C: \ Users \ Chris \ Downloads \ File.txt คุณจะต้องใช้เส้นทาง /mnt/c/Users/Chris/Downloads/File.txt ในสภาพแวดล้อม Bash และใช่มันต้องตรงตามตัวพิมพ์ใหญ่ - เล็กดังนั้นคุณต้อง "ดาวน์โหลด" ไม่ใช่ "ดาวน์โหลด"

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

คุณยังสามารถเมานต์ไดรฟ์ภายนอกและตำแหน่งเครือข่ายเพื่อเข้าถึงไฟล์เพิ่มเติมจากภายในระบบ Linux

โปรดทราบว่าเมื่อเข้าถึงไฟล์ระบบ Windows สภาพแวดล้อม Bash shell ของคุณมีสิทธิ์ที่เปิดใช้งานด้วย หากคุณเปิดใช้งานตามปกติจากทางลัดจะมีสิทธิ์การเข้าถึงไฟล์เดียวกันกับบัญชีผู้ใช้ Windows ของคุณ

ตัวอย่างเช่นหากคุณต้องการเข้าถึงโฟลเดอร์ระบบบัญชีผู้ใช้ของคุณไม่มีสิทธิ์เข้าถึงคุณจะต้องคลิกขวาที่ทางลัด Bash shell และเลือก“ Run as Administrator” เพื่อเปิด Bash shell ด้วยสิทธิ์ของผู้ดูแลระบบ Windows .

การทำงานนี้เหมือนกับ Command Prompt ซึ่งจำเป็นต้องเปิดใช้งานในฐานะผู้ดูแลระบบหากคุณต้องการสิทธิ์ในการเขียนไฟล์สำหรับผู้ดูแลระบบเท่านั้นหรือเขียนการเข้าถึงไฟล์ระบบ คุณไม่สามารถใช้ sudoในสภาพแวดล้อม Bash