kledgeb UbuntuやLinuxの最新情報を紹介

WSL その227 - WSL 2にUSBデバイスを接続し、LinuxディストリビューションからUSBデバイスにアクセスするには

WSL 2にUSBデバイスを接続するには

2021年11月4日、「WSL 2」にUSBデバイスを接続する方法が紹介されています。


  • Connecting USB devices to WSL

LinuxディストリビューションからUSBデバイスにアクセス可能に

「WSL 2」上で動作するLinuxディストリビューションからUSBデバイスにアクセスできるようになります。

WSL 2に標準搭載された機能ではない

このUSBデバイスのパススルー機能は、現時点で「WSL 2」に標準搭載された機能ではありません。
そのためLinuxディストリビューションからUSBデバイスにアクセスできるようにするためには、ユーザーによる事前準備や追加作業が必要になります。
ここではそれらの作業の概要を紹介します。
作業内容の詳細は上記リンク先を参照してください。

事前準備

事前準備です。

1.システムの確認

まずシステムが以下のようになっているか確認します。

  1. Windows 11を利用していること
  2. WSLのアップデートをすべて適用していること
  3. WSL 2上でLinuxディストリビューションを実行していること
  4. WSLのLinux kernelのバージョンが5.10.60.1以降になっていること

「4.」の「Linux kernel」のバージョンは、以下のコマンドをLinux上で実行すれば分かります。

uname -a

2.usbipd-winのインストール

以下から最新版の「usbipd-win」をダウンロードし、「Windows」上で「usbipd-win」をインストールします。

  • usbipd-win

3.USB/IPツールとハードウェアデータベースのインストール

「Linux」上で「linux-tools-5.4.0-77-generic」パッケージと「hwdata」パッケージをインストールします。
「Ubuntu」を利用している場合、以下のコマンドを実行します。

sudo apt install linux-tools-5.4.0-77-generic hwdata

4.sudoersファイルの編集

「root」から「usbip」コマンドを見つけられるように、「/etc/sudoers」ファイルを編集します。
「Ubuntu」を利用している場合、まず以下のコマンドを実行します。

sudo visudo

次に「secure_path」の最初に「/usr/lib/linux-tools/5.4.0-77-generic」を追加します。
以下のような記述になります。

Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:(以下略)

以上で準備完了です。
これで「WSL 2」上で動作しているLinuxディストリビューションにUSBデバイスを接続できるようになります。

USBデバイスを接続するには

「WSL 2」上で動作しているLinuxディストリビューションにUSBデバイスを接続します。

1.WSL 2の仮想マシンの起動

Linuxディストリビューションを起動し、「WSL 2」の仮想マシンが起動している状態にします。

2.USBデバイスの列挙と特定

「Windows」に接続されているUSBデバイスを列挙し、その中からLinuxディストリビューションに接続したいUSBデバイスを特定します。
コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。

usbipd wsl list

USBデバイスの一覧が表示されるので、Linuxディストリビューションに接続したいUSBデバイスのバスIDを覚えておきます。

3.USBデバイスの接続

続いて以下のコマンドを実行します。

usbipd wsl attach --busid バスID

このコマンド実行後「WSL」で「sudo」コマンドを実行するためにパスワードの入力が促されます。

4.USBデバイスの接続確認

Linuxディストリビューション側で以下のコマンドを実行し、USBデバイスが接続されているか確認します。

lsusb

非rootユーザーから接続されたUSBデバイスにアクセスする場合、udevルールの設定が必要になるケースがあります。

USBデバイスを切断するには

「WSL 2」からUSBデバイスを切断する方法です。
以下の2種類の方法があります。

1.物理的にUSBデバイスを切断する

「Windows」に接続されているUSBデバイスを物理的に切断(取り外す)します。

2.WSLからUSBデバイスを切断する

コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。

usbipd wsl detach --busid バスID

動作の仕組み

このUSBデバイスのパススルー機能は「USB/IP protocol」を活用し、「Windows」と「WSL」間で仮想ネットワークインターフェースを介してUSBトラフィックを転送することで実現しています。

  • USB/IP protocol

「USB/IP protocol」の機能は以前から「Linux kernel」に実装されている機能ですが、「WSL」向け「Linux kernel」に行われた修正により、「WSL」でも簡単にこの機能を利用できるようになりました。

1.USB/IPのサポート

「WSL」向け「Linux kernel」で「USB/IP」をサポートする構成オプションが有効になりました。

2.usbipd-winによるUSB/IPのサポート

「USB/IP」を介してデバイスを接続する仕組みは「Linux(クライアント)」側にはすでに存在しています。
しかし「Windows」側にはこれの対になる「USB/IP」サーバーのサポートがありません。
「usbipd-win」はこの部分を補完します。

スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション