Câu hỏi Thư mục gốc của hệ thống tập tin Ubuntu trong Windows Subsystem cho Linux và ngược lại ở đâu?


Tôi đã cài đặt hệ thống phụ Ubuntu trên Windows 10 (sau khi bật tính năng trong cài đặt), nhưng thư mục gốc của hệ thống tệp Ubuntu nằm trong ổ đĩa ở đâu?


299
2018-04-21 10:06


gốc


XIN LƯU Ý  Chúng tôi (nhóm WSL) STRONGLY khuyên bạn KHÔNG nên say mê vào các thư mục dữ liệu distro Linux ). Nếu bạn làm, mất dữ liệu và / hoặc tham nhũng là rất có thể Chúng tôi đang làm việc để cải thiện kịch bản này interop và sẽ công bố bất kỳ tiến bộ trên blog của chúng tôi: blogs.msdn.microsoft.com/commandline - Rich Turner
@RichTurner Tôi đã tìm thấy có một lý do rất cụ thể (và gây phiền nhiễu) - các chính sách doanh nghiệp đánh dấu thư mục .ssh với các quyền sai liên tục có nghĩa là cần đánh dấu cấu trúc là "giới hạn tắt" đối với các tập lệnh của công ty. Nhưng nói chung - tôi đồng ý với bạn. - Danny Staple
Mặc dù có vẻ như trên các hộp có cập nhật gần đây hơn - điều này không còn xảy ra nữa. - Danny Staple
@DannyStaple Nếu bạn cần thay đổi quyền trên các tệp / thư mục trong bản phân phối Linux của bạn từ Windows, hãy sử dụng wsl.exe, ví dụ. wsl chmod 600 ~/.ssh/id* - làm không phải sao chép tệp vào các thư mục này qua hệ thống tệp của Windows. - Rich Turner


Các câu trả lời:


Đối với Ubuntu được cài đặt từ cửa hàng Windows:

Mỗi bản phân phối bạn cài đặt thông qua cửa hàng được cài đặt vào đó   thư mục appdata của ứng dụng. Ví dụ:    C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState  - benhillis

Trong các lần lặp lại trước đó của hệ thống con Windows cho Linux, hệ thống tệp Ubuntu đã ở %localappdata%\Lxss (ví dụ., C:\Users\Username\AppData\Local\Lxss - thay thế cái Tên người dùng với Tên người dùng của bạn trên Windows). Xem bài đăng trên blog WSL trên Hỗ trợ hệ thống tệp:

Hệ thống tệp chính được WSL sử dụng là VolFs. Nó được sử dụng để lưu trữ   Các tệp hệ thống Linux, cũng như nội dung của trang chủ Linux của bạn   danh mục. Như vậy, VolFs hỗ trợ hầu hết các tính năng của Linux VFS   cung cấp, bao gồm quyền Linux, liên kết tượng trưng, ​​FIFO, ổ cắm,   và tệp thiết bị.

VolFs được sử dụng để gắn kết thư mục gốc VFS, sử dụng    %LocalAppData%\lxss\rootfs như bộ nhớ sao lưu. Trong additiona   vài điểm gắn kết VolF bổ sung tồn tại, đáng chú ý nhất /root và    /home được gắn kết bằng %LocalAppData%\lxss\root và    %LocalAppData%\lxss\home tương ứng. Lý do riêng biệt   gắn kết là khi bạn gỡ cài đặt WSL, các thư mục chính không   bị xóa theo mặc định, vì vậy mọi tệp cá nhân được lưu trữ ở đó sẽ có   bảo quản.

THẬN TRỌNG

Tạo / sửa đổi bất kỳ tệp nào trong hệ thống con Linux bằng cách sử dụng các ứng dụng và công cụ Windows có thể gây ra hỏng dữ liệu và mất dữ liệu trong hệ thống phụ Ubuntu! (Nhờ vào Rich Turner vì đã gợi ý những lời cảnh cáo này!) Điều này là hoàn toàn không phải được hỗ trợ. Từ cùng một bài đăng trên blog:

Khả năng tương tác với Windows

Trong khi các tệp VolF được lưu trữ trong các tệp thông thường trên Windows trong   thư mục được đề cập ở trên, khả năng tương tác với Windows không   được hỗ trợ. Nếu một tệp mới được thêm vào một trong các thư mục này từ   Windows, nó thiếu EAs cần thiết bởi VolFs, do đó, VolFs không biết những gì   để làm với các tập tin và chỉ đơn giản là bỏ qua nó. Nhiều người chỉnh sửa cũng sẽ   dải EA khi lưu một tệp hiện có, lại tạo tệp   không sử dụng được trong WSL.


Hệ thống tệp Windows của bạn được đặt tại /mnt/c trong môi trường shell Bash.

enter image description here

Nguồn: Blog của Dustin Kirkland, howtogeek


323
2018-04-21 10:34



Lxss đã được ẩn trên hệ thống tập tin của tôi ... gây ra một chút đầu trầy xước cho một phút tức giận hoặc hai. Bây giờ tôi đã tạo ra một phím tắt, nhưng tôi vẫn không thể bỏ qua nó. - Ogaday
@Ogaday bạn không thể bỏ ẩn nó bằng cách sử dụng cửa sổ thuộc tính vì nó được đánh dấu là thư mục hệ thống. Bạn có thể thôi ẩn nó bằng cách sử dụng attrib -s -h lxss sẽ bỏ đánh dấu nó như một thư mục hệ thống. - developerbmw
Có vẻ như vị trí đã thay đổi hoặc khác nhau giữa các hệ thống như của tôi ở một vị trí khác. Tôi đã đăng dưới đây với vị trí của tôi. - NicholasJohn16
@souravc Bạn có thể thêm một lưu ý quan trọng vào đầu câu trả lời của bạn hay không, hãy đề xuất mạnh mẽ việc tạo / sửa đổi bất kỳ tệp nào trong LXSS bằng cách sử dụng các công cụ và ứng dụng Windows: Dữ liệu bị hỏng và mất mát rất có thể xảy ra nếu bạn thực hiện! - Rich Turner
Vui lòng đọc bài viết đã đề cập ở trên: blogs.msdn.microsoft.com/commandline/2016/11/17/…. Nó an toàn để truy cập hệ thống tập tin Windows từ WSL, đó là lý do tại sao chúng tôi gắn kết các ổ đĩa của bạn /mnt/<drive>/, nhưng KHÔNG an toàn (chưa) để truy cập hệ thống tập tin Linux từ Windows, đó là lý do tại sao chúng tôi không cung cấp khả năng truy cập dễ dàng vào hệ thống tệp distro. - Rich Turner


Điều này dường như đã thay đổi kể từ khi Bash được giới thiệu ban đầu, và không áp dụng cho các bản phân phối từ Windows Store, hoặc có thể nó không nhất quán với tất cả các hệ thống vì thư mục chính của tôi nằm ở một vị trí khác:

%localappdata%\lxss\home\{username}

hoặc là:

C:\Users\{user}\AppData\Local\lxss\{username}

Ở đâu {user} là Tên người dùng Windows của bạn và {username} là tên người dùng UNIX của bạn được đặt trong khi cài đặt.

Vì vậy, thư mục gốc sẽ là:

%localappdata%\lxss

Lưu ý rằng thư mục gốc có thể không hiển thị trong Windows Explorer từ %localappdata% danh mục. Bạn có thể truy cập nó bằng mọi cách bằng cách gõ nó vào 'thanh địa chỉ' của Explorer.


45
2017-08-10 18:35



Máy của tôi không thể tìm thấy: "C: \ Users \ {user} \ AppData \ Local \ Lxss \ {username}" hoặc "% localappdata% \ Lxss \ home \ {username}" nhưng "C: \ Users \ {user } \ AppData \ Local \ lxss \ {username} "hoạt động. I E. sử dụng "lxss" NOT "Lxss" - Joe Codeswell user601770
Hệ thống của tôi có thư mục con rootfs, nhưng rootfs / home trống trong khi ./home có tài khoản người dùng và tệp của tôi. Có vẻ như an toàn nhất để truy cập% localappdata% \ lxss và sau đó khám phá xung quanh từ đó để xem bố cục bạn có, cộng với việc duyệt trực tiếp đến địa chỉ đó tránh các vấn đề với thư mục lxss bị ẩn. - jla
@ JoeCodeswelluser601770 Thật kỳ quặc. Hệ thống tệp của Windows thường không phân biệt chữ hoa chữ thường. Tôi có thể nhập% localappdata% \ Lxss hoặc% localappdata% \ lxss và cả hai đi đến% HOMEPATH% \ AppData \ Local \ lxss - jla
Lưu ý rằng thư mục này (lxss) đã không xuất hiện trong cửa sổ explorer của tôi liệt kê các thư mục trong AppData \ Local, ngay cả với các thư mục ẩn được kích hoạt. Tôi phải dán thủ công thêm thư mục lxss vào thanh thám hiểm để truy cập các tệp ở đây, ví dụ: chỉnh sửa thư mục "url" ở đó - Colin D
Ngoài ra, bạn có thể vào Desktop, nhấp chuột phải vào "New-> Shortcut" và dán một đường dẫn như C: \ Users \ yourname \ AppData \ Local \ lxss \ home \ yourname - Colin D


Nếu bạn cài đặt Linux từ MS Market:

họ đặt distro theo:

$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/\{861c29b4-ebe2-49a5-8a22-7e53a27934a0\}/BasePath
C:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

Distro mặc định được xác định bởi:

bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution
{861c29b4-ebe2-49a5-8a22-7e53a27934a0}

Linux root sâu hơn:

c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs

PS. Tôi đã sử dụng Cygwin để khám phá các khóa registry.

PPS. https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/


9
2017-09-13 14:54





Điều duy nhất làm việc cho tôi là %localappdata%\lxss\home\{username}, nơi {username} là tên người dùng BASH bạn đã cung cấp trong quá trình cài đặt. Vì một số lý do, sau khi hiển thị thư mục ẩn của lxss từ chối xuất hiện trong C:\Users\WINDOWS-USER\AppData\Local\, và cũng cho đầy đủ C:\ đường dẫn có cửa sổ và tên người dùng BASH cũng không hoạt động.

Và hãy tạo lối tắt trên màn hình cho những gì có hiệu quả.


5
2018-06-09 17:02



wow tip tốt, có cùng một vấn đề - Nicolas Mommaerts


Bạn có thể nhanh chóng mở Bash từ cửa sổ File Explorer của thư mục đã mở bằng cách gõ bash trong thanh vị trí.

Đủ rôi.

Ngoài ra, bạn có thể thêm một mục trình đơn ngữ cảnh. Cá nhân tôi không khuyên bạn nên sử dụng nó nếu không cần thiết, vì việc thêm các phím tắt vào menu ngữ cảnh sẽ sử dụng nhiều RAM hơn.

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/


4
2018-02-21 20:19



Không làm việc cho tôi. Nó mở ra dấu nhắc lệnh và khởi động bash. - blablatros
@blablatros có nhưng trong thư mục trong bash trong phù thủy bạn đã thám hiểm mở khi viết trong bash thám hiểm thanh và nhấn Enter. Hãy thử trong thư mục My Documents mở thư mục Windows Explorer và trong thanh vị trí viết bash và nó sẽ mở ubuntu bash trong thư mục đó rồi :) - Kangarooo
@ Kangarooo: Tôi muốn truy cập các tập tin thông qua các cửa sổ 10 gui cũng như ngược lại. Trong câu trả lời của tôi ở trên, tôi đã tìm ra cách xác định thư mục bash thông qua trình thám hiểm tệp Windows 10, và vì vậy tôi đã tiến hành sao chép một số tệp từ ổ cứng ngoài vào thư mục đó. Tuy nhiên, khi tôi mở bash terminal và nhấn ls -a, nó không hiển thị các tập tin tôi đã thêm vào. Bash đã không nhận ra các tập tin tôi đã bỏ qua thông qua cửa sổ tập tin thám hiểm, mà đối với tôi đã hoàn toàn đánh bại mục đích cài đặt bash trên cửa sổ. - thinksinbinary