В случае, если вам потребовался доступ из Windows к данным на разделе диска с файловой системой Linux — ext4/ext3/ext2, встроенными средствами системы сделать это не получится. Однако, возможности есть, причем реализовать это можно встроенными средствами системы или с помощью сторонних инструментов.
В этой инструкции подробно о способах подключить раздел диска в файловой системе Linux в Windows 11 и Windows 10 для доступа к данным на этом разделе как для чтения, так и для записи.
Ext2 File System Driver (Ext2Fsd) — самый простой способ открыть раздел ext4/ext3/ext2 в Windows
Ext2 File System Driver или Ext2Fsd — сторонний и полностью бесплатный драйвер для подключения разделов Linux во всех версиях Windows начиная с XP. Несмотря на название, поддерживаются не только разделы не только с файловой системой ext2, но и более новые ext4 и ext3.
Порядок использования Ext2 File System Driver для доступа к дискам Linux будет следующим:
- Загрузите установщик Ext2Fsd с сайта https://sourceforge.net/projects/ext2fsd/
- Установите драйвер, в параметрах установки как правило не требуется ничего изменять.
- По завершении установки вам будет предложено запустить Ext2 Volume Manager (менеджер томов), запустите его.
- Нажмите правой кнопкой мыши по разделу Linux ext4, ext3, ext2 и выберите пункт «Assign Drive Letter» — назначить букву диска.
- Для раздела будет автоматически назначена буква диска, и вы увидите раздел в Проводнике Windows с возможностью чтения и записи файлов на нём.
В дальнейшем вы тем же способом сможете удалить букву диска с раздела (опция «Change letter» — «Remove»).
Доступ к разделам Linux средствами Подсистемы Windows для Linux (WSL)
Подсистема Windows для Linux (WSL) также может быть использована для подключения дисков Linux в Windows таким образом, чтобы доступ к ним был возможен из проводника. Шаги будут следующими:
- Запустите командную строку, Терминал или PowerShell от имени администратора и по порядку введите команды
wsl --install wsl --set-default-version 2 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --install -d Ubuntu
- После выполнения последней команды откроется окно консоли Linux (командную строку при этом не закрывайте, она еще пригодится) с предложением настроить имя пользователя и пароль, сделайте это. Если в окне консоли вы увидите сообщение об ошибке, скачайте и установите обновление WSL, перезагрузите компьютер и запустите Ubuntu из меню «Пуск».
- В консоли Ubuntu введите команду
sudo mkdir -p /mnt/ext-drives/
для создания папки, к которой будут монтироваться диски.
- В консоли Windows (командная строка, терминал, Powershell) введите команду
wmic diskdrive list brief
- Обратите внимание на DeviceID диска, который нужно подключить и введите команду (так же в консоли Windows) указав соответствующий номер в имени PHYSICALDRIVE
wsl --mount \\.\PHYSICALDRIVE
- В консоли Ubuntu введите команду lsblk — это отобразит список подключенных дисков, разделов на них и их размер. В следующей команде используем имя нужного раздела для монтирования:
sudo mount /dev/sdИМЯ /mnt/ext-drives/
- После успешного выполнения всех указанных шагов вы можете зайти в Проводник Windows, выбрать пункт «Linux» в панели быстрого доступа, перейти в папку mnt\ext-drives и получить доступ к файлам на подключенном разделе Linux с возможностью записи и чтения.
В дальнейшем для отключения диска от WSL можно использовать ту же команду, которая использовалась на 5-м шаге, заменив mount на unmount.
Есть и другие программы (драйверы) для доступа к разделам Linux из Windows, но не полностью бесплатные. Среди них:
- DiskInternals Linux Reader — в бесплатной версии доступно только чтение данных с разделов.
- Paragon Linux File Systems for Windows — бесплатная работа в течение пробной версии, затем необходимо приобретать лицензию.
Всякий человек, совершающий побег из семьи Windows, некоторое время непременно будет жить на два дома, перескакивая то туда, то сюда. И если в семействе Linux относятся к такому положению вполне благосклонно, предоставляя полный доступ к разделам Windows, то Windows, наоборот, как ревнивая жена на корню пресекает все попытки добраться до своего имущества. Однако с помощью утилиты Ext2Fsd можно такое положение вещей изменить и с легкостью получить доступ к Linux-разделам.
Утилита Ext2Fsd служит для быстрого и удобного доступа к папкам и файлам, расположенным на разделах операционной системы Linux. В процессе установки программы инсталлируется специальный драйвер, обеспечивающий прозрачный доступ к томам в форматах Ext2, Ext3, Ext4. При этом linux-раздел может автоматически монтироваться при старте системы и становится, таким образом, доступным для работы из любой программы в Windows.
Для начала необходимо скачать инсталляционный файл программы и установить на свой компьютер. Программа работает в Windows 2k, XP, Vista и Win7, однако и в восьмерке при соответствующих опциях совместимости чувствует себя прекрасно. В процессе установки следует обратить внимание на одно из диалоговых окон.
Здесь верхний пункт предлагает включить опцию автоматического монтирования дисков при старте системы, что очень удобно, поэтому этот пункт лучше включить. А вот следующие два пункта лучше не активировать — они включают возможность записи на подключаемые диски, что с большой долей вероятности может привести к различным проблемам.
После установки и запуска программы перед нами появляется окно с перечнем всех разделов. Здесь мы видим таблицу, содержащую обозначение разделов, файловую систему, общее и занятое место.
Следующим действием необходимо найти раздел, который вы хотите присоединить, и сделать по нему двойной щелчок, после чего откроется дополнительное окно его свойств.
В этом окне нас интересует кнопка Mount Points, которая вызывает ещё одно диалоговое окошко, в котором следует задать букву диска и отметить галочкой пункт Create a permament MountPoint via Session Manager. Теперь последовательно закрываем всю стопку открытых диалоговых окон и собственно окно программы. После этого необходимо перезагрузить компьютер, и в файловом менеджере появляется новый диск, представляющий собой подключенный вами linux-раздел.
Теперь вы легко сможете прямо из Windows без всяких перезагрузок получить доступ ко всем своим данным, хранящимся, например, в Ubuntu. В том числе вы сможете проигрывать музыку виндовым проигрывателем, просматривать фотографии, редактировать документы и так далее. Совместная жизнь налажена!
Ext2Fsd
Время на прочтение3 мин
Количество просмотров42K
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.
Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
Когда вы находитесь в командной строке WSL / bash и хотите получить визуальный доступ к своим файлам, вы можете запустить «explorer.exe .», где находится текущий каталог, и вы получите окно проводника Windows, в котором ваши файлы Linux будут доставлены вам через сервер локальной сети plan9.
Используйте настоящие команды Linux (не CGYWIN) из Windows
Я уже писал об этом раньше, но теперь есть алиасы для функций PowerShell, которые позволяют вам использовать настоящие команды Linux изнутри Windows.
Вы можете вызвать любую команду Linux напрямую из DOS/Windows/чего угодно, просто поместив ее после WSL.exe, вот так.
C:\temp> wsl ls -la | findstr "foo"
-rwxrwxrwx 1 root root 14 Sep 27 14:26 foo.bat
C:\temp> dir | wsl grep foo
09/27/2016 02:26 PM 14 foo.bat
C:\temp> wsl ls -la > out.txt
C:\temp> wsl ls -la /proc/cpuinfo
-r--r--r-- 1 root root 0 Sep 28 11:28 /proc/cpuinfo
C:\temp> wsl ls -la "/mnt/c/Program Files"
...contents of C:\Program Files...
Исполняемые файлы Windows можно вызывать/запускать из WSL/Linux, поскольку путь к Windows находится в $PATH до Windows. Все, что вам нужно сделать, это явно вызвать его с .exe в конце. Вот как работает «Explorer.exe.». Вы также можете сделать notepad.exe или любой другой файл.
Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
Вы можете запустить «code.», находясь в папке в WSL, и вам будет предложено установить расширения VS Remote.. Это эффективно разделяет Visual Studio Code пополам и запускает «headless» VS Code Server в Linux с клиентом VS Code в мире Windows.
Вам также необходимо установить Visual Studio Code и расширение Remote — WSL. При желании, установите бета-версию Windows Terminal для лучшего опыта работы с терминалом в Windows.
Вот отличная подборка статей из блога Windows Command Line.
- Часть 1 Поднимите опыт разработки Linux под Windows на новый уровень с помощью WSL и Visual Studio Code Remote.
- Часть 2 Углубленное руководство по разработке Linux для Windows с WSL и Visual Studio Code
- Часть 3 Советы и рекомендации по разработке Linux с использованием WSL и Visual Studio Code
Вот преимущества WSL 2
- Виртуальные машины являются ресурсоемкими и создают очень независимый опыт.
- Исходный WSL был очень «подключенным», но имел довольно низкую производительность по сравнению с VM.
- WSL 2 предлагает гибридный подход с облегченными VM, полностью подключенным интерфейсом и высокой производительностью.
Запуск нескольких Linux в считанные секунды
Здесь я использую «wsl —list —all», и в моей системе уже есть три Linux.
C:\Users\scott>wsl --list --all
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)
Ubuntu-16.04
Pengwin
Я могу легко запустить их, а также назначить профили, чтобы они появлялись в моем Windows Terminal.
Запустите X Windows Server под Windows с Pengwin
Pengwin — это специальный Linux-дистрибутив WSL, который очень крут. Вы можете получить его в Windows Store. Объедините Pengwin с X Server, например X410, и вы получите очень классную интегрированную систему.
Простое перемещение дистрибутивов WSL между системами Windows.
Ana Betts отмечает эту замечательную технику, с помощью которой вы можете легко перенести свой идеальный дистрибутив WSL2 с одной машины на n машин.
wsl --export MyDistro ./distro.tar
# разместите его где-нибудь, Dropbox, Onedrive, где-то еще
mkdir ~/AppData/Local/MyDistro
wsl --import MyDistro ~/AppData/Local/MyDistro ./distro.tar --version 2
Вот и все. Получите идеальную настройку Linux, синхронизированную на всех ваших системах.
Используйте провайдер учетных данных Windows Git внутри WSL
Все перечисленные фичи переткают в кульминацию в этом крутом посте от Ana Betts, где она интегрирует Windows Git Credential Provider в WSL, превращая /usr/bin/git-credential-manager в сценарий оболочки, который вызывает диспетчер git creds Windows. Гениально. Это было бы возможно только при условии чистой и тесной интеграции.
Пробуйте, устанавливайте WSL, Windows Terminal, и создавайте блестящую среду Linux на Windows..
Свежая инсайдерская сборка Windows 10 с индексом «20211» позволяет монтировать физические диски внутри WSL 2, тем самым открывая возможность получить доступ к файловым системам, не поддерживающимся Windows нативно (например, ext4). Если вы используете две системы параллельно на разных дисках, то теперь вы сможете получать доступ к файлам Linux из под Windows.
Подготовка
Для монтирования диска, необходимо открыть PowerShell с привилегиями администратора и выполнить следующую команду:
wsl —mount <Путь к диску>
Для отображения всех доступных дисков надо выполнить:
wmic diskdrive list brief
Демонтировать диск из WSL 2 можно командой
wsl —unmount <Путь к диску>
Пути к дискам можно узнать в колонке DeviceID. Обычно он представлен в виде \\.\\\.\PHYSICALDRIVE*.
Доступ к файлам через «Проводник»
Как только диск смонтирован, к нему можно получить доступ через «Проводник», перейдя по пути \wsl$ и смонтировав папку.
Ограничения
По стандарту wsl —mount пытается смонтировать диск как ext4. Для того, чтобы указать другую файловую систему, необходимо использовать команду
wsl —mount <Путь к диску> -t <Тип файловой системы>
Список всех доступных файловых систем можно узнать, введя
cat /proc/filesystems
Также важно отметить, что только целые физические диски могут быть смонтированы в WSL 2. На текущий момент невозможно присоединить только один раздел. Кроме того, хотя и есть поддержка дисков USB, устройства USB Flash не могут подключаться к WSL 2.
Внимание: Это перевод статьи из блога Microsoft.