lundi 14 novembre 2022

WSL - Windows Subsystem for Linux - Comment passer à WSL 2 ?

C'est quoi WSL (Windows Subsystem for Linux), je viens d'installer l'extension dans VSCode mais j'ai besoin de clarifier le terme Windows Subsystem for Linux car j'ai installé cette extension dans mon VSCode uniquement pour faire tourner du soft BLE-SERIAL mais à part cela ... J'ai besoin d'aller plus loin avec WSL, suivez-moi.

Pour l'instant WSL c'est une toute petit icône verte (><) en bas à gauche de la barre d'état de mon VSCode pour avoir cela j'ai installé l'extension WSL dans VSCode.

Comparing WSL1 and WSL 2

Je peux constater que WSL 2 est sans doute beaucoup mieux pour ce que j'ai à faire : "Docker Desktop's WSL back-end" and "use Dev Containers".

Mais commençons par-là :

WSL Getting Started Tutorial

Vérifier la fonctionnalité de Windows pour WSL

Pour aller vérifier que la case Sous-système Windows pour Linux est cochée c'est dans :

Panneau de configuration > Programmes et fonctionnalités > Activer ou désactiver des fonctionnalités Windows 

Cocher la case Sous-système Windows pour Linux
Cocher la case Sous-système Windows pour Linux

On vérifie que WSL est opérationnel dans une command-dos ou PowerShell : 

>wsl

Là, je me connecte à la distrib Ubuntu installée.

WSL dans VSCODE 

Dans VSCode, je clique sur l'icône verte en bas à gauche :

La popup d'information me recommande vivement d'effectuer la mise à niveau vers WSL 2 pour améliorer les performances.

Je dois maintenant passer de WSL 1 à WSL 2 ...

Mettre à niveau la version de WSL 1 à WSL 2

Pour connaitre ma version actuelle de WSL, je lance la commande :

PS>wsl -l -v

Pour tenter une mise à jour vers la version 2, voici la commande :

PS >wsl --set-version Ubuntu-20.04 2

Et ça commence, j'en étais sûr mon petit doigt me disait que ce ne serait pas sans douleur :

WSL 2 nécessite une mise à jour de son noyau
WSL 2 nécessite une mise à jour de son noyau

PS C:\Windows\system32> wsl --set-version Ubuntu-20.04 2
La conversion est en cours. Cette opération peut prendre quelques minutes...
Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2
WSL 2 nécessite une mise à jour de son composant noyau. Pour plus d’informations, visitez https://aka.ms/wsl2kernel

Je vais passer par là :

Etape 4 : télécherger le package de mise à jour du noyau Linux

Je télécharge wsl_update_x64.msi :

wsl_update_x64.msi

Je relance la commande de mis à jour vers WSL 2 :

PS >wsl --set-version Ubuntu-20.04 2

PS C:\Users\Mabyre> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         1
PS C:\Users\Mabyre> wsl --set-version Ubuntu-20.04 2
La conversion est en cours. Cette opération peut prendre quelques minutes...
Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2
Activez la fonctionnalité Windows de plateforme de machine virtuelle et assurez-vous que la virtualisation est activée dans le BIOS. Pour plus d’informations, rendez-vous sur https://aka.ms/wsl2-install

Pffff... Et pourtant la virtualisation est activée dans mon BIOS. En fait j'ai sauté une étape.

Je regarde alors Ici :

Étapes 3 - d’installation manuelle pour les versions antérieures de WSL | Microsoft Learn

Du coup, j'exécute la commande suivante :

PS>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Résultat : Ok

Je restart quand même ...

Et je relance la commande pour passer en WSL 2 :

PS >wsl --set-version Ubuntu-20.04 2

Comment passer de WSL1 à WSL 2
Comment passer de WSL1 à WSL 2
Cette fois ça y est !

PS C:\Windows\system32> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2

Ah ben ce n'est pas trop tôt, je commençais à désespérer d'autant que mes incursions de le BIOS de la machine (F2 puis bouton allumage) n'étaient pas fructueuses pour activer la virtualisation sur un AMD Ryzen 5 ... (pas d'option pour activer la virtualisation).

Voilà vous venez de voir comment passer de WLS1 à WSL 2.

Je vais pouvoir passer à la découverte de tout ce que l'on peut faire avec WSL 2...

Have fun!

Aucun commentaire:

Enregistrer un commentaire