Sdílet prostřednictvím


Připojení disku s Linuxem ve WSL 2

Pokud chcete získat přístup k formátu disku s Linuxem, který windows nepodporuje, můžete disk připojit pomocí WSL 2 a získat přístup k jeho obsahu. Tento kurz se zabývá postupem identifikace disku a oddílu pro připojení k WSL2, jejich připojení a přístupu k nim.

Pokud připojujete externí disk a nemáte úspěch s těmito instrukcemi k připojení a montáži, možná budete chtít vyzkoušet pokyny pro Připojení zařízení USB. Příkaz wsl --mount v současné době nepodporuje čtečky karet USB/flash/SD (další informace o tomto problému).

Poznámka

Přístup správce je nutný k připojení disku k WSL 2. Příkaz WSL 2 wsl --mount nepodporuje připojení disku (nebo oddílů, které patří k disku), které se právě používají. wsl --mount vždy připojí celý disk i v případě, že je požadován pouze oddíl. Instalační disk s Windows nejde připojit.

Požadavky

Budete muset být ve Windows 11 nebo používat verzi WSL z Microsoft Storu. Pokud chcete zkontrolovat verzi WSL a Windows, použijte příkaz: wsl.exe --version

Rozdíly mezi připojením externí jednotky s formátováním Windows a linuxovým formátováním

Externí jednotky formátované pro Windows obvykle používají formátování systému souborů NTFS. Externí jednotky formátované pro Linux obvykle používají formátování systému souborů Ext4.

Pokud jste připojili jednotku ve formátu NTFS do systému souborů Windows, můžete k této jednotce přistupovat z distribuce Linuxu pomocí WSL vytvořením připojeného adresáře (sudo mkdir /mnt/dnahrazením d písmenem jednotky, které chcete použít) a potom pomocí drvfs modulu plug-in spolupráce systému souborů pomocí příkazu:

sudo mount -t drvfs D: /mnt/d

Další informace o instalačních scénářích.

Pokud máte jednotku s formátováním Ext4, nemůžete ji připojit do systému souborů Windows. Pokud chcete připojit jednotku ve formátu Ext4 k distribuci Linuxu pomocí WSL, můžete použít příkaz wsl --mount podle následujících pokynů.

Připojení nedílného disku

Pokud máte disk, který nemá žádné oddíly, můžete ho připojit přímo pomocí příkazu wsl --mount. Nejprve je potřeba disk identifikovat.

  1. Identifikace disku – seznam dostupných disků ve Windows zobrazíte spuštěním následujícího příkazu:

    Get-CimInstance -Query "SELECT * from Win32_DiskDrive"
    

    Cesty k diskům jsou k dispozici ve sloupcích DeviceID. Obvykle pod formátem \\.\PHYSICALDRIVE*.

  2. připojit disk – pomocí PowerShellu můžete disk připojit pomocí cesty k disku zjištěné výše, spusťte:

    wsl.exe --mount <Disk>
    

    Připojení jednotky ve systému WSL

Připojení děleného disku

Pokud máte disk, který si nejste jistí, v jakém formátu souboru je nebo jaké oddíly má, můžete ho připojit pomocí následujícího postupu.

  1. Identifikace disku – seznam dostupných disků ve Windows zobrazíte spuštěním následujícího příkazu:

    Get-CimInstance -Query "SELECT * from Win32_DiskDrive"
    

    Cesty k diskům jsou k dispozici ve sloupcích DeviceID. Obvykle pod formátem \\.\PHYSICALDRIVE*.

  2. Vypsat a vybrat oddíly pro připojení ve WSL 2 – Jakmile je disk identifikován, spusťte:

    wsl.exe --mount <Disk> --bare
    

    Tím se disk zpřístupní ve WSL 2. V případě našeho příkladu je <Disk>\\.\PHYSICALDRIVE*.

  3. Po připojení lze oddíl zobrazit spuštěním následujícího příkazu v WSL 2.

    lsblk
    

    Zobrazí se dostupná bloková zařízení a jejich oddíly.

V Linuxu se blokové zařízení identifikuje jako /dev/<Device><Partition>. Například /dev/sdb3, je počet 3 oddílů disku sdb.

Příklad výstupu:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   0    1G  0 disk
├─sdb2   8:18   0   50M  0 part
├─sdb3   8:19   0  873M  0 part
└─sdb1   8:17   0  100M  0 part
sdc      8:32   0  256G  0 disk /
sda      8:0    0  256G  0 disk

Identifikace typu systému souborů

Pokud neznáte typ systému souborů disku nebo oddílu, můžete použít tento příkaz:

blkid <BlockDevice>

Tím se vypíše zjištěný typ systému souborů (ve formátu TYPE="<Filesystem>").

Připojte vybrané oddíly

Jakmile identifikujete oddíly, které chcete připojit, spusťte tento příkaz na každém oddílu:

wsl.exe --mount <Disk> --partition <Index> --type <Type>

Poznámka

Pokud chcete připojit celý disk jako jeden svazek (tj. pokud disk není rozdělený na oddíly), --partition je možné vynechat.

Pokud --type tento parametr vynecháte, výchozí typ systému souborů je ext4.

Přístup k obsahu disku

Po připojení je možné získat přístup k disku pod cestou, na kterou odkazuje hodnota konfigurace: automount.root. Výchozí hodnota je /mnt/wsl.

Z Windows se k disku dostanete z Průzkumníka souborů tak, že přejdete na: \\wsl$\<Distro>\<Mountpoint> (vyberte libovolnou distribuci Linuxu).

Odpojte disk

Pokud chcete odebrat a odpojit disk od WSL 2, spusťte:

wsl.exe --unmount [DiskPath]

Připojení virtuálního pevného disku ve WSL

Poznámka

WSL z Microsoft Storu zavádí nový argument pro přímé připojení virtuálního pevného disku: wsl --mount --vhd <pathToVHD>

Soubory virtuálního pevného disku (VHD) můžete také připojit do WSL pomocí wsl --mount. K tomu musíte nejprve připojit virtuální pevný disk do Windows pomocí příkazu Mount-VHD ve Windows. Nezapomeňte spustit tento příkaz s oprávněními správce. Níže uvádíme příklad použití tohoto příkazu a také výstup, který obsahuje cestu k disku. Nezapomeňte nahradit <pathToVHD> skutečnou cestou virtuálního pevného disku.

Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"

Pomocí výše uvedeného výstupu můžete získat cestu k disku pro tento virtuální pevný disk a připojit ho k WSL podle pokynů v předchozí části.

Tuto techniku můžete použít také k připojení a interakci s virtuálními pevnými disky jiných distribucí WSL, protože každá distribuce WSL 2 je uložena prostřednictvím souboru virtuálního pevného disku s názvem: ext4.vhdx. Ve výchozím nastavení jsou virtuální pevné disky pro distribuce WSL 2 uloženy v této cestě: %LocalAppData%\Packages\[distro]\LocalState\[distroPackageName], postupujte opatrně při přístupu k těmto systémovým souborům, jedná se o výkonný pracovní postup uživatele. Před interakcí s tímto diskem nezapomeňte spustit wsl --shutdown, abyste měli jistotu, že se disk nepoužívá.

připojení virtuálního pevného disku WSL

Referenční příručka příkazového řádku

Připojení konkrétního systému souborů

Ve výchozím nastavení se WSL 2 pokusí připojit zařízení jako ext4. Pokud chcete zadat jiný systém souborů, spusťte:

wsl.exe --mount <Disk> --type <Type>

Pokud chcete například připojit disk jako FAT, spusťte:

wsl.exe --mount <Disk> --type vfat

Poznámka

Seznam dostupných systémů souborů ve WSL2 zobrazíte spuštěním následujícího příkazu:

cat /proc/filesystems

Pokud je disk připojený přes WSL2 (linuxový systém souborů), není již k dispozici pro připojení prostřednictvím ovladače ext4 v systému souborů Windows.

Připojení konkrétního oddílu

Ve výchozím nastavení se WSL 2 pokusí připojit celý disk. Pokud chcete připojit konkrétní oddíl, spusťte:

wsl.exe --mount <Disk> --partition <Index>

Funguje to jenom v případě, že je disk MBR (hlavní spouštěcí záznam) nebo GPT (tabulka oddílů GUID). Přečtěte si o stylech oddílů – MBR a GPT.

Určení možností připojení

Pokud chcete zadat možnosti připojení, spusťte:

wsl.exe --mount <Disk> --options <Options>

Příklad:

wsl.exe --mount <Disk> --options "data=ordered"

Poznámka

V tuto chvíli se podporují jenom specifické možnosti systému souborů. Obecné možnosti, například ro, rw,... noatime nejsou podporovány.

Připojení disku bez připojení k systému

Pokud schéma disku není podporováno žádnou z výše uvedených možností, můžete disk připojit k WSL 2, aniž byste ho připojili do systému, spuštěním:

wsl.exe --mount <Disk> --bare

Tím se blokové zařízení zpřístupní uvnitř WSL 2, aby bylo možné ho připojit ručně odsud. Pomocí lsblk zobrazíte seznam dostupných blokových zařízení uvnitř WSL 2.

Specifikace názvu připojení

Poznámka

Tato možnost je dostupná pouze u WSL z Microsoft Storu

Ve výchozím nastavení se název přípojné body generuje na základě názvu fyzického disku nebo virtuálního pevného disku. To lze přepsat pomocí --name.

wsl.exe --mount <Disk> --name <Name>

Příklad:

wsl.exe --mount <Disk> --name myDisk

Odpojení disku

Pokud chcete odpojit disk od WSL 2, spusťte:

wsl.exe --unmount [DiskPath]

Pokud Diskpath vynecháte, všechny připojené disky se odpojí a odmontují.

Poznámka

Pokud se jeden disk nepodaří odpojit, lze WSL 2 nuceně ukončit spuštěním wsl --shutdown, který disk odpojí.

Omezení

  • V tuto chvíli lze k WSL 2 připojit pouze celé disky, což znamená, že není možné připojit pouze oddíl. Konkrétně to znamená, že není možné použít wsl --mount ke čtení oddílu na spouštěcím zařízení, protože toto zařízení se nedá odpojit od Windows.

  • Pomocí wsl --mountlze připojit pouze systémy souborů, které jsou nativně podporovány v jádru. To znamená, že není možné použít nainstalované ovladače systému souborů (například ntfs-3g) voláním wsl --mount.

  • Systémy souborů, které jádro přímo nepodporuje, je možné připojit pomocí --bare a následným vyvoláním příslušného ovladače FUSE.