Răspuns scurt
Probabil că rulați WSL1. lsmod necesită WSL2.
Explicaţie
Începe cu wsl -l -v (de la PowerShell sau CMD) pentru a vă confirma versiunea WSL. Probabil vei vedea ceva de genul:
NUME STARE VERSIUNE
* Ubuntu Running 1
Una dintre diferențele principale dintre WSL1 și WSL2:
- WSL1 este un „strat de traducere” care încearcă să convertească apelurile de sistem Linux în API-ul kernel-ului Windows.
- WSL2 este un mediu „virtualizat” care rulează sub un nucleu Linux real.
Deci, de exemplu, când ls comanda primește o listă de fișiere:
- În cadrul WSL1, Windows oferă acea listă de fișiere folosind API-ul Windows pentru a obține fișierele în rootf-urile WSL.
- Sub WSL2, nucleul Linux folosește sistemul de fișiere ext4 pe un disc virtual pentru a prelua lista de fișiere. Pentru fișierele de pe unități Windows (de ex.
/mnc/c), folosește protocolul de rețea 9P pentru a obține fișierele.
Este cu adevărat uimitor cât de mult este capabil să facă WSL1 având în vedere acest lucru. Dar acolo sunt limitări. lsmod este unul dintre ei. În timp ce WSL1 oferă anumite /proc mapare (cum ar fi procesele), conceptul de „module kernel” nu are prea mult sens cu o mapare Windows.
Ar putea fi posibil să enumerați driverele Windows, dar asta nu ar oferi cu adevărat niciun beneficiu.
Convertiți în WSL2
Presupunând că aveți deja WSL2 activat pe Windows, vă puteți converti instanța Ubuntu în WSL2 folosind:
wsl --set-version Ubuntu 2
Deși această comandă este destul de sigură, aș recomanda totuși să faceți mai întâi o copie de rezervă a instanței dvs. cu:
wsl --export Ubuntu backup.tar
La fel ca și inițiala wsl comandă, aceasta este o comandă Windows, deci va trebui să fie rulată din PowerShell sau CMD.
Instalarea/Activarea WSL2
Dacă nu aveți WSL2 activat, puteți face acest lucru urmând pașii 2-5 din acest doc.
Activarea WSL2 face nu actualizați instanțe deja instalate, așa că va trebui să faceți în continuare pasul de conversie (wsl --set-version) de mai sus.
Limitări
Dar rețineți că nucleul furnizat cu WSL are deja toate modulele disponibile compilate, deci rezultatul lsmod va fi doar o listă goală.
Tu poate sa compilați-vă propriul nucleu cu module încărcate dacă doriți. Vă rugăm să vedeți Nucleul Linux WSL Github si WSL Doc pentru cum să încărcați WSL cu nucleul personalizat.
Dar sperăm că acest lucru nu va fi necesar pentru Netextender.