Megosztás a következőn keresztül:


WSL-verziók összehasonlítása

Tudjon meg többet a különböző WSL-verziókról, beleértve azt is, hogy miért a WSL 2 az alapértelmezett, és milyen konkrét forgatókönyvek vagy kivételek indokolhatják a telepített Linux-disztribúció korábbi WSL 1 architektúrára való váltását.

A WSL 1 és a WSL 2 összehasonlítása

Ez az útmutató összehasonlítja a WSL 1-et és a WSL 2-t, beleértve WSL 1 és nem WSL 2használatát. A WSL 1 és a WSL 2 elsődleges különbségei a tényleges Linux-kernel használata egy felügyelt virtuális gépen belül, a teljes rendszerhívások kompatibilitásának támogatása, valamint a Linux és Windows operációs rendszerek teljesítménye. A WSL 2 a linuxos disztribúciók telepítésekor a jelenlegi alapértelmezett verzió, és a virtualizálási technológia legújabb és legnagyobb használatával futtat linuxos kernelt egy egyszerűsített segédprogram virtuális gép (VM) belsejében. A WSL2 a Linux-disztribúciókat izolált tárolóként futtatja a felügyelt virtuális gépen belül. Ha a disztribúció jelenleg WSL 1-et futtat, és szeretne frissíteni WSL 2-re, tekintse meg a WSL 1-ről WSL 2-re történő frissítésrészleteit.

Funkciók összehasonlítása

Jellemző WSL 1 WSL 2
Integráció a Windows és a Linux között
Gyors rendszerindítási idők
Kisebb erőforrás-használat a hagyományos virtuális gépekhez képest
A VMware és a VirtualBox aktuális verzióival fut
Felügyelt virtuális gép
Teljes Linux-kernel
A rendszerhívások teljes kompatibilitása
Teljesítmény különböző operációs rendszer fájlrendszerek között
systemd támogatás
IPv6-támogatás

Ahogy a fenti összehasonlító táblázatból is látható, a WSL 2 architektúra több módon is felülmúlja a WSL 1-et, kivéve az operációsrendszer-fájlrendszerek teljesítményét, amelyet úgy lehet kezelni, hogy a projektfájlokat ugyanazon az operációs rendszeren tárolja, mint a projekten való munkához használt eszközök.

A WSL 2 csak Windows 11 vagy Windows 10, 1903-es, 18362-es vagy újabb buildben érhető el. A Windows-verzió ellenőrzéséhez nyomja meg a Windows billentyű + R, írja be a winver, majd kattintson az OKgombra. (Vagy írja be a ver parancsot a Windows parancssorába). Előfordulhat, hogy frissítenie kell a Windows legújabb verziójára. Az 14393-nál kisebb buildek esetén a WSL egyáltalán nem támogatott.

A WSL 2 legújabb frissítéseiről további információkért tekintse meg a Windows Parancssori Blogot, beleértve, hogy a Systemd támogatás mostantól elérhető a WSL-ben, és a WSL 2023. szeptemberi frissítését, az IPv6-támogatással kapcsolatos további információkért.

Jegyzet

A WSL 2 működni fog a VMware 15.5.5+ rendszeren, és bár a VirtualBox 6+ azt állítja, hogy WSL-támogatás áll fenn, valójában még mindig vannak jelentős kihívások, amelyek miatt nem támogatott. További információ a gyakori kérdésekről.

A WSL 2 újdonságai

A WSL 2 az alapul szolgáló architektúra jelentős átalakítása, és virtualizálási technológiát és Linux-kernelt használ az új funkciók engedélyezéséhez. A frissítés elsődleges célja a fájlrendszer teljesítményének növelése és a teljes rendszerhívási kompatibilitás hozzáadása.

WSL 2 architektúra

A hagyományos virtuálisgép-élmény lassú lehet a rendszerindításhoz, elszigetelt, sok erőforrást használ fel, és időt igényel a kezelésre. A WSL 2 nem rendelkezik ezekkel az attribútumokkal.

A WSL 2 a WSL 1 előnyeit biztosítja, beleértve a Windows és a Linux közötti zökkenőmentes integrációt, a gyors rendszerindítási időket, a kis erőforrásigényt, és nem igényel virtuálisgép-konfigurációt vagy felügyeletet. Bár a WSL 2 virtuális gépet használ, a rendszer felügyeli és futtatja a háttérben, így ugyanaz a felhasználói élmény marad, mint a WSL 1.

Teljes Linux-kernel

A WSL 2 Linux-kernelét a Microsoft a legújabb stabil ágból készíti a kernel.orgforrása alapján. Ez a kernel kifejezetten a WSL 2-höz lett hangolva, hogy a méret és a teljesítmény optimalizálása révén lenyűgöző Linux-élményt nyújtson a Windowson. A rendszermagot Windows-frissítések fogják kiszolgálni, ami azt jelenti, hogy a legújabb biztonsági javításokat és kernelfejlesztéseket fogja megkapni anélkül, hogy saját maga kellene kezelnie.

A WSL 2 Linux-kernel nyílt forráskódú. Ha szeretne többet megtudni, tekintse meg a blogbejegyzést, Linux kernel szállítása a Windows az azt összeállító csapat írta.

További információ a Linux-kernelhez készült Windows-alrendszer kibocsátási megjegyzéseiben.

A fájl I/O-teljesítményének növelése

Az olyan fájligényes műveletek, mint a git clone, npm install, apt update, apt upgradeés egyebek, mind észrevehetően gyorsabbak a WSL 2 használatával.

A tényleges sebességnövekedés attól függ, hogy melyik alkalmazást futtatja, és hogyan használja a fájlrendszert. A WSL 2 kezdeti verziói a WSL 1-hez képest akár 20-szor gyorsabban futnak a tömörített tarball kicsomagolásakor, és körülbelül 2-5-ször gyorsabban, amikor a git clone-t, npm install-et és cmake-t használják különböző projekteken.

A rendszerhívások teljes kompatibilitása

A Linux bináris fájljai rendszerhívásokkal hajtanak végre olyan funkciókat, mint a fájlok elérése, a memória kérése, a folyamatok létrehozása stb. Míg a WSL 1 a WSL csapata által létrehozott fordítási réteget használt, a WSL 2 saját Linux-kernelt tartalmaz, teljes rendszerhívási kompatibilitással. Előnyök:

  • A WSL-ben futtatható alkalmazások egész új készlete, például Docker és így tovább.

  • A Linux-kernel minden frissítése azonnal használatra kész (nem kell megvárnia, amíg a WSL-csapat végrehajtja a frissítéseket, és hozzáadja a módosításokat).

A WSL 1 és a WSL 2 használata alóli kivételek

Javasoljuk, hogy a WSL 2-t használja, mivel gyorsabb teljesítményt és 100% rendszerhívás kompatibilitását biztosítja. Van azonban néhány konkrét forgatókönyv, ahol a WSL 1 használatát érdemes használni. Fontolja meg a WSL 1 használatát, ha:

  • A projektfájlokat a Windows fájlrendszerben kell tárolni. A WSL 1 gyorsabb hozzáférést biztosít a Windowsról csatlakoztatott fájlokhoz.
    • Ha a WSL Linux-disztribúciót fogja használni a windowsos fájlrendszer projektfájljainak eléréséhez, és ezek a fájlok nem tárolhatók a Linux fájlrendszerben, a WSL 1 használatával gyorsabb teljesítményt érhet el az operációsrendszer-fájlrendszerekben.
  • Olyan projekt, amely ugyanazon fájlokon windowsos és linuxos eszközökkel végzett keresztfordítást igényel.
    • A Windows és Linux operációs rendszerek fájlteljesítménye a WSL 1-ben gyorsabb, mint a WSL 2, így ha Windows-alkalmazásokat használ a Linux-fájlok eléréséhez, akkor a WSL 1 használatával jelenleg gyorsabb teljesítményt érhet el.
  • A projektnek hozzá kell férnie egy soros porthoz vagy USB-eszközhöz. Azonban USB-eszköz támogatása már elérhető a WSL 2-hez a USBIPD-WIN projekten keresztül. A lépések beállításához tekintse meg USB-eszközök csatlakoztatása című témakört.
  • A WSL 2 nem támogatja a soros portok elérését. További információért lásd a GYIK vagy a WSL GitHub-tároló soros támogatásával kapcsolatos hibajegyet.
  • Szigorú memóriakövetelményekkel rendelkezik
    • A WSL 2 memóriahasználata a használat során növekszik és csökken. Amikor egy folyamat felszabadítja a memóriát, az automatikusan visszakerül a Windowsba. Jelenleg azonban a WSL 2 még nem adja vissza a memóriában lévő gyorsítótárazott lapokat a Windows rendszernek, amíg a WSL-példány le nem áll. Ha már régóta futtat WSL-munkameneteket, vagy nagyon nagy mennyiségű fájlt ér el, ez a gyorsítótár memóriát vehet fel a Windowson. Követjük a munkát a WSL GitHub-adattár 4166-os hibajegyén, az élmény javításának érdekében.
  • A VirtualBoxot használó felhasználók mindenképpen a VirtualBox és a WSL 2 legújabb verzióját használják. Tekintse meg a kapcsolódó gyakori kérdéseket.
  • Ha linuxos disztribúcióra támaszkodik, hogy az IP-cím ugyanabban a hálózatban legyen, mint a gazdaszámítógép, lehetséges, hogy be kell állítania egy áthidaló megoldást a WSL 2 futtatásához. A WSL 2 Hyper-V virtuális gépként fut. Ez változást jelent a WSL 1-ben használt áthidalt hálózati adapterhez képest, ami azt jelenti, hogy a WSL 2 egy hálózati címfordítási (NAT) szolgáltatást használ a virtuális hálózatához, ahelyett, hogy áthidalná a gazdagép hálózati interfészkártyájára (NIC), amely egy egyedi IP-címet eredményez, ami az újraindításkor megváltozik. A WSL 2 szolgáltatások TCP-portjait a gazda operációs rendszerhez továbbító probléma és annak kerülő megoldása kapcsán további információkat a WSL GitHub-adattár 4150-es számú bejegyzésében talál, amely a hálózati kártya áthidaló módjáról (TCP kerülő megoldás) szól.

Jegyzet

Fontolja meg a VS Code távoli WSL-bővítmény kipróbálását, hogy lehetővé tegye a projektfájlok linuxos fájlrendszerben való tárolását Linux parancssori eszközökkel, de windowsos VS Code használatával is létrehozhatja, szerkesztheti, hibakeresésre vagy futtathatja a projektet egy webböngészőben anélkül, hogy a Linux- és Windows-fájlrendszereken végzett munkához kapcsolódó teljesítménybeli lassulások következnek be. További információ.

WSL a "Microsoft Store"-ban

A WSL a Frissítés funkciót a Windows operációs rendszer lemezképéből egy, a Microsoft Store-on keresztül elérhető csomagba emelte. Ez gyorsabb frissítéseket és karbantartást jelent, amint elérhetők, ahelyett, hogy várnia kellene a Windows operációs rendszer frissítésére.

A WSL eredetileg a Windows operációs rendszer része volt opcionális összetevőként, amelyet engedélyezni kell a Linux-disztribúció telepítéséhez. Az Áruházban található WSL ugyanazzal a felhasználói felülettel rendelkezik, és ugyanaz a termék, de a frissítéseket és a karbantartást áruházcsomagként kapja meg, nem pedig egy teljes operációsrendszer-frissítésként. A Windows 19044-es vagy újabb verziójától kezdve a wsl.exe --install parancs futtatásával telepíti a WSL karbantartási frissítését a Microsoft Store-ból. (Tekintse meg a frissítés bejelentésétbemutató blogbejegyzést). Ha már használja a WSL-t, frissíthet, hogy a wsl.exe --updatefuttatásával biztosan megkapja a legújabb WSL-funkciókat, valamint a karbantartásokat a Store-ból.

Jegyzet

Ha a Microsoft Store nem érhető el a szervezeten belül, akkor is használhatja ezt a WSL-verziót, ha hozzáfűzi --web-download a --update parancshoz, például wsl --update --web-download. Minden alkalommal manuálisan kell frissítenie a WSL-t, amikor egy új kiadás elérhetővé válik ezzel a módszerrel.