Windows Subsystem for Linux (WSL) предоставляет ряд удобных возможности подключения физических, виртуальных и сетевых дисков. По умолчанию в среде wsl в каталог
/mnt/
монтируются все логические диски, которые доступны в Windows. Кроме того, вы можете прямо из проводника Windows обратиться к файловой системе WSL по UNC пути
\\wsl$\
(например,
\\wsl$\ubuntu\etc\
).
В этой статье мы рассмотрим, как смонтировать различные типы дисков в среде WSL.
Содержание:
- Монтирование физических дисков Windows Subsystem for Linux 2
- Как подключить (смонтировать) сетевой диск в WSL
- Смонтировать виртуальный VHD/VHDX диск в WSL
Монтирование физических дисков Windows Subsystem for Linux 2
Новая версия Windows Subsystem for Linux (WSL 2) позволяет монтировать физические диски, или отдельные разделы с файловыми системами, которые не поддерживаются в Windows (список поддерживаемых файловых систем содержится в файле
/proc/filesystems
).
Например, у вас есть физический на которым созданы разделы с файловой системой диск ext4, и вы хотите получить к нему доступ из WSL и Windows.
Обновите свою версию WSL 2, прежде чем двигаться дальше:
wsl --update
Теперь нужно вывести список доступных дисковых устройств в Windows:
wmic diskdrive list brief
В этом примере к компьютеру подключены два физических диска.
Можно смонтировать в WSL диск целиком:
wsl --mount \\.\PHYSICALDRIVE2
Или только определенный раздел:
wsl --mount \\.\PHYSICALDRIVE2 --partition 1
Раздел физического диска был успешно смонтирован в директорию /mnt/wsl/PHYSICALDRIVE2p1.
Вы можете получить доступ к файлам на этом разделе из Windows по UNC пути
\\wsl$\ubuntu\mnt\wsl\PHYSICALDRIVE2p1
.
Проверьте, что раздел диска с файловой системой ext4 доступен в WSL:
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
Чтобы отмонтировать диск, выполните:
wsl --umount \\.\PHYSICALDRIVE2 --partition 1
Для автоматического монтирования раздела физического диска при входе пользователя в Windows, создайте с помощью PowerShell простое задание планировщика:
$TaskName="WSL_Mount"
$Trigger= New-ScheduledTaskTrigger -AtLogOn
$Action= New-ScheduledTaskAction -Execute "cmd" -Argument "/c wsl --mount \\.\PHYSICALDRIVE2 --partition 1"
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -Action $Action -RunLevel Highest –Force
На данный момент WSL не поддерживает монтирование USB накопителей и SD карт. Для проброса USB накопителей в WSL рекомендуется использовать пакет usbipd-win, который позволяет реализовать проброс устройств с помощью протокола USB over IP.
Как подключить (смонтировать) сетевой диск в WSL
Из WSL вы можете получить доступ к общим сетевым папкам или NAS устройствам.
Есть два способа подключения сетевых дисков в WSL:
- Можно смонтировать сетевой диск, подключенный в Windows и которому назначена буква диска
- Смонитировать сетевую папку по UNC пути с помощью CIFS/SMB клиента в WSL.
Допустим, вы подключили сетевую папку в виде диска с помощью команды net.exe use X: \\192.168.31.102\tools или подключили сетевой диск через GPO. Чтобы получить доступ к этому сетевому диску из WSL нужно:
- Создать точку монтирования:
$ sudo mkdir /mnt/x
- Смонтировать диск:
$ sudo mount -t drvfs X: /mnt/x
- Теперь вы можете получить доступ к файлам и папкам на сетевом диске.
Чтобы автоматически монтировать этот сетевой диск, добавьте следующую строку в /etc/fstab:
X: /mnt/x drvfs defaults 0 0
Затем смонтируйте все файловые системы:
$ mount -a
Также можно смонтировать сетевые папки через пакет CIFS:
$ sudo apt install cifs-utils
$ sudo mount -t cifs -o user={user},pass={password},iocharset=utf8,vers=3.0 //192.168.31.102/tools /mnt/tools
Смонтировать виртуальный VHD/VHDX диск в WSL
WSL позволяет смонтировать виртуальные диски в форматах VHD/VHDX.
Если на компьютере установлен роль или PowerShell модуль Hyper-V, вы можете создать новый виртуальный диск с помощью команды:
New-VHD -Path $env:USERPROFILE\wsl_shared_disk.vhdx -Dynamic -SizeBytes 20GB
Затем смонтируйте виртуальный VHDX диск в WSL:
wsl --mount --vhd $env:USERPROFILE\wsl_shared_disk.vhdx --bare
Теперь вы можете создать на виртуальном диске таблицу разделов и раздел с файловой системой ext4:
$ lsblk
$ sudo parted /dev/sdc print
$ sudo parted /dev/sdc mklabel msdos
$ sudo parted -a optimal /dev/sdc mkpart primary ext4 0% 100%
$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT /dev/sdc
$ sudo mkfs.ext4 /dev/sdd1
Чтобы смонтировать новый раздел в определенную директорию, нужно получить его UUID;
$ sudo blkid
$ sudo mount UUID= 506f6faa-1f50-4763-b8a1-975f2b1c59fe /home/sysops/vhdx
Этот способ позволит смонтировать виртуальные диски других сред Linux, которые установлены на этом компьютере под WSL. Файловая система образов Linux WSL хранится в виртуальных дисках ext4.vhdx в папке
C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName]
. Если на системном диске недостаточно места, можно перенести vhdx файл с файловой системой образа WSL на другой диск.
В случае, если вам потребовался доступ из 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 10 вы можете смонтировать файловую систему Linux с помощью подсистемы Windows для Linux 2, и вот как это сделать.
Команды файловой системы Linux для монтирования WSL2
Начиная со сборки 20211, подсистема Windows для Linux 2 (WSL2) включает характерную особенность позволяющую подключать и монтировать физические диски для доступа к файловым системам Linux (например, ext4), которые изначально не поддерживаются в Windows 10.
Новая функция призвана помочь вам получить доступ к файлам Linux с помощью проводника в системе с двойной загрузкой под управлением Windows 10 и дистрибутива Linux на другом диске.
В этом руководстве вы узнаете, как подключать и отключать диски с помощью подсистемы WSL2.
- Смонтировать файловую систему ext4 Linux в Windows 10
- Смонтируйте любую файловую систему Linux в Windows 10
- Доступ к файловой системе Linux в Windows 10
- Отключить файловую систему Linux в Windows 10
Смонтировать файловую систему ext4 Linux в Windows 10
Чтобы смонтировать файловую систему Linux ext4 с помощью WSL2, выполните следующие действия:
Шаг 1: с помощью меню «Пуск» или любым другим способом откройте PowerShell от имени администратора.
Шаг 2: Введите следующую команду, чтобы вывести список доступных физических дисков, и нажмите Enter:
wmic diskdrive list brief
Проверьте диск в столбце (Device ID) «Идентификатор устройства».
Шаг 3: Введите следующую команду, чтобы смонтировать файловую систему Linux, и нажмите Enter:
wsl --mount DISKPATH
В команде не забудьте заменить DISKPATH на «Идентификатор устройства» диска с дистрибутивом Linux, который вы хотите смонтировать.
Например, wsl —mount \\.\PHYSICALDRIVE2. Если вы хотите смонтировать определенный раздел, вам нужно будет использовать параметр —partition с номером раздела. Например так, wsl —mount \\.\PHYSICALDRIVE2 —partition 1.
После того, как вы выполните эти шаги, диск с файлами Linux будет смонтирован, и станет доступным в Windows 10.
Смонтируйте любую файловую систему Linux в Windows 10
В предыдущем шаге мы рассмотрели, как смонтировать физический диск ext4. Если вы хотите указать другую файловую систему, вам нужно будет использовать другую команду с подсистемой Windows для Linux 2.
Чтобы смонтировать определенную файловую систему Linux в Windows 10, выполните следующие действия:
Шаг 1: Откройте PowerShell от имени администратора.
Шаг 2: Введите следующую команду, чтобы вывести список доступных физических дисков в Windows 10, и нажмите Enter:
wmic diskdrive list brief
Шаг 3: Введите следующую команду, чтобы смонтировать нужный диск, и нажмите Enter:
wsl --mount DISKPATH -t FILESYSTEM
В команде необходимо заменить «DISKPATH» и «FILESYSTEM» на идентификатор диска и файловую систему Linux которую вы хотите монтировать.
Например, чтобы смонтировать диск, как «fat» использовать эти команды:
wsl --mount DISKPATH -t vfat
После того, как вы выполните эти шаги, диск с файлами Linux будет смонтирован, и будет доступен в проводнике Windows 10.
Доступ к файловой системе Linux в Windows 10
Чтобы получить доступ к файлам из файловой системы Linux в Windows 10, выполните следующие действия:
Шаг 1: Откройте проводник.
Шаг 2: Кликните элемент Linux на левой панели навигации.
Шаг 3: В адресной строке перейдите к папке монтирования \wsl$ и откройте ее.
Например:
\\wsl$\\DISTRO-NAME\\MOUNT-POINT
Выполнив эти шаги, вы сможете просматривать файлы Linux из файловой системы, которая изначально не поддерживается в Windows 10. Помимо использования проводника, после подключения диска вы можете получить доступ к файловым системам, таким как «ext4». Из консоли WSL2 с помощью команды.
Отключить файловую систему Linux в Windows 10
Чтобы отключить файловую систему Linux в Windows 10, выполните следующие действия.
Шаг 1: Используйте комбинацию клавиш Win + X для запуска меню WinX, затем кликните «Windows PowerShell (Администратор)».
Шаг 2: Введите следующую команду, чтобы размонтировать и отсоединить диск, и нажмите Enter :
wsl --unmount DISKPATH
В команде не забудьте заменить «DISKPATH» идентификатором устройства диска, который вы хотите отключить/ размонтировать.
После того, как вы выполните эти шаги, диск с файловой системой Linux будет отключен от Windows 10.
Примечание: на момент написания эта функция все еще находится в стадии бета-тестирования и доступна только для предварительной версии Windows 10, сборка 20211 или новее, и ожидается, что она появится в будущих выпусках операционной системы.
Свежая инсайдерская сборка 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.
(Image credit: Windows Central)
If you’re looking to try out some alternative operating systems like Linux, it’s pretty straightforward to do so on Windows 10 and 11 inside a virtual machine.
The reverse is also true. If you’re using Linux on your desktop or laptop, it’s incredibly easy to install Windows 10 inside a virtual machine giving you full access to Microsoft’s desktop OS. Though, admittedly, there are a couple of extra steps involved in most cases with Windows 11 thanks to some of its new requirements.
Here’s what you need to know about getting set up.
About this guide and installing VirtualBox
There are naturally several different Linux distros out there that look and operate a little differently from one another. Still, the steps here are fairly universal and should be suitable for a wide range.
We’ll be using VirtualBox to handle the virtual machine on Pop!_OS and Linux Mint, both of which are based on Ubuntu. VirtualBox has downloads for most major distros on its site, while some like Manjaro may need some more specific steps.
Before you begin you’ll need to download and install VirtualBox and grab the latest Windows 10 64-bit ISO or the latest Windows 11 64-bit ISO.
How to install Windows 10 and 11 in VirtualBox
Once you have VirtualBox installed on your Linux system, the setup and installation process for a Windows virtual machine takes only a matter of minutes.
All the latest news, reviews, and guides for Windows and Xbox diehards.
- Open VirtualBox.
- Click on new.
- Enter a name to identify your virtual machine, in this case Windows 10.
- Make sure the type dropdown box says Microsoft Windows.
- Make sure the version dropdown box is for Windows 10 (Windows 11 isn’t yet specified but works with Windows 10).
- Choose how much RAM you want to allow your virtual machine to use. Generally speaking, the more, the better.
- At the next screen make sure the box marked create a virtual hard disk now is checked.
- Check the VDI (VirtualBox Disk Image) box.
- Decide whether you want a dynamic or fixed hard drive for your virtual machine based on your own system and needs. Here we’re going with a fixed drive.
- Choose how much storage space you wish to allocate your virtual machine. Generally speaking the more the better, and 64GB is a good starting point if you can spare that much.
- Click create.
VirtualBox will now create the container you need to install Windows and run it as a virtual machine. Now, you’re ready to actually get into the Windows installation process.
Click the big green start in your VirtualBox window, and when the box above appears, simply select the ISO you downloaded for Windows 10 or Windows 11 as the startup disk. When you click the start button now, VirtualBox will fire up a virtual PC for you to use and will begin the Windows install process just as you might see when installing natively on a PC.
From here, you simply need to go through the Windows install process, and once everything is completed and you’re logged in, you will be staring at a fully operational Windows PC inside a window on your Linux machine. Windows 10 will install without a hitch, but there’s a good chance you need to complete some additional steps for Windows 11.
Bypassing Windows 11 installation errors
Whichever virtual machine tool you’re using to install a Windows 11 VM with on Linux there’s one thing you’re more than likely going to come up against: an error saying your PC can’t install it.
This is down to two key Windows 11 hardware requirements: TPM 2.0 and Secure Boot. Some VM software, such as VMware, can handle the Secure Boot aspect, but VirtualBox, for example, cannot. Likewise, some can inject a virtual TPM, but most, again like VirtualBox, cannot currently.
So, we’ll just tell our VM to skip those checks. When you reach the error screen, hit Shift + F10 to open a Command Prompt and enter the following two commands.
REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1
This will add the necessary instructions into the registry to skip checks for both TPM and Secure Boot. Close the Command Prompt, go back one step, then continue as normal and you’ll be able to complete the Windows 11 installation process.
Alternatives to VirtualBox
Linux being as broad as it is, there are, of course, options when it comes to virtual machine software. For the purposes of this guide, I’ve focused on VirtualBox in part because it’s just easy to set up and rarely seems to have issues.
It’s not the most elegantly designed piece of software, though, and there are certainly alternatives available. Some of those include GNOME Boxes QEMU, and Virtual Machine Manager (pictured above), though, in my experience, GNOME Boxes has been a little unreliable with Windows.
There is also a version of VMware Workstation for Linux, though this can be a bit tricky to install on some distros, and it’s not open source, which goes against what many Linux users would wish to use.
Whichever you choose, though, getting a Windows 10 or 11 virtual machine running on Linux is a relatively simple process, whatever it is you need it for.
Richard Devine is a Managing Editor at Windows Central with over a decade of experience. A former Project Manager and long-term tech addict, he joined Mobile Nations in 2011 and has been found on Android Central and iMore as well as Windows Central. Currently, you’ll find him steering the site’s coverage of all manner of PC hardware and reviews. Find him on Mastodon at mstdn.social/@richdevine