Kaip prijungti USB įrenginius prie „Windows“ posistemio, skirto „Linux“, naudojant „Windows 11“.

Galima prijungti USB įrenginius prie „Windows“ posistemio, skirto Linux, naudojant „Windows 11“ ir dirbti su jais tiesiogiai.

Greitos nuorodos

  • Kas yra usbipd-win?
  • Prijunkite USB įrenginius naudodami „Windows“ posistemę, skirtą „Linux“.
  • Ar yra kokia nors GUI alternatyva?

„Microsoft“ pristatė Windows posistemis, skirtas Linux (WSL), kuris palaikė „Linux“ programas tiesiai iš „Windows“ diegimo, nereikia nustatyti virtualios mašinos. Kadangi WSL yra toks sudėtingas suderinamumo sluoksnis, jis turėjo tam tikrų apribojimų. Pradiniame diegime net nebuvo naudojamas visavertis „Linux“ branduolys, todėl kelios programos susidūrė su suderinamumo problemomis. 2 versija padarė daug patobulinimų, tačiau kažko vis tiek trūko: fizinių USB įrenginių prijungimo palaikymo.

Jei esate aktyvus „Windows“ posistemis, skirtas Linux vartotojas ir norite pasiekti USB įrenginius tiesiai iš „Linux“ egzemplioriaus, veikiančio naudojant WSL, jums bus malonu žinoti, kad reikšminga pažanga šiame fronte. Dėka „Microsoft“ indėlio kuriant atvirąjį kodą

usbipd-win projektą, dabar galite mėgautis USB perdavimo prieiga WSL. Tai reiškia, kad galutiniai vartotojai gali atlikti užduotis, pvz., „Android“ įrenginių mirgėjimą, naudodami „Windows“ posistemį, skirtą „Linux“, kurių kitu atveju nepalaiko „Linux“ posistemis.

Kas yra usbipd-win?

„usbipd-win“ projektas skirtas sukurti sprendimą, kaip dalytis vietoje prijungtais USB įrenginiais su kitais įrenginiais, įskaitant „Hyper-V“ svečius ir WSL2. Tačiau oficialiame WSL2 Linux branduolyje anksčiau trūko palaikymo USB/IP protokolas, reikalaujantis, kad vartotojai patys sukurtų branduolį.

Kadangi WSL branduolio versija 5.10.60.1, reikalingi parametrai sukonfigūruojami iš karto, todėl nereikia perkompiliuoti rankiniu būdu. „Microsoft“ taip pat įtraukė komandų eilutės sąsają prie projekto, kad USB įrenginys būtų bendrinamas sistemoje „Windows“ ir būtų sklandžiai prijungtas iš WSL.

Prijunkite USB įrenginius naudodami „Windows“ posistemę, skirtą „Linux“.

Prieš pradėdami įsitikinkite, kad bėgate Windows 11 ir įdiegėte visus WSL naujinimus. Kaip minėta anksčiau, kad tai veiktų, jums reikia WSL 2 Linux platinimo.

  1. Paleiskite šią komandą iš WSL:
    uname -a
    Jei rodoma 5.10.60.1 arba naujesnė branduolio versija (kaip parodyta toliau), galite pradėti.
    • Jei įdiegta branduolio versija yra senesnė nei 5.10.60.1, ją galima atnaujinti naudojant šias komandas:
      wsl --shutdown
      wsl --update
  2. Eikite į „usbipd-win“ projekto „GitHub“ repo. Tada atsisiųskite ir įdiekite naujausią versiją.
    • Naujausia usbipd-win versija palaiko tylų tvarkyklių diegimą dėl „Windows“ aparatinės įrangos suderinamumo programos sertifikuotų tvarkyklių. Tai taip pat palaiko Kūrėjų kanalų kūrimas Windows 11.
    • Be „GitHub“ leidimo puslapio, galite įdiegti ir atnaujinti programą naudodami „Windows“ paketų tvarkyklės CLI (dar žinomas kaip winget).
      winget install--interactive --exact dorssel.usbipd-win
  3. Įdiekite USB/IP vartotojo erdvės įrankius ir USB aparatinės įrangos identifikatorių duomenų bazę. Jei naudojate Ubuntu WSL, vykdykite šias komandas:
    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
    • Galite pasirinkti skirtingus meta paketus (pvz. linux-tools-generic) taip pat, atsižvelgiant į įdiegtą platinimą. Tačiau kitame žingsnyje gali reikėti pakoreguoti kelio kintamąjį pagal meta paketo versijos numerį.
    • Dėl kitų platinimų skaitykite atitinkamo paketo valdymo įrankio dokumentaciją.
  4. Jei simbolinė nuoroda sukurta naudojant update-alternatives komanda ankstesniame veiksme jums neveikė, galite rankiniu būdu modifikuoti sudo parinktis, kad root naudotojas galėtų rasti usbip komandą. Norėdami tai padaryti, redaguokite /etc/sudoers failą naudojant sudo visudo ir pridėkite /usr/lib/linux-tools/-generic iki pradžios secure_path. Tai turėtų atrodyti taip:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  5. Atidarykite naują terminalo egzempliorių kaip administratorius ir įveskite šią komandą, kad pateiktumėte visus USB įrenginius, prijungtus prie „Windows“.
    usbipd wsl list
  6. Užsirašykite USB įrenginio, kurį norite prijungti prie WSL, BUSID reikšmę. Tada paleiskite šią komandą, kad pradėtumėte priedų procesą. WSL paprašys įvesti slaptažodį, kad paleistumėte sudo komandą.
    usbipd wsl attach --busid <busid>
    Pavyzdžiui, čia pridedame „Android“ įrenginio „Fastboot“ sąsają prie WSL iš pagrindinio „Windows 11“ egzemplioriaus:
  7. Dabar atidarykite naują WSL 2 egzempliorių ir paleiskite lsusb komandą, kad pamatytumėte galimus USB įrenginius. Jame turėtų būti nurodytas prijungtas (-i) įrenginys (-iai).
  8. Viskas! Dabar galite dirbti su savo USB įrenginiu tiesiai iš WSL.

Kai baigsite, galite atjungti įrenginį naudodami toliau pateiktą komandą. Dar kartą paleiskite jį iš terminalo egzemplioriaus, veikiančio kaip administratorius.

usbipd wsl detach --busid <busid>

Ar yra kokia nors GUI alternatyva?

Jei komandų eilutės sąsaja nėra jūsų stiprioji pusė, galite duoti wsl-usb-gui bandymas. Tai neoficialus GUI įvyniojimas aplink usbipd-win dvejetainį failą, kuris labai supaprastina USB įrenginių sąrašą ir pagrindinio OS bei WSL egzemplioriaus sąveiką.

  1. Įsitikinkite, kad įdiegta naujausia usbipd-win versija ir atnaujintas WSL branduolys.
  2. Atsisiųskite naujausią wsl-usb-gui diegimo programą iš projekto GitLab leidimų puslapio.
  3. Paleiskite atsisiųstą MSI failą.
    • Prieš diegdama programą, diegimo programa taip pat patikrina, ar yra būtinų sąlygų ir, jei reikia, bando jas nustatyti. Tačiau geriau viską atnaujinti patys, kad išvengtumėte nenumatytų suderinamumo problemų.
  4. Sėkmingai įdiegus, turėtumėte rasti naujai sukurtą nuorodą, pavadintą WSL USB meniu Pradėti. Paleiskite programą iš ten.
  5. Spustelėkite ant Atnaujinti mygtuką, kad užpildytumėte USB įrenginių, prijungtų prie pagrindinės OS, sąrašą.
  6. Naudoti Prikabinti ir Atsieti mygtukai, kad išlaisvintumėte visas USB perdavimo galimybes.

Nuo šiol esate pasiruošę dirbti su visais norimais USB įrenginiais WSL. Išsamus vadovas padės jums, bet kai USB perėjimas bus nustatytas taip, kaip jums patinka, jis tiesiog išnyksta į foną. Norėdami sužinoti daugiau, pažiūrėkite Oficiali „Microsoft“ dokumentacija apie USB įrenginių prijungimą pagal WSL ir usbipd-win GitHub Wiki skyrių.

Ačiū XDA vyresniajam nariui Some_Random_Username už patarimą!