Jika Anda ingin mengakses format disk Linux yang tidak didukung oleh Windows, Anda dapat menggunakan WSL 2 untuk memasang disk Anda dan mengakses kontennya. Tutorial ini akan membahas langkah-langkah untuk mengidentifikasi disk dan partisi untuk dilampirkan ke WSL2, cara memasangnya, dan cara mengaksesnya.
Jika Anda menyambungkan drive eksternal dan tidak berhasil dengan instruksi pemasangan ini, Anda mungkin ingin mencoba instruksi untuk Menyambungkan perangkat USB. Perintah wsl --mount saat ini tidak mendukung usb/flash drive/pembaca kartu SD, (pelajari lebih lanjut tentang masalah ini).
Catatan
Akses administrator diperlukan untuk melampirkan disk ke WSL 2.
Perintah WSL 2 mount tidak mendukung pemasangan disk (atau partisi milik disk) yang saat ini sedang digunakan. wsl --mount selalu melampirkan seluruh disk meskipun hanya partisi yang diminta. Anda tidak dapat memasang disk penginstalan Windows.
Prasyarat
Anda harus menggunakan Windows 11 Build 22000 atau yang lebih baru, atau menjalankan WSL versi Microsoft Store. Untuk memeriksa versi WSL dan Windows Anda, gunakan perintah : wsl.exe --version
Perbedaan antara pemasangan drive eksternal dengan pemformatan Windows versus pemformatan Linux
Drive eksternal yang diformat untuk Windows biasanya menggunakan pemformatan sistem file NTFS. Drive eksternal yang diformat untuk Linux biasanya menggunakan pemformatan sistem file Ext4.
Jika Anda telah memasang drive berformat NTFS pada sistem file Windows, Anda dapat mengakses drive tersebut dari distribusi Linux menggunakan WSL dengan membuat direktori yang dipasang (sudo mkdir /mnt/d, mengganti 'd' dengan huruf drive apa pun yang ingin Anda gunakan) dan kemudian menggunakan drvfs plugin interop sistem file, dengan perintah:
Jika Anda memiliki drive berformat Ext4, Anda tidak dapat memasangnya pada sistem file Windows Anda. Untuk memasang drive berformat Ext4 pada distribusi Linux Anda dengan WSL, Anda dapat menggunakan wsl --mount perintah mengikuti instruksi di bawah ini.
Memasang disk yang tidak dipartisi
Jika Anda memiliki disk yang tidak memiliki partisi apa pun, Anda dapat memasangnya secara langsung menggunakan wsl --mount perintah . Pertama, Anda perlu mengidentifikasi disk.
Identifikasi disk - Untuk mencantumkan disk yang tersedia di Windows, jalankan:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
Jalur disk tersedia di bawah kolom 'DeviceID'. Biasanya dalam \\.\PHYSICALDRIVE* format .
Pasang disk - Menggunakan PowerShell, Anda dapat memasang disk menggunakan jalur Disk yang ditemukan di atas, jalankan:
wsl --mount <DiskPath>
Memasang disk yang dipartisi
Jika Anda memiliki disk yang tidak yakin format filenya, atau partisi apa yang dimilikinya, Anda dapat mengikuti langkah-langkah di bawah ini untuk memasangnya.
Identifikasi disk - Untuk mencantumkan disk yang tersedia di Windows, jalankan:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
Jalur disk dicantumkan setelah 'DeviceID', biasanya dalam \\.\PHYSICALDRIVE* format .
Daftar dan pilih partisi yang akan dipasang di WSL 2 - Setelah disk diidentifikasi, jalankan:
wsl --mount <DiskPath> --bare
Ini akan membuat disk tersedia di WSL 2. (Dalam kasus contoh kami, <DiskPath> adalah \\.\PHYSICALDRIVE*.
Setelah dilampirkan, partisi dapat dicantumkan dengan menjalankan perintah berikut di dalam WSL 2:
lsblk
Ini akan menampilkan perangkat blok yang tersedia dan partisinya.
Di dalam Linux, perangkat blok diidentifikasi sebagai /dev/<Device><Partition>. Misalnya, /dev/sdb3, adalah nomor partisi 3 disk sdb.
Contoh output:
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
Mengidentifikasi jenis sistem file
Jika Anda tidak mengetahui jenis sistem file disk atau partisi, Anda dapat menggunakan perintah ini:
blkid <BlockDevice>
Ini akan menghasilkan jenis sistem file yang terdeteksi (dalam TYPE="<Filesystem>" format ).
Memasang partisi yang dipilih
Setelah Anda mengidentifikasi partisi yang ingin Anda pasang, jalankan perintah ini pada setiap partisi:
Jika Anda ingin memasang seluruh disk sebagai volume tunggal (yaitu jika disk tidak dipartisi), --partition dapat dihilangkan.
Jika dihilangkan, jenis sistem file default adalah "ext4".
Mengakses konten disk
Setelah dipasang, disk dapat diakses di bawah jalur yang ditujukkan oleh nilai konfigurasi: automount.root. Nilai defaultnya adalah /mnt/wsl.
Dari Windows, disk dapat diakses dari File Explorer dengan menavigasi ke: \\wsl$\<Distro>\<Mountpoint> (pilih distribusi Linux apa pun).
Lepaskan disk
Jika Anda ingin melepas dan melepaskan disk dari WSL 2, jalankan:
wsl --unmount <DiskPath>
Memasang VHD di WSL
Catatan
WSL dari Microsoft Store memperkenalkan argumen baru untuk memasang VHD secara langsung: wsl --mount --vhd <pathToVHD>
Anda juga dapat memasang file hard disk virtual (VHD) ke WSL menggunakan wsl --mount. Untuk melakukan ini, Pertama-tama Anda perlu memasang VHD ke Windows menggunakan Mount-VHD perintah di Windows. Pastikan untuk menjalankan perintah ini dengan hak istimewa administrator. Di bawah ini adalah contoh di mana kita menggunakan perintah ini, dan juga menghasilkan jalur disk. Pastikan untuk mengganti <pathToVHD> dengan jalur VHD Anda yang sebenarnya.
Anda dapat menggunakan output di atas untuk mendapatkan jalur disk untuk VHD ini dan memasangnya ke WSL mengikuti instruksi di bagian sebelumnya.
Anda juga dapat menggunakan teknik ini untuk memasang dan berinteraksi dengan hard disk virtual distro WSL lainnya, karena setiap distro WSL 2 disimpan melalui file hard disk virtual yang disebut: ext4.vhdx. Secara default VHD untuk distro WSL 2 disimpan di jalur ini: C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName], harap berhati-hati mengakses file sistem ini, ini adalah alur kerja pengguna daya. Pastikan untuk berjalan wsl --shutdown sebelum berinteraksi dengan disk ini untuk memastikan disk tidak digunakan.
Referensi baris perintah
Memasang sistem file tertentu
Secara default, WSL 2 akan mencoba memasang perangkat sebagai ext4. Untuk menentukan sistem file lain, jalankan:
wsl --mount <DiskPath> -t <FileSystem>
Misalnya, untuk memasang disk sebagai lemak, jalankan:
wsl --mount <Diskpath> -t vfat
Catatan
Untuk mencantumkan sistem file yang tersedia di WSL2, jalankan: cat /proc/filesystems
Ketika disk telah dipasang melalui WSL2 (sistem file Linux), disk tidak lagi tersedia untuk dipasang melalui driver ext4 pada sistem file Windows.
Memasang partisi tertentu
Secara default, WSL 2 mencoba memasang seluruh disk. Untuk memasang partisi tertentu, jalankan:
Hanya opsi spesifik sistem file yang didukung saat ini. Opsi generik seperti ro, rw, noatime, ... tidak didukung.
Memasang disk tanpa memasangnya
Jika skema disk tidak didukung oleh salah satu opsi di atas, Anda dapat melampirkan disk ke WSL 2 tanpa memasangnya dengan menjalankan:
wsl --mount <DiskPath> --bare
Ini akan membuat perangkat blok tersedia di dalam WSL 2 sehingga dapat dipasang secara manual dari sana. Gunakan lsblk untuk mencantumkan perangkat blok yang tersedia di dalam WSL 2.
Secara default nama mountpoint dihasilkan berdasarkan disk fisik atau nama VHD. Ini dapat ditimpa dengan --name. Contoh:
wsl --mount <DiskPath> --name myDisk
Melepas disk
Untuk melepaskan disk dari WSL 2, jalankan:
wsl --unmount [DiskPath]
Jika Diskpath dihilangkan, semua disk yang terpasang dilepas dan dilepas.
Catatan
Jika satu disk gagal dilepas, WSL 2 dapat dipaksa keluar dengan menjalankan wsl --shutdown, yang akan melepaskan disk.
Batasan
Saat ini, hanya seluruh disk yang dapat dilampirkan ke WSL 2, yang berarti bahwa tidak mungkin untuk melampirkan hanya partisi. Secara konkret, ini berarti bahwa tidak mungkin untuk menggunakan wsl --mount untuk membaca partisi pada perangkat boot, karena perangkat tersebut tidak dapat dilepas dari Windows.
Hanya sistem file yang didukung secara asli di kernel yang dapat dipasang oleh wsl --mount. Ini berarti bahwa tidak mungkin untuk menggunakan driver sistem file yang diinstal (seperti ntfs-3g misalnya) dengan memanggil wsl --mount.
Sistem file yang tidak didukung langsung oleh kernel dapat dipasang melalui --bare lampiran dan kemudian memanggil driver FUSE yang relevan.
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Umpan balik Windows Subsystem for Linux
Windows Subsystem for Linux adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Dalam modul ini, Anda mempelajari cara menggunakan Subsistem Windows untuk Linux (WSL) dengan Visual Studio Code (VS Code). Kami menjelajahi proses penginstalan dan dasar-dasar penggunaan WSL. Selain itu, kami menginstal dan menggunakan ekstensi Visual Studio Code WSL. Terakhir, kami menunjukkan cara men-debug dan menjalankan kode Python di Visual Studio Code dalam lingkungan WSL kami.