Nếu tôi đọc bài viết của bạn theo nghĩa đen, có thể có một vài câu hỏi khác nhau ở đó:
- Phiên bản Ubuntu WSL của bạn được cài đặt ở đâu trên máy của bạn?
- (Có lẽ dựa trên câu hỏi đầu tiên) Làm cách nào để tôi truy cập các tệp trong WSL2 từ Windows?
- "Làm cách nào để truy cập các tệp trong máy Windows của tôi từ WSL2?" (đại loại là đối nghịch câu hỏi của hai người đầu tiên)
Ví dụ WSL Ubuntu của bạn ở đâu?
Câu trả lời ngắn: Trong trường hợp của bạn, với cài đặt cơ bản, các tệp thực tế nằm trong một đĩa ảo có tên ext4.vhdx
. Bạn thực sự không cần phải lo lắng về "ở đâu" vào thời điểm này (vì đó là ổ đĩa ảo), nhưng thông thường bạn sẽ tìm thấy nó bên dưới %userprofile%\AppData\Local\Packages\Canonical...\LocalState\ext4.vhdx
. Của bạn %Thông tin người dùng%
thường là một cái gì đó giống như C:\Users\<tên người dùng>
.
Thêm chi tiết:
Đó là cài đặt mặc định. Bạn có thể cài đặt nhiều bản phân phối và thậm chí nhiều phiên bản của cùng một bản phân phối. Một trong những điều tuyệt vời về WSL là khả năng sao chép nhanh chóng một bản phân phối, thử nghiệm thứ gì đó và loại bỏ thử nghiệm. Điều này giúp bạn không làm ô nhiễm "điều tốt" của mình, phân phối hàng ngày với các gói, thử nghiệm hoặc những thứ khác có thể tạo ra "hành trình" trong thời gian dài.
Nhìn tất cả các các bản phân phối bạn đã cài đặt, hãy truy cập PowerShell và chạy:
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse
Trong trường hợp của bạn, có thể bạn sẽ thấy một cái gì đó như:
{cff9bfd6-39db-42af-a85b-d6fca Trạng thái : 1
94beff8} Tên phân phối: Ubuntu
Phiên bản : 2
BasePath: C:\Users\krutik\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Cờ : 15
Uid mặc định: 1000
PackageFamilyName : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
KernelCommandLine : BOOT_IMAGE=/kernel init=/init
Môi trường mặc định : {HOSTTYPE=x86_64, LANG=en_US.UTF-8, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ trò chơi:/usr/local/games, TERM=xterm-256color}
Tôi có khá nhiều nữa, ở các địa điểm khác nhau.
Làm cách nào để truy cập các tệp trong WSL2 từ Windows?
Nhưng tiêu đề câu hỏi của bạn, "ở đâu", không thực sự quan trọng lắm trừ khi bạn cần làm gì đó với ext4.vhdx
tập tin (như có lẽ lấy lại không gian).
Để truy cập các tệp trong WSL từ Windows, hãy sử dụng \wsl$\Ubuntu
đường dẫn (hoặc bất kỳ tên phân phối nào của bạn). Ở đây, bạn sẽ tìm thấy \wsl$\Ubuntu\home\nkp68
, nơi bạn có thể sao chép vào và ra các tập tin một cách an toàn.
Làm cách nào để truy cập các tệp trong máy Windows của tôi từ WSL2?
Nếu bạn đang sử dụng Ubuntu và cần truy cập vào một tệp trên ổ đĩa Windows (ví dụ: C:
), thì bạn sẽ thấy chúng (theo mặc định) được tự động gắn cho bạn:
ls /mnt/c/Người dùng
ls /mnt/c
Có một số sắc thái khi làm việc với các tệp trên ổ đĩa Windows từ bên trong WSL, đặc biệt là về quyền và hiệu suất. Thông thường, bạn sẽ muốn giữ bất kỳ tệp dự án nào phía trong hệ thống tệp ext4 của Ubuntu (ví dụ: bên dưới /home/nkp68
danh mục). Nhưng bạn chắc chắn có thể truy cập, sao chép và di chuyển tệp giữa các ổ đĩa khi cần.