USB-laitteiden liittäminen Windows-alijärjestelmässä Linuxille Windows 11:ssä

On mahdollista liittää USB-laitteita Windows 11:n Windows Subsystem for Linuxiin ja työskennellä niiden kanssa suoraan.

Pikalinkit

  • Mikä on usbipd-win?
  • Liitä USB-laitteet Windows-alijärjestelmä Linuxille -kohtaan
  • Onko olemassa GUI-vaihtoehtoa?

Microsoft esitteli Windows-alijärjestelmä Linuxille (WSL) jokin aika sitten, mikä toi tuen Linux-sovellusten suorittamiseen suoraan Windows-asennuksesta ilman virtuaalikoneen asentamista. Koska WSL on niin monimutkainen yhteensopivuuskerros, sillä oli joitain rajoituksia. Alkuperäisessä toteutuksessa ei edes käytetty täysimittaista Linux-ydintä, joten useat sovellukset kohtasivat yhteensopivuusongelmia. Versio 2 teki paljon parannuksia, mutta jotain silti puuttui: tuki fyysisten USB-laitteiden liittämiselle.

Jos olet aktiivinen Windows-alijärjestelmän Linux-käyttäjä ja haluat käyttää USB-laitteita suoraan WSL: n alla toimivasta Linux-esiintymästä, sinun on ilo tietää, että merkittävää edistystä tällä rintamalla. Kiitos Microsoftin panoksesta avoimeen lähdekoodiin

usbipd-win -projektissa, voit nyt nauttia USB-läpiviennistä WSL: ssä. Se tarkoittaa, että loppukäyttäjät voivat suorittaa tehtäviä, kuten Android-laitteiden vilkkumista Windows-alijärjestelmässä Linuxille, joita Linux-alijärjestelmä ei muuten tue.

Mikä on usbipd-win?

Usbipd-win-projektissa on kyse ratkaisun luomisesta paikallisesti kytkettyjen USB-laitteiden jakamiseen muille koneille, mukaan lukien Hyper-V-vieraat ja WSL2. Virallisesta WSL2 Linux-ytimestä ei kuitenkaan aiemmin ollut tukea USB/IP-protokolla, joka edellyttää käyttäjien rakentavan ytimen itse.

WSL-ytimen versiosta 5.10.60.1 lähtien tarvittavat parametrit on määritetty heti, joten manuaalista uudelleenkääntämistä ei tarvita. Microsoft on myös lisännyt projektiin komentoriviliittymän, joka mahdollistaa USB-laitteen jakamisen Windowsissa ja liittää sen saumattomasti WSL: stä.

Liitä USB-laitteet Windows-alijärjestelmä Linuxille -kohtaan

Ennen kuin aloitat, varmista, että olet käynnissä Windows 11 ja olet asentanut kaikki WSL-päivitykset. Kuten aiemmin mainittiin, tarvitset WSL 2 Linux -jakelun toimiaksesi.

  1. Suorita seuraava komento WSL: stä:
    uname -a
    Jos siinä näkyy ytimen versio 5.10.60.1 tai uudempi (kuten alla näkyy), olet valmis.
    • Jos asennettu ytimen versio on vanhempi kuin 5.10.60.1, se voidaan päivittää seuraavilla komennoilla:
      wsl --shutdown
      wsl --update
  2. Siirry usbipd-win-projektin GitHub-reposoon. Sitten lataa ja asenna uusin versio.
    • Usbipd-winin uusin versio tukee hiljaista ohjaimen asennusta Windows Hardware Compatibility Program -sertifioitujen ohjaimien ansiosta. Se myös tukee Kehittäjäkanavan koontiversiot Windows 11:stä.
    • GitHubin julkaisusivun lisäksi voit asentaa ja päivittää sovelluksen käyttämällä Windowsin Package Managerin CLI (alias winget).
      winget install--interactive --exact dorssel.usbipd-win
  3. Asenna USB/IP: n käyttäjäavaruustyökalut ja USB-laitteistotunnisteiden tietokanta. Jos käytät Ubuntua WSL: llä, suorita seuraavat komennot:
    sudo apt install linux-tools-virtual hwdata
    sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
    • Voit valita erilaisia ​​metapaketteja (esim. linux-tools-generic) myös asennetusta jakelusta riippuen. Saatat kuitenkin joutua säätämään polkumuuttujaa seuraavassa vaiheessa metapaketin versionumeron mukaan.
    • Katso muiden distrojen osalta kyseisen paketinhallintatyökalun dokumentaatio.
  4. Jos symbolinen linkki on luotu käyttämällä update-alternatives edellisen vaiheen komento ei toiminut sinulle, voit muokata sudo-asetuksia manuaalisesti, jotta pääkäyttäjä voi löytää usbip komento. Voit tehdä tämän muokkaamalla /etc/sudoers tiedostoa käyttämällä sudo visudo ja lisää /usr/lib/linux-tools/-generic alkuun asti secure_path. Sen pitäisi näyttää seuraavalta:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  5. Avaa uusi pääte-esiintymä järjestelmänvalvojana ja kirjoita seuraava komento listataksesi kaikki Windowsiin liitetyt USB-laitteet.
    usbipd wsl list
  6. Kirjoita muistiin sen USB-laitteen BUSID-arvo, jonka haluat liittää WSL: ään. Suorita seuraavaksi seuraava komento aloittaaksesi liiteprosessin. WSL pyytää sinua antamaan salasanan sudo-komennon suorittamiseksi.
    usbipd wsl attach --busid <busid>
    Esimerkiksi tässä liitämme Android-laitteen Fastboot-liittymän WSL: ään isäntä Windows 11 -esiintymästä:
  7. Avaa nyt uusi WSL 2 -esiintymä ja suorita lsusb -komento nähdäksesi käytettävissä olevat USB-laitteet. Sen pitäisi luetella liitetyt laitteet.
  8. Se siitä! Voit nyt työskennellä USB-laitteesi kanssa suoraan WSL: stä.

Kun olet valmis, voit irrottaa laitteen alla olevan komennon avulla. Suorita se jälleen kerran pääte-esiintymästä, joka on käynnissä järjestelmänvalvojana.

usbipd wsl detach --busid <busid>

Onko olemassa GUI-vaihtoehtoa?

Jos komentorivin käyttöliittymä ei ole vahvuutesi, voit antaa wsl-usb-gui yritys. Se on epävirallinen GUI-kääre usbipd-win-binaarin ympärillä, mikä yksinkertaistaa huomattavasti USB-laitteiden luettelointia ja yhteentoimivuutta isäntäkäyttöjärjestelmän ja WSL-ilmentymän välillä.

  1. Varmista, että usbipd-winin uusin versio on asennettu ja WSL-ydin on ajan tasalla.
  2. Lataa uusin wsl-usb-gui-asennusohjelma projektin GitLab-julkaisusivulta.
  3. Suorita lataamasi MSI-tiedosto.
    • Ennen ohjelman asennusta asennusohjelma tarkistaa myös edellytykset ja yrittää tarvittaessa määrittää ne. Olisi kuitenkin parempi pitää kaikki itse ajan tasalla odottamattomien yhteensopivuusongelmien välttämiseksi.
  4. Onnistuneen asennuksen jälkeen sinun pitäisi pystyä löytämään juuri luotu pikakuvake nimeltä WSL USB Käynnistä-valikossa. Suorita sovellus sieltä.
  5. Klikkaa virkistää -painiketta täyttääksesi isäntäkäyttöjärjestelmään kytkettyjen USB-laitteiden luettelon.
  6. Käytä Liittää ja Irrota painikkeita vapauttaaksesi USB-läpiviennin täyden potentiaalin.

Tästä eteenpäin olet valmis menemään eteenpäin ja käsittelemään kaikkia haluamiasi USB-laitteita WSL: ssä. Täydellinen oppaamme auttaa sinua matkan varrella, mutta kun USB-läpivienti on asetettu haluamallasi tavalla, se vain häivyttää taustalle. Jos haluat lisätietoja, katso Microsoftin virallinen dokumentaatio USB-laitteiden liittämisestä WSL: n alla ja usbipd-winin GitHub Wiki -osio.

Kiitos XDA: n vanhemmalle jäsenelle Joku_Satunnainen_Käyttäjänimi vinkkiä varten!