Hệ thống tập tin của Hệ thống con Linux nằm ở đâu trong Windows 10?


22

Rõ ràng là hệ thống tập tin "máy chủ" 10 của Windows được gắn kết theo /mnt/c/quan điểm "Linux". Nhưng có thể có quyền truy cập vào hệ thống tập tin "Linux" từ Windows không? Nếu vậy, nó ở đâu?


Đầu ra từ mounttrong một bashvỏ là gì?
DavidPostill

Điều này không trả lại bất kỳ manh mối nào:rootfs on / type rootfs
Có bốn đèn sáng

Hừm. Đồng ý. Thế còn cat /etc/fstab?
DavidPostill

Không, không may, từ quan điểm "linux", nó trông có vẻ như đang ngồi trên phần cứng:LABEL=cloudimg-rootfs / ext4 defaults 0 0
Có bốn đèn sáng

ĐỒNG Ý. Không có ý tưởng khác.
DavidPostill

Câu trả lời:


24

Hệ thống tệp gốc duy nhất được đặt ở đây cho đến khi cập nhật Windows 10 Fall Creators (phát hành vào tháng 10 năm 2017):

%LOCALAPPDATA%\Lxss\rootfs

Ví dụ, C:\Users\Vigo\AppData\Local\Lxss\rootfs\

Các điểm gắn kết khác được đặt một cấp lên trong lxssthư mục. Ví dụ: homethư mục của riêng bạn trong Linux sẽ ở trong %LOCALAPPDATA%\Lxss\home.

Bắt đầu từ bản cập nhật Fall Creators, có thể cài đặt nhiều hơn một phiên bản Linux và chạy chúng song song. Thể hiện hiện tại (còn gọi là di sản) sẽ ở trong thư mục của nó nhưng các thể hiện mới được tạo nằm ở dưới:

% LOCALAPPDATA% \ Gói \ <phân phối_specific_name > _ < Random_ chuỗi > \ LocalState \ rootfs

Ví dụ: cài đặt Ubuntu 18.04 của tôi nằm dưới

CanonicalgroupLrict.Ubfox18.04onWindows_ 79rhkp1fndgsc
danh mục.

Cảnh báo : Cẩn thận không tạo , sửa đổi hoặc xóa các tệp nằm dưới cây lxss hoặc phân phối cụ thể từ Windows.

Khám phá và đọc các tập tin là hoạt động vô hại duy nhất. Xem trang blog Microsoft này để biết chi tiết.

Lưu ý rằng bắt đầu từ Build 1903, có một cách khác để truy cập vào các tệp của bản phân phối đang chạy mà không thể hiện các vấn đề được đề cập trước đó.

Chỉ cần sử dụng đường dẫn \\wsl$\<distribution_specific_name>\và bạn sẽ có thể tạo và sửa đổi các tệp. AppData vẫn không phải là một cách được hỗ trợ để truy cập các tệp có bản dựng 1903.


Nó đã bị ẩn :)
Y2K

Tôi không thể thêm nó vào Truy cập nhanh của Windows Explorer dưới dạng dấu trang để tìm thấy nó dễ dàng.
john

4
Phiên bản có thể sao chép-dán có thể trung lập với người dùng:%USERPROFILE%\AppData\Local\Lxss\rootfs
Silveri

3
Cảnh báo: Theo Microsoft, bạn không nên sửa đổi hệ thống tệp linux của mình bằng các ứng dụng Windows. blog.msdn.microsoft.com/commandline/2016/11/17/NH
Korey

1
Bạn có thể đơn giản hóa phần đầu tiên của con đường đó bằng cách sử dụng %LOCALAPPDATA%thay vì%USERPROFILE%\AppData\Local
Herohtar

8

Ngày nay, bạn có thể cài đặt nhiều bản phân phối Linux. Do đó, mỗi bản phân phối sẽ có hệ thống tệp riêng nằm trong một thư mục khác nhau.

  • Nếu bạn cài đặt một số bản phân phối linux từ Windows Store, các hệ thống tệp được đặt bên dưới %USERPROFILE%\AppData\Local\Packages\...\LocalState\rootfs
  • Nếu bạn đã cài đặt, di chuyển hoặc sao chép bản phân phối linux bằng LxRun Offerline hoặc bất kỳ phiên bản nào của WSLDistroLauncher , hệ thống tệp có thể được đặt trong bất kỳ thư mục nào trên máy tính của bạn.

Lấy thông tin từ Cơ quan đăng ký

Vị trí của mỗi hệ thống tập tin có thể được lấy từ Windows Registry. Dữ liệu được đặt dưới

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss

Bạn có thể khởi động cửa sổ PowerShell và thực hiện lệnh sau để lấy vị trí của các hệ thống tệp

PS> (Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object {Get-ItemProperty $_.PSPath}) | select DistributionName, @{n="Path";e={$_.BasePath + "\rootfs"}}

Bạn sẽ nhận được một bảng với thông tin như sau

DistributionName Path
---------------- ----
Ubuntu           C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
Ubuntu-18.04     C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
mydistro         C:\wsl\mydistro\rootfs

Sử dụng lxRun Offerline

LxRun Offerline là một công cụ để quản lý các bản phân phối linux được cài đặt trên WSL. Bạn có thể sử dụng LxRunPackline để lấy thư mục được sử dụng bởi một bản phân phối đã cài đặt

# lxrunoffline get-dir -n <name of the distro>

C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup

C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

2

Đối với WSL2, bạn có thể truy cập vào thư mục chính từ windows explorer như thế này:

\\wsl$

Xin lỗi vì đến muộn trong bữa tiệc!


Điều này cần được cập nhật để có câu trả lời chính xác
getglad

1

Phiên bản mới hơn của hệ thống con linux cài đặt hệ thống tệp bên dưới packagesđể đường dẫn đầy đủ sẽ giống như:

C:\Users\myUserName\AppData\Local\Packages\UbuntuLinux.someUID\LocalState\rootfs\root

hoặc là:

C:\Users\myUserName\AppData\Local\Packages\UbuntuLinux.someUID\LocalState\rootfs\home\myLinuxUserName

... tất nhiên phụ thuộc vào điểm gắn kết. Thực hiện tìm kiếm thư mục .bashrcsẽ tiết lộ những đường dẫn này ...

Hoặc sử dụng readlink .trong shell linux để đăng đường dẫn linux hiện tại dưới dạng đường dẫn 'DOS' vào windows clipboard. Dán một nơi hợp lý để đọc đường dẫn vật lý thực tế.


1

Có vẻ như Microsoft đã thay đổi / ẩn nó thêm một số, hiện tại nó đang ở:

% USERPROFILE% \ AppData \ Local \ Gói \ CanonicalgroupLiated.UbfoxonWindows _ ????????????? \ \ LocalState \ rootfs

Vì điều này có thể thay đổi hơn nữa trong tương lai, chỉ cần thực hiện đề xuất của PGP về việc thực hiện tìm kiếm tệp của các tệp .profile hoặc .bashrc.


1

Tôi đã tạo tập lệnh này mở thư mục WLS trong Explorer

cd C:\Users\Naotho Machida\AppData\Local\Packages\Canonical*\LocalState\rootfs\etc
explorer %cd%

chỉ cần lưu nó dưới dạng yourScript.cmd và chạy

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.