Wsl, где хранятся файлы

Обновлено: 21.11.2024

Где хранятся файлы WSL? Файлы WSL доступны через общий сетевой ресурс \wsl$[имя дистрибутива], например, мой домашний каталог находится в \wsl$Ubuntu-20.04homepawelb.

Где находится WSL?

Если вы перейдете в папку пакета, вы найдете файловую систему Linux. Для WSL Ubuntu он находится в папке LocalStaterootfs. Это корневой каталог вашего дистрибутива Linux.

Где хранятся файлы WSL 2?

В WSL вся файловая система Linux находится в папке Windows. Расположение папки зависит от версии Windows и используемого дистрибутива WSL.

Где сохраняются файлы Ubuntu?

Машины с Linux, включая Ubuntu, будут помещать ваши файлы в /Home/ /. Домашняя папка не ваша, она содержит все профили пользователей на локальном компьютере. Как и в Windows, любой документ, который вы сохраняете, будет автоматически сохранен в вашей домашней папке, которая всегда находится в /home/ /.

Как получить доступ к файлам Linux из Windows?

Ext2Fsd. Ext2Fsd — это драйвер файловой системы Windows для файловых систем Ext2, Ext3 и Ext4. Это позволяет Windows изначально читать файловые системы Linux, предоставляя доступ к файловой системе через букву диска, к которой может получить доступ любая программа. Вы можете запускать Ext2Fsd при каждой загрузке или открывать его только тогда, когда вам это нужно.

Могу ли я получить доступ к файлам Windows из Ubuntu?

Да, просто смонтируйте раздел Windows, из которого вы хотите скопировать файлы. Перетащите файлы на рабочий стол Ubuntu. Вот и все.

Является ли WSL полноценным Linux?

Подсистема Windows для Linux (WSL) — это уровень совместимости для запуска двоичных исполняемых файлов Linux (в формате ELF) изначально в Windows 10, Windows 11 и Windows Server 2019. В мае 2019 г. как настоящее ядро ​​Linux с помощью подмножества функций Hyper-V.

Хороша ли подсистема Windows для Linux?

Это не добавило многого хорошего от Linux, но сохранило все плохое от NT. По сравнению с виртуальной машиной WSL намного легче, так как это просто процесс, который запускает код, скомпилированный для Linux. Раньше я запускал виртуальную машину, когда мне нужно было что-то сделать в Linux, но гораздо проще просто ввести bash в командной строке.

Какой лучший WSL?

WLinux — это специальный дистрибутив Linux, созданный на основе Debian специально для использования в WSL. Хотя для WSL доступны и другие дистрибутивы, WLinux является первым, оптимизированным для использования пользователями WSL для WSL.

WLinux — лучший WSL для Windows 10

  • Ярлыки:
  • линукс.
  • Windows.
  • WSL.

Можно ли копировать файлы из Windows в WSL?

Как уже упоминалось, по умолчанию подсистема Windows для Linux автоматически монтирует диск C хоста Windows 10. В этом случае у вас есть автоматический доступ для копирования файлов с хоста Windows 10 в подсистему Windows для Linux WSL.

Как скопировать файлы из Windows в WSL 2?

Во-первых, найдите, где смонтирована ваша текущая Windows в WSL. Это приведет к тому, что $path будет путем монтирования WSL, например /mnt/C/Users… Теперь вы можете использовать эту переменную для запуска wsl -e, чтобы указать ее на смонтированную папку и переместить файлы в собственную структуру папок, например `/home/ я'.

Когда я открываю этот каталог, я вижу каталоги Desktop , Documents и т. д., которые, как я вижу, находятся в C:\Users\ с помощью Проводника Windows. Поскольку именно здесь запускается программа bash, я ожидал, что это мой домашний каталог, но когда я набираю cd или cd ~, я попадаю в

который содержит мои файлы .bashrc , .profile и т. д., которые я ожидаю найти в своем домашнем каталоге в Linux-системе. Кроме того, введя cd ../.. отсюда, я могу увидеть каталоги bin и т. д. и т. д., опять же, как и ожидалось на компьютере с Linux.

У меня есть два вопроса относительно всего этого:

  1. Что такое /mnt/c/Users/ по сравнению с C:\Users\ ? Кажется, что это одно и то же --- так что же такое /mnt/c/ ?
  2. Как просмотреть файлы в папке /home/ с помощью Проводника Windows? Не то чтобы мне действительно когда-либо хотелось — я просто пытаюсь понять, как Windows организует эту подсистему для Linux.

11 ответов 11

В последних версиях [2020] доступ к файловой системе осуществляется из:

Ранее, начиная с 2018 г., текущий путь был связан с дистрибутивом, который вы установили из Магазина Microsoft, а не с одним глобальным путем; для Ubuntu он находился по адресу:

Другие дистрибутивы должны находиться (требуется подтверждение) в аналогичном месте в соответствующих папках внутри:

Кого-то еще беспокоит эта практика? Разве моя папка HOME не должна быть ОДНИМ безопасным местом для МОИХ данных внутри репо? При таком подходе сломанное репо и переустановка шлангов МОИ ДАННЫЕ без попытки защитить их вообще И они скрыты, когда у меня уже есть НАСТОЯЩИЙ /home. Почему данные не сохраняются там?Это тем более опасно, потому что теперь нас поощряют пробовать/использовать/заменять дистрибутивы (WLinux). Такое ощущение, что кто-то не продумал все это.

@rainabba На первый взгляд я согласен, но после некоторых размышлений я все же предпочитаю использовать Windows, а не полноценную Ubuntu. Таким образом, я рассматриваю WSL как способ доступа к инструментам Linux, но по-прежнему рассматриваю свою файловую систему Windows как гражданина первого класса. Итак, /mnt/c/ — это место, где я храню все в WSL. Мне бы понравилось, если бы WSL был заменен на LWS; Это означает, что было бы здорово, если бы мы все использовали Ubuntu с подсистемами Linux для Windows, чтобы запустить полную копию Windows 10, интегрированную в Ubuntu. Я знаю, это было бы намного сложнее, но мечтать можно.

В Bash для просмотра текущего каталога в проводнике Windows просто введите:

Не пропускайте ".".

Это откроет проводник Windows в текущей папке, и вы сможете увидеть, где все находится по отношению к остальной части вашей системы Windows.

На самом деле это explorer.exe . работает в WSL. Это единственный ответ, который сработал для меня, поскольку все пути, предоставленные другими ответами, отсутствуют в моей системе. Я не мог сам отредактировать ответ, потому что редактирование должно быть не менее 6 символов.

Интересно. В моем случае, независимо от того, где я запускаю explorer.exe. , он всегда открывает проводник в моем домашнем каталоге пользователя Windows ( %USERPROFILE% ). Windows 10 Корпоративная 1809 (сборка 17763.1039), Ubuntu 18.04. Неважно, нахожусь ли я дома в своей Ubuntu, /etc или где-то еще.

Я думаю, что здесь мы можем ошибиться — ответ, кажется, относится к самому bash, верно? Но не обязательно bash в WSL1. Я только что попробовал это на своей установке Ubuntu в WSL1, и «explorer.exe» не может быть найден, поэтому я думаю, что ответ может быть только частично правильным, вопреки тому, что сказал Марко Лацкович. Возможно, explorer.exe работает, но 100% не по умолчанию, потому что я только что попробовал его с экземпляром bash, загружающим ubuntu.

  1. /mnt/c точно такой же, как C:\ . Это просто синтаксис для доступа к нему из WSL.
  2. Посмотрите в C:\Users\\AppData\Local\Lxss\rootfs.

Теперь он находится в папке C:\Users\[ИМЯ ПОЛЬЗОВАТЕЛЯ]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\ Вы можете знать, насколько плохо, если редактируете / вручную

для легкого доступа с помощью копирования-вставки `%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs`

Обратите внимание, что папка lxss будет скрыта в проводнике, если вы не снимете флажок «Параметры папки > Вид: Дополнительные параметры: Скрыть защищенные системные файлы (рекомендуется)». Но даже если она скрыта, вы все равно можете открыть папку в проводнике, если введете ее в путь к папке.

О файловой системе, смонтированной на /mnt/c

  1. Что такое /mnt/c/Users/ по сравнению с C:\Users? Кажется, что это одно и то же --- так что же такое /mnt/c/?

В отличие от Windows, Linux (и другие системы на основе Unix) используют единую структуру папок, не зависящую от количества имеющихся у вас дисков. Если у вас несколько дисков, все эти диски в какой-то момент должны быть подключены в структуру папок.

  • Обычно все диски (отличные от используемых для загрузки системы) подключаются в папку с именем /mnt или /media

WSL имеет специальный тип файловой системы под названием DrvFS, который дает вам доступ к дискам, используемым в Windows. Вы можете использовать DrvFS для монтирования не только файловой системы Windows, но и сетевых дисков и других типов носителей.

  • В WSL по умолчанию диск C: в Windows монтируется в /mnt/c
  • Если у вас есть другой диск, например диск D: в Windows, он будет смонтирован в /mnt/d

Файлы, которые вы видите в /mnt/c, такие же, как и в C: . Если вы измените какой-либо файл, вы также получите изменения в окнах.

О расположении /home/

  1. Как просмотреть файлы в папке /home/ с помощью Проводника Windows? Не то чтобы мне действительно когда-либо хотелось — я просто пытаюсь понять, как Windows организует эту подсистему для Linux.

В WSL вся файловая система Linux находится в папке Windows. Расположение папки зависит от версии Windows и используемого дистрибутива WSL.

  • Первоначальные версии WSL хранят файловую систему Linux в папке %LOCALAPPDATA%\Lxss\rootfs
  • Дистрибутивы WSL, установленные из Магазина Windows, начиная со сборки Windows 16215 (середина 2017 г.), используют папку, например %LOCALAPPDATA%\Packages\\LocalState\rootfs . Название пакета зависит от дистрибутива (например, для Ubuntu оно отличается от для Debian). Например, для Ubuntu в Windows это CanonicalGroupLimited.UbuntuonWindows_ .
  • Дистрибутивы Linux, установленные с помощью других инструментов, таких как lxRunOffline или WSL-DistroLauncher, могут хранить файловую систему Linux в любом месте.

Вы можете проверить множество параметров, чтобы узнать расположение папки WSL. Например, я думаю, что самый простой вариант — использовать lxRunOffline, чтобы узнать папку установки.

Как только вы узнаете расположение папки установки, /home/ находится в папке \rootfs\home\username .

  • Например, если папка установки c:\wsl\ubuntu
  • /home/ находится в папке c:\wsl\ubuntu\rootfs\home\username

ПРИМЕЧАНИЕ. Как в Linux, так и в Windows права доступа к файлам хранятся по-разному. В настоящее время WSL DrvFS хранит разрешения Linux в виде потоков (метаданные), прикрепленных к файлам, которые вы можете видеть в Windows. Microsoft не рекомендует изменять файлы Linux с помощью программ Windows. Возможно, что некоторые приложения Windows повреждают разрешения Linux, не замечая этого.

Закрыто. Этот вопрос не соответствует правилам переполнения стека. В настоящее время ответы не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow.

Закрыт 11 месяцев назад.

Сообщество рассматривало возможность повторного открытия этого вопроса 6 месяцев назад и оставило его закрытым:

Первоначальные причины закрытия не были устранены

Я установил wsl2 на свой компьютер с Windows и не смог выяснить, где на самом деле хранятся файлы.
Обратите внимание, что я не имею в виду, что хочу просмотреть их в проводнике — я знаю, что это можно сделать, набрав в проводнике \\wsl$\ .
Если бы мне пришлось угадывать, я бы сказал, что файлы хранятся на том же жестком диске, что и ОС.

На самом деле у меня есть два связанных вопроса.

  1. Где хранятся файлы?
  2. Если они хранятся на жестком диске моей ОС, могу ли я как-то переместить свой wsl на другой жесткий диск?

РЕДАКТИРОВАТЬ:
Мне удалось найти путь установки, на моей машине путь следующий:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState< /p>

Есть ли способ смонтировать это в другом месте?

@Braiam Я бы сказал, что WSL — это такой же инструмент разработки программного обеспечения, как и любая IDE. Конечно, столько же, сколько контейнеров. По крайней мере, таково его предназначение. MS даже сделала его одним из трех расширений, которые составляют их новый пакет удаленной разработки (извините, я не могу вспомнить название). Согласно пунктам справочного центра, это нормально. Согласны ли вы? Не пытаться быть неприятным; Мне искренне любопытно. Я все еще изучаю правила.

@NateT, а значит, это Windows, Linux, процессоры и кофеварки, что не вызывает сомнений в отношении тех, кто по теме. Он должен быть уникальным для разработки программного обеспечения. Это даже не разработка программного обеспечения, это запрос подробностей о реализации пользовательской функции.

@Braiam, возможно, этот вопрос следует перенести в ServerFault или другой сервис SE. Форум? Я понимаю точку зрения Брайама, но вопрос по-прежнему полезен.

3 ответа 3

Все файлы хранятся в файлах ext4.vhd в каталоге установки, которые вы не можете смонтировать напрямую в Windows, как это делается в ext4 (наблюдение)

Есть два способа изменить местоположение вышеупомянутого VHD-файла: официальный, утомительный способ и неофициальный, быстрый и грязный способ

Официальный утомительный способ

  1. Экспортируйте дистрибутив в папку с помощью wsl.exe --export from CMD/PowerShell
  2. Импортируйте дистрибутив в другое место с помощью wsl.exe --import [Параметры]

Проблема с этим в том, что это занимает довольно много времени, и после того, как вы это сделаете, молитесь, чтобы он экспортировал и импортировал тысячи файлов на несколько гигабайт без каких-либо проблем

Быстрый и грязный способ

Для этого используется неофициальный диспетчер WSL с открытым исходным кодом под названием lxrunoffline

Чтобы установить его (занимает от минимума до максимума), прочитайте инструкции разработчика здесь

Если вы установили его вручную, загрузив двоичные файлы со страницы выпуска, обязательно установите его в каталог в PATH, например C:\Windows

Можно ли запускать графические приложения Linux из WSL?

Где находится wsl.conf?

Как получить доступ к файлам Windows из WSL?

Как получить доступ к флешке из WSL?

Как подключиться к DVD-приводу из WSL?

Где хранятся файлы WSL?

Можно ли запускать программы Windows из WSL?

Какое терминальное приложение использовать?

Вопросы взаимодействия с Windows

WSL — отличная подсистема для Windows

Введение

Независимо от того, программируете ли вы на Java, Kotlin или других технологиях, работа в Linux имеет ряд преимуществ. Одним из них является доступ к Linux Bash с его полезными командами.

WSL обеспечивает почти родной интерфейс Linux

Некоторое время назад Microsoft представила WSL, новый инструмент, который еще больше приближает пользователей Windows к работе с Linux. Здесь вы можете найти ответы на часто задаваемые вопросы и опыт нашего эксперта, которые помогут вам лучше понять WSL.

Что такое WSL?

WSL или подсистема Windows для Linux — это часть операционной системы Windows, которая позволяет запускать собственные двоичные файлы Linux. Существует ряд дистрибутивов, которые можно установить и использовать.

Как установить WSL?

Какие дистрибутивы Linux доступны на WSL?

  • Убунту 18.04 и 20.04
  • SUSE Linux Enterprise Server
  • Дебиан
  • Ремикс Fedora для WSL
  • Кали Линукс

Можно ли запускать графические приложения Linux из WSL?

Да, это возможно. Вам необходимо установить серверное приложение X Window System в Windows, например Xming X Server для Windows.

Где находится wsl.conf?

Как получить доступ к файлам Windows из WSL?

Все несъемные диски с файловой системой NTFS или ReFS автоматически монтируются в каталог /mnt. Например,

Этот параметр заставит диски монтироваться в корневую папку, поэтому диск C: будет доступен через папку /c.

Как получить доступ к флешке из WSL?

В отличие от фиксированных дисков, съемные диски не монтируются автоматически. Чтобы получить доступ к файлам, хранящимся на USB-накопителе, вам необходимо смонтировать его самостоятельно. Для этого используйте следующие команды (предположим, что буква диска в Windows — F):

Как подключиться к DVD-приводу из WSL?

В настоящее время оптические приводы не так популярны, как раньше. Тем не менее, к ним можно получить доступ так же, как к флешкам (предположим, что G — это буква диска):

Где хранятся файлы WSL?

Файлы WSL доступны через общий сетевой ресурс \\wsl$\[имя дистрибутива], например, мой домашний каталог находится в \\wsl$\Ubuntu-20.04\home\pawelb.

Однако стоит отметить, что следует избегать манипулирования файлами WSL из Windows, так как это может разрушить метаданные файлов, характерные для Linux. Если вам нужно манипулировать файлами как в WSL, так и в Windows, сохраните их на диске Windows и получите доступ к ним из WSL через /mnt.

Можно ли запускать программы Windows из WSL?

Да, WSL создавался с учетом совместимости. Он может запускать собственные программы Windows. Однако, если эта функция не нужна, пользователь может отключить ее, добавив enable=false в раздел [interop] в wsl.conf.

Какое терминальное приложение использовать?

С этой задачей справится любой терминал, даже старый добрый cmd.exe. Просто запустите команду WSL. Однако есть одно замечательное приложение, которое упрощает работу с консолью WSL. Это Windows Terminal, и его можно установить из Магазина Windows. Он автоматически обнаруживает любые установленные дистрибутивы WSL и добавляет возможность запуска своей консоли. Он также поддерживает стандартную командную строку Windows, PowerShell и консоль Azure. Кроме того, он поддерживает вкладки и разделенный вид внутри вкладки.

Вопросы совместимости с Windows

По умолчанию WSL может запускать двоичные файлы Windows, а также добавляет свою переменную %PATH% в переменную $PATH Linux, работающего под управлением WSL. В большинстве случаев это полезно или, по крайней мере, не вредит. Однако иногда происходит непредвиденное поведение.

После некоторого расследования я обнаружил, что я также установил npm в Windows, и WSL использовал этот исполняемый файл для запуска. К сожалению, это не удалось в среде WSL.

Во-первых, с помощью редактора реестра (regedit) добавьте параметр DWORD AppendNtPath со значением 0 в раздел HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss. Это влияет на все дистрибутивы WSL.

WSL — отличная подсистема для Windows

С появлением Windows 10 многое изменилось. Создается впечатление, что система и ее возможности становятся все более продуманными и интуитивно понятными. Программисту нужна правильная рабочая среда. Благодаря WSL Windows идет в ногу с разработками в этой области и, похоже, делает шаг в правильном направлении. Стоит следить за развитием этого решения, надеясь, что в будущем у разработчиков появятся самые разные системы, которые действительно смогут конкурировать друг с другом. Если вы ищете хороший, стабильный и удобный инструмент, стоит попробовать WSL.

Solidstudio разрабатывает набор программных продуктов, предназначенных для облегчения управления сетью зарядки электромобилей. Узнайте больше о нашей платформе CPO и приложении eMSP.

Подпишитесь на нашу рассылку

Подпишитесь, чтобы быть в курсе последних выпусков для мобильных устройств и программного обеспечения

Solidstudio нужна контактная информация, которую вы нам предоставляете, чтобы связаться с вами по поводу наших продуктов и услуг. Вы можете отказаться от подписки на эти сообщения в любое время. Для получения информации о том, как отказаться от подписки, а также о наших методах обеспечения конфиденциальности и обязательствах по защите вашей конфиденциальности, ознакомьтесь с нашей Политикой конфиденциальности.

Читайте также: