ネットワーク・USB・相互アクセス
Windows⇔WSL のファイル/ネットワーク連携、USB 機器のアタッチ手順です。
# Windows 側から Linux のファイルへ(エクスプローラーのアドレス欄に入力) \\wsl$\Ubuntu-24.04 # もしくは \\wsl.localhost\Ubuntu-24.04 # Linux 側から Windows のドライブへ(既定で /mnt にマウント) ls /mnt/c/Users # C: ドライブ # ※ 高速な I/O が必要な作業ファイルは Linux 側(ext4, 例: ~/work)に置く # (/mnt/c 越しのアクセスは低速になりやすい)
WSL2 は既定で USB デバイスを認識しません。Windows 側に usbipd-win を入れ、デバイスを WSL へ「アタッチ」します。
# ① Windows 側(管理者 PowerShell)に usbipd-win を導入 winget install usbipd # ② 接続中の USB デバイス一覧と BUSID を確認 usbipd list # ③ 対象デバイスを共有可能にする(初回のみ・管理者) usbipd bind --busid 2-4 # ④ WSL へアタッチ(WSL 起動中に実行) usbipd attach --wsl --busid 2-4 # ⑤ Linux 側で認識を確認(例: シリアルなら /dev/ttyUSB0) # dmesg | tail , lsusb , ls /dev/ttyUSB* # 使い終わったら切り離す usbipd detach --busid 2-4
・GUI Linux アプリはそのまま起動でき、Windows のウィンドウとして表示されます(WSLg)。
・Docker Desktop は WSL2 バックエンドと連携して動作します(Linux コンテナをネイティブ性能で実行)。
・GPU 演算(CUDA 等)は対応 GPU ドライバ導入で WSL2 から利用できます。