Det er mulig å koble til USB-enheter i Windows Subsystem for Linux under Windows 11 og jobbe med dem direkte.
Hurtigkoblinger
- Hva er usbipd-win?
- Koble til USB-enheter under Windows Subsystem for Linux
- Er det noe GUI-alternativ?
Microsoft introduserte Windows-undersystem for Linux (WSL) for en stund tilbake, noe som ga støtte for å kjøre Linux-apper rett fra Windows-installasjonen din uten å måtte sette opp en virtuell maskin. Som et så komplekst kompatibilitetslag hadde WSL noen begrensninger. Den første implementeringen brukte ikke engang en fullverdig Linux-kjerne, så flere applikasjoner sto overfor kompatibilitetsproblemer. Versjon 2 gjorde mange forbedringer, men noe manglet fortsatt: støtte for tilkobling av fysiske USB-enheter.
Hvis du er en aktiv Windows Subsystem for Linux-bruker og ønsker å få tilgang til USB-enheter rett fra Linux-forekomsten som kjører under WSL, vil du gjerne vite at det har vært betydelig fremgang på denne fronten. Takket være Microsofts bidrag til åpen kildekode
usbipd-vinn prosjektet, kan du nå nyte USB-pass-through-tilgang i WSL. Det betyr at sluttbrukere kan utføre oppgaver som å blinke Android-enheter under Windows Subsystem for Linux, som ellers ikke støttes av Linux-undersystemet.Hva er usbipd-win?
Usbipd-win-prosjektet handler om å lage en løsning for å dele lokalt tilkoblede USB-enheter til andre maskiner, inkludert Hyper-V-gjester og WSL2. Imidlertid manglet den offisielle WSL2 Linux-kjernen støtte for USB/IP-protokoll, som krever at brukere bygger kjernen selv.
Siden WSL-kjerneversjon 5.10.60.1, er de nødvendige parameterne konfigurert ut av esken, så ingen manuell rekompilering er nødvendig. Microsoft har også bidratt med et kommandolinjegrensesnitt til prosjektet for både å aktivere en USB-enhet for deling på Windows og sømløst koble den fra WSL.
Koble til USB-enheter under Windows Subsystem for Linux
Før du starter, sørg for at du løper Windows 11 og har installert alle WSL-oppdateringer. Som nevnt tidligere trenger du en WSL 2 Linux distro for at dette skal fungere.
- Kjør følgende kommando fra WSL:
Hvis den viser en kjerneversjon av 5.10.60.1 eller nyere (som vist nedenfor), så er du i gang.uname -a
- Hvis den installerte kjerneversjonen er eldre enn 5.10.60.1, kan den oppdateres ved hjelp av følgende kommandoer:
wsl --shutdown
wsl --update
- Hvis den installerte kjerneversjonen er eldre enn 5.10.60.1, kan den oppdateres ved hjelp av følgende kommandoer:
- Gå over til GitHub-repoen til usbipd-win-prosjektet. Deretter last ned og installer den nyeste versjonen.
- Den nyeste versjonen av usbipd-win støtter stille driverinstallasjon, takket være sertifiserte drivere for Windows Hardware Compatibility Program. Den støtter også Utviklerkanalbygg av Windows 11.
- I tillegg til utgivelsessiden på GitHub, kan du installere og oppdatere appen ved hjelp av Windows Package Manager CLI (aka winget).
winget install--interactive --exact dorssel.usbipd-win
- Installer brukerplassverktøyene for USB/IP og en database med USB-maskinvareidentifikatorer. Hvis du kjører Ubuntu på WSL, kjør følgende kommandoer:
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- Du kan velge forskjellige metapakker (f.eks.
linux-tools-generic
) også, avhengig av installert distro. Imidlertid må du kanskje justere banevariabelen i neste trinn, i henhold til versjonsnummeret til metapakken. - For andre distroer, se dokumentasjonen til det relevante pakkehåndteringsverktøyet.
- Du kan velge forskjellige metapakker (f.eks.
- I tilfelle den symbolske lenken opprettet ved hjelp av
update-alternatives
kommandoen i forrige trinn ikke fungerte for deg, kan du manuelt endre sudo-alternativene for å la rotbrukeren finneusbip
kommando. For å gjøre det, rediger/etc/sudoers
fil ved hjelp avsudo visudo
og legg til/usr/lib/linux-tools/
til begynnelsen av-generic secure_path
. Det skal se slik ut:Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
- Åpne en ny Terminal-forekomst som administrator og skriv inn følgende kommando for å vise alle USB-enhetene som er koblet til Windows.
usbipd wsl list
- Noter BUSID-verdien til USB-enheten du vil koble til WSL. Kjør deretter følgende kommando for å starte vedleggsprosessen. Du vil bli bedt av WSL om et passord for å kjøre en sudo-kommando.
For eksempel, her kobler vi en Android-enhets Fastboot-grensesnitt til WSL fra verts-Windows 11-forekomsten:usbipd wsl attach --busid <busid>
- Åpne nå en ny WSL 2-forekomst og kjør
lsusb
kommando for å se tilgjengelige USB-enheter. Den skal vise tilkoblede enheter. - Det er det! Du kan nå jobbe med USB-enheten din rett fra WSL.
Når du er ferdig, kan du koble fra enheten ved å bruke kommandoen vist nedenfor. Igjen, kjør den fra en Terminal-forekomst som kjører som administrator.
usbipd wsl detach --busid <busid>
Er det noe GUI-alternativ?
I tilfelle kommandolinjegrensesnittet ikke er din sterke side, kan du gi wsl-usb-gui et forsøk. Det er en uoffisiell GUI-innpakning rundt usbipd-win-binæren, som i stor grad forenkler listen over USB-enheter og interoperabilitet mellom verts-OS og WSL-forekomsten.
- Sørg for at den nyeste versjonen av usbipd-win er installert og at WSL-kjernen er oppdatert.
- Last ned det siste installasjonsprogrammet for wsl-usb-gui fra prosjektets GitLab-utgivelsesside.
- Kjør MSI-filen du lastet ned.
- Før du installerer programmet, sjekker installasjonsprogrammet også for forutsetningene og prøver å sette dem opp om nødvendig. Det ville imidlertid være bedre å holde alt oppdatert selv for å unngå uforutsette kompatibilitetsproblemer.
- Etter en vellykket installasjon, bør du kunne finne en nyopprettet snarvei kalt WSL USB i Start-menyen. Kjør appen derfra.
- Klikk på Forfriske for å fylle ut listen over USB-enheter koblet til verts-OS.
- Bruke Feste og Løsne knapper for å frigjøre det fulle potensialet til USB-gjennomføring.
Herfra og ut er du klar til å gå videre og tukle med alle USB-enhetene du vil ha i WSL. Vår komplette guide vil hjelpe deg på veien, men når USB-gjennomgangen er satt opp slik du liker den, forsvinner den bare i bakgrunnen. For å lære mer, ta en titt på Microsofts offisielle dokumentasjon om tilkobling av USB-enheter under WSL og usbipd-wins GitHub Wiki-seksjon.
Takk til XDA Senior Member Some_Random_Username for tipset!