User Tools

Site Tools


other:win10wsl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
other:win10wsl [2022/08/23 16:01]
jypeter [Base installation] More content
other:win10wsl [2022/08/29 13:49]
jypeter [Hyper-V requirements] Improved
Line 31: Line 31:
  
  
-==== Computer memory ​====+==== The basics before starting ​====
  
-FIXME+Once you have verified that your Windows is recent enough, you should also:
  
 +  * Install the [[other:​win10apps#​windows_terminal|Windows terminal]], because it will be one of the ways to open ''​Ubuntu''​ terminals, once ''​Ubuntu''​ is installed
 +  * Know how to use copy-paste in a Powershell FIXME
 +  * It will be useful to be able to [[other:​win10config#​displaying_hidden_folders_and_files_and_the_files_extension|see hidden folders and files]]
 +  * Have at least some basic knowledge of Linux...
 +    * Get some [[other:​newppl:​starting#​useful_documentation_for_beginners|basic Linux documentation]] if required
 +==== Computer CPU and memory ====
  
-==== Disk space ====+Contrary to other virtual machines, WSL is well integrated with the Windows operating system and the hardware drivers and has a **low default CPU and memory footprint**!
  
-FIXME+  * You should be able to //play// with WSL even with 8 Gb of RAM, but 16 Gb is recommended 
 +  * Of course, depending on what you need to do on your computer, a better processor will always help 
 +  * WSL+Ubuntu will use more CPU and RAM if you use it for running CPU and/or memory intensive processes! As would be the case with any Windows application... :-) 
 + 
 + 
 +==== Disk usage ==== 
 + 
 +=== Overview === 
 + 
 +  * ''​WSL''​ is part of the Windows operating system and will be installed (and updated) on ''​C:​\''​ 
 +  * The Linux installation(s) will be installed (and updated) on ''​C:​\''​ 
 +    * They can only be relocated to other partitions afterwards 
 + 
 +  * => We should **start with at least 10 Gb of free space on ''​C:​\''​** (but more space is always better and safer) 
 +    * The initial installation will not use much space (2-3 Gb), but we always need space on ''​C:​\''​ for other applications and Windows maintenance (temporary files, updates, ...) 
 + 
 +<WRAP center round alert 60%> 
 +FIXME The rather technical //Disk usage// sections below should be moved somewhere else! 
 +</​WRAP>​ 
 + 
 + 
 +=== How does it work? === 
 + 
 +WSL+Linux seems to use a combination of actual Windows files/​folders and ''​ext4''​ Linux partitions stored in ''​.vhdx''​ ([[https://​docs.microsoft.com/​en-us/​openspecs/​windows_protocols/​ms-vhdx/​83f6b700-6216-40f0-aa99-9fcb421206e2|Dynamic Virtual Hard Disk]]) files. The Linux disk (of type ''​ext4''​) is stored in a single ''​some_name.vhdx''​ Windows file that will automatically grow until it reaches a predefined maximum size of 256 Gb (if there is enough space on the Windows disk...) 
 + 
 +  * Check [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​vhd-size|Expand the size of your WSL 2 Virtual Hard Disk]] if you need more than 256 Gb 
 +  * Check the following threads if you want to reduce the size of the ''​vhdx''​ file: 
 +    * [[https://​superuser.com/​questions/​1606213/​how-do-i-get-back-unused-disk-space-from-ubuntu-on-wsl2|How do I get back unused disk space from ubuntu on wsl2?]] 
 +    * [[https://​github.com/​microsoft/​WSL/​issues/​4699#​issuecomment-1136319012|WSL 2 should automatically release disk space back to the host OS]] 
 +      * [[https://​docs.microsoft.com/​en-us/​powershell/​module/​hyper-v/​optimize-vhd?​view=windowsserver2019-ps|Optimize-VHD]] 
 + 
 +=== Disks seen from Linux === 
 + 
 +The disks and partitions usage, as seen from Linux, can be displayed with ''​df -h''​ 
 + 
 +<​code>​stdu@sadira034:​~$ df -h 
 +Filesystem ​     Size  Used Avail Use% Mounted on 
 +/​dev/​sdb ​       251G  1.5G  237G   1% / 
 +tmpfs           ​6.2G ​    ​0 ​ 6.2G   0% /mnt/wsl 
 +tools           ​472G ​ 118G  355G  25% /init 
 +none            6.2G     ​0 ​ 6.2G   0% /dev 
 +none            6.2G  8.0K  6.2G   1% /run 
 +none            6.2G     ​0 ​ 6.2G   0% /run/lock 
 +none            6.2G     ​0 ​ 6.2G   0% /run/shm 
 +none            6.2G     ​0 ​ 6.2G   0% /run/user 
 +tmpfs           ​6.2G ​    ​0 ​ 6.2G   0% /​sys/​fs/​cgroup 
 +drivers ​        ​472G ​ 118G  355G  25% /​usr/​lib/​wsl/​drivers 
 +lib             ​472G ​ 118G  355G  25% /​usr/​lib/​wsl/​lib 
 +C:\             ​472G ​ 118G  355G  25% /mnt/c 
 +D:\             ​480G ​ 2.6G  478G   1% /​mnt/​d</​code>​ 
 + 
 +  * The ''​251G''​ //Size// of ''/''​ depends on the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​vhd-size|256G default size]] of the growing virtual disk where Linux is installed 
 +  * The ''/​mnt/​c''​ and ''/​mnt/​d''​ are the way to access the Windows ''​C:''​ and ''​D:''​ disks from Linux, and their //Size// is the actual size of the Windows disks 
 +  * Some //​Filesystems//​ like ''​drivers''​ are actually Windows file systems! 
 +    * <​code>​stdu@sadira034:/​usr/​lib/​wsl/​drivers$ du -sh /​usr/​lib/​wsl/​drivers 
 +9.1G    /​usr/​lib/​wsl/​drivers 
 + 
 +stdu@sadira034:/​usr/​lib/​wsl/​drivers$ du -sh /​mnt/​c/​Windows/​System32/​DriverStore/​ 
 +9.1G    /​mnt/​c/​Windows/​System32/​DriverStore/</​code>​ 
 + 
 + 
 +=== Some important disk locations === 
 + 
 +  * Accessing **Windows files from Linux**: ''/​mnt/''​\\ e.g ''​C:​\''​ is available in ''/​mnt/​c''​ 
 + 
 +  * Accessing **Linux files from the Windows Explorer**: ''​\\wsl$''​ 
 + 
 +  * WSL+Ubuntu installation:​ 
 +    * Main directory: ''​C:​\Users\your_login\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc''​ 
 +    * //vhdx// file: ''​C:​\Users\jypeter\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx''​ 
 +      * <​code>​stdu@sadira034:​~$ ls -lh /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx 
 +-rwxrwxrwx 1 root root 1.2G Aug 24 15:20 /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx</​code>​ 
 + 
 +  * Linux //swap// (virtual memory) file: 
 +    * <​code>​stdu@sadira034:​~$ ls -lh /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Temp/​swap.vhdx 
 +-rwxrwxrwx 1 root root 63M Aug 24 14:52 /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Temp/​swap.vhdx</​code>​ 
 + 
 + 
 +=== Sample disk usage === 
 + 
 +  * Disk size after the initial installation of //Ubuntu 20.04 LTS//\\ ''​-rwxrwxrwx 1 root root 1.2G Aug 24 15:20 /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx''​ 
 + 
 +  * Disk size after upgrading to //Ubuntu 20.04.4 LTS// with ''​sudo apt update && sudo apt upgrade''​\\ ''​-rwxrwxrwx 1 root root 2.6G Aug 24 15:24 /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx''​ 
 + 
 +==== Hyper-V requirements ==== 
 + 
 +WSL 2 needs the //Virtual Machine Platform// to be enabled on your computer. If you have never used WSL before, you can probably go directly to the [[other:​win10wsl#​base_installation|Base installation]] section and ''​wsl''​ should install everything correctly 
 + 
 +If you have problems, or if you are updating WSL 1 to WSL 2, use ''​systeminfo''​ to check the [[https://​docs.microsoft.com/​en-us/​virtualization/​hyper-v-on-windows/​reference/​hyper-v-requirements?​source=recommendations#​verify-hardware-compatibility|Hyper-V requirements]] 
 + 
 +If you get a ''​No''​ for one of the ''​Hyper-V requirements'',​ check the //​virtualization//​ settings in your [[other:​bios#​entering_the_bios|computer BIOS]]
  
-  ​* //Enough// space on ''​C:\''​. Microsoft instructions say //The Windows Subsystem for Linux only runs on your system drive (usually this is your Cdrive)/+Example: HP laptop with an **Intel** CPU, and **virtualization not activated in the BIOS** 
-    Exporting a //simple// Ubuntu configuration (after doing everything from //Base installation//​ to //Advanced configuration//​ below) with the [[other:win10wsl#creating_a_backup_of_the_linux_running_in_wsl|wsl --export]] command generated a 2.7 Gb tar file (uncompressed),​ so it's probably good to **start with at least 3 Gb of free space on ''​C:\''​** (and you always ​need to keep enough free space on ''​C:​\''​ for regular Windows operation) +  ​* //Hyper-V// section of the ''​systeminfo'' ​output 
-    * The Linux ''/​''​ and ''/​home''​ partitions will always be on ''​C:'',​ but the data files can be on any Windows disk/​partition ​(or external driveof the computer +    * <​code>​Configuration requise pour Hyper-V        Extensions de mode du moniteur d’ordinateur virtuel : Oui 
-      * the Windows partitions will be available and accessible in ''/​mnt/​'', ​so you can store data on other partitions (e.g. the content of the Windows ''​D:​\''​ partition will be available in ''/​mnt/​d''​ in Linux) +                                            Virtualisation activée dans le microprogramme :​ Non 
-    * The files will be installed in **hidden partitions of the current user's directory on ''​C:\''​**e.g. ''​C:​\Users\<​your_login>''​. Other users of the same Windows 10 computer would have to install Ubuntu again, in their own user directory +                                            Traduction d’adresse de second niveau : Oui 
-      Checking the properties ​of ''​C:​\Users\<​your_login>​'' ​will **not** report an accurate size and number of files, because lots of files and directories are hidden! On the test laptop, the reported size of the user backed up directory (with [[other:​win10apps#​syncbackfree|SyncBackFree]]) was ~20 Gb (user data, WSL+Ubuntu, custom install of the CDAT 8.1 python distribution) +                                            Prévention de l’exécution des données disponible :​ Oui</code> 
-      * Be sure to monitor the remaining free space on ''​C:''​! +  * //Virtualization// section of the [[other:bios#entering_the_bios|HP BIOS]]: you need to select ​''​Virtualization Technology (VTx)''​ and ''​Virtualization Technology for Directed I/(VTd)'' ​in the BIOSsave the settings and finish booting 
-  * Note: it seems that [[other:​win10wsl#​restoring_a_wsl_backup|wsl --import]] can restore a backed-up Linux to a user specified location. Maybe this can be used for moving Ubuntu... +    * {{ :other:hp_bios_vtx_vtd.png?​direct&​600 |}} 
-    * Check [[https://​github.com/​MicrosoftDocs/​WSL/​issues/​412|how to move the vhdx of wsl2 to other disk]] and [[https://​github.com/​microsoft/​WSL/​issues/​4320|[WSL 2] move VHD File]] for relocating a WSL (1 or 2) installation if you don't have enough space on ''​C:''​+  //Hyper-V// section ​of the ''​systeminfo'' ​output with **virtualization activated in the BIOS** (after activation ​and reboot
 +    * <​code> ​                                           Virtualisation activée dans le microprogramme Oui</code>
  
 ===== Base installation ===== ===== Base installation =====
  
-  * [[https://​support.microsoft.com/​en-us/​help/​4027538/​windows-create-a-system-restore-point|Create a system restore point]] ([[https://​support.microsoft.com/​fr-fr/​help/​4027538/​windows-create-a-system-restore-point|Créer un point de restauration système]]),​ and give it a meaningful name (e.g. //Before installing WSL//), in the unlikely case you have to restore it later+  * [[https://​support.microsoft.com/​en-us/​help/​4027538/​windows-create-a-system-restore-point|Create a system restore point]] ([[https://​support.microsoft.com/​fr-fr/​help/​4027538/​windows-create-a-system-restore-point|Créer un point de restauration système]]),​ and give it a meaningful name (e.g. //Before installing WSL//), in the very unlikely case you have to restore it later (i.e. go back to a state where //WSL// was not activated)
  
   * The steps below (based on [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install|Install Linux on Windows with WSL]]) will work if you have //Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11//   * The steps below (based on [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install|Install Linux on Windows with WSL]]) will work if you have //Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11//
-    * If you have an older Windows version, follow the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-manual|Manual installation steps for older versions of WSL]]+    * If you have an older Windows version ​(at least //Version 1903, Build 18362//), follow the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-manual|Manual installation steps for older versions of WSL]]
  
-  * Open an ''​Powershell''​ in //​administrator//​ mode, ideally in a [[https://​wiki.lsce.ipsl.fr/​pmip3/​doku.php/​other:​win10apps#​windows_terminal|Windows Terminal]]+  * Open ''​Powershell''​ in //​administrator//​ mode 
 +    * ''​Start''​=>''​W''​=>''​Windows PowerShell''​ then right-click on ''​Windows PowerShell''​ and select //Run as Administrator//​ 
 +    * Use a [[https://​wiki.lsce.ipsl.fr/​pmip3/​doku.php/​other:​win10apps#​windows_terminal|Windows Terminal]], if you have already installed it. Use ''​CTRL''​+<​left click> on ''​Windows Powershell''​ in the pull-down menu to get a ''​Powershell''​ in //​administrator//​ mode
  
-  * Determine which Linux distributions are available for installation.\\ We will use the default ''​Ubuntu''​ distribution, that will always automatically upgrade to the latest ''​LTS'' ​version ​available, but we could use a specific Linux version (or even [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​use-custom-distro|import any Linux distribution]]!)\\ <​code>​PS C:\> wsl --list --online+  * Determine which Linux distributions are (directly) ​available for installation.\\ We will use the default ''​Ubuntu''​ distribution 
 +    * ''​Ubuntu'' ​will always automatically upgrade to the latest ''​LTS'' ​release ​available ​(contrary to ''​Ubuntu-<​even_number>​.04''​ that will stick to the specified ''<​even-number>''​ release) 
 +    * We could specify ​a specific Linux version (or even [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​use-custom-distro|import any Linux distribution]],​ or [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​build-custom-distro|create a custom ​Linux distribution]]!) 
 +    * <​code>​PS C:\> wsl --list --online
  
   NAME            FRIENDLY NAME   NAME            FRIENDLY NAME
Line 82: Line 184:
 L’opération demandée est réussie. Les modifications ne seront pas effectives avant que le système ne soit réamorcé.</​code>​ L’opération demandée est réussie. Les modifications ne seront pas effectives avant que le système ne soit réamorcé.</​code>​
  
-  * Reboot the computer\\ This step will take some time (make sure you have //enough// time). Windows will install what it needs, reboot, install some more stuffThe final installation step will take place when you open login, and a terminal opens, displaying the final installation of Ubuntu, and asking you for a username and password, and giving you access to a ''​bash''​ prompt\\ <​code>​Installing,​ this may take a few minutes...+  * Reboot the computer ​and be patient 
 +    * This step will take some time (make sure you have 15-30 mn available). Windows will install ​and configure ​what it needs for running //​WSL+Ubuntu//​, reboot, ​and install some more //stuff// 
 +    * The final installation step will take place when you open your Windows session. A terminal opens, displaying the final installation of Ubuntu, and asking you for a username and password, and giving you access to a ''​bash''​ prompt 
 +    * <​code>​Installing,​ this may take a few minutes...
 Please create a default UNIX user account. The username does not need to match your Windows username. Please create a default UNIX user account. The username does not need to match your Windows username.
 For more information visit: https://​aka.ms/​wslusers For more information visit: https://​aka.ms/​wslusers
Line 107: Line 212:
   ​   ​
 stdu@sadira034:​~$ echo $SHELL stdu@sadira034:​~$ echo $SHELL
-/bin/bash+/bin/bash</​code>​ 
 + 
 +  * Get some basic information about your new ''​Ubuntu''​ installation 
 +    * <​code>​stdu@sadira034:​~$ lsb_release -a 
 +No LSB modules are available. 
 +Distributor ID: Ubuntu 
 +Description: ​   Ubuntu 20.04 LTS 
 +Release: ​       20.04 
 +Codename: ​      ​focal 
 + 
 +stdu@sadira034:​~$ uname -a 
 +Linux sadira034 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux 
 + 
 +stdu@sadira034:​~$ cat /​proc/​version 
 +Linux version 5.10.16.3-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Fri Apr 2 22:23:49 UTC 2021
  
 stdu@sadira034:​~$ df -h stdu@sadira034:​~$ df -h
Line 125: Line 244:
 D:\             ​480G ​ 2.6G  478G   1% /​mnt/​d</​code>​ D:\             ​480G ​ 2.6G  478G   1% /​mnt/​d</​code>​
  
-  * Follow **closely** the steps listed ​in [[https://docs.microsoft.com/en-us/windows/wsl/install-win10|WSL Windows 10 Installation Guide]]. <wrap hi>Open this [[https://docs.microsoft.com/en-us/windows/wsl/install-win10|WSL Windows 10 Installation Guide]] in another window, so that you can **read the useful hints below at the same time!**</wrap> +  * Get some disk usage information about your ''​WSL''​ installation 
-    * When you have to //Open PowerShell as Administrator//, go to ''​Start''​=>''​W''​=>''​Windows PowerShell''​ then right-clik on ''​Windows PowerShell''​ and select ​//Run as Administrator// +    ​From Windows, ​the installed files are located ​in\\ ''​C:\Users\jypeter\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc''​ 
-    * FIXME At this stage, we could try to restore/clone a previously installed/customized/backed-up version of Ubuntu if we have one (see [[other:​win10wsl#​restoring_a_wsl_backup|Restoring a WSL backup]]) +    * From (inside) WSL, the installed files are in\\ ''​/mnt/c/Users/jypeter/AppData/Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/''​ 
-    * In the //Install your Linux Distribution of Choice//, we will use the very easy //install from the Microsoft Store// option +    * <code>stdu@sadira034:/mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages$ find /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/ -type f -print 
-      * Open the **Microsoft Store** with''​Start''​=>''​Microsoft Store''​ +/mnt/c/Users/​jypeter/AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx 
-      * In the **Microsoft Store**, just search ​//Linux// and select the //generic// **Ubuntu** (select ​the //Ubuntu// that has **no version number after the name**) +/mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​Settings/​roaming.lock 
-      * Select ​''​Get''​ (''​Télécharger''​) to download the installer packageYou can ignore (''​No thanks''​) the popups asking you to use a Microsoft account, if you are not using a Microsoft account yet on this machine +/mnt/c/Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​Settings/​settings.dat 
-      * Select ''​Launch''​ (''​Lancer''​) to start the installation,​ and give a user name (e.g. your LSCE login) and password (something that you can remember, but maybe not the same password as your LSCE account) +/mnt/c/Users/jypeter/AppData/Local/Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/​Helium/​User.dat 
-      * Type some basic Linux commands to check that things are working, e.g. check the available disks\\ <​code>​$ ​df -+/​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​SystemAppData/​Helium/​User.dat.LOG1 
-Filesystem ​     Size  Used Avail Use% Mounted on +/​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​SystemAppData/​Helium/​User.dat.LOG2 
-rootfs ​         238G   ​58G ​ 181G  25% / +/​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​SystemAppData/​Helium/​UserClasses.dat 
-none            238G   ​58G ​ 181G  25% /dev +/​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​SystemAppData/​Helium/​UserClasses.dat.LOG1 
-none            238G   ​58G ​ 181G  25% /run +/​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​SystemAppData/​Helium/​UserClasses.dat.LOG2 
-none            238G   ​58G ​ 181G  25% /run/lock + 
-none            238G   ​58G ​ 181G  25% /run/shm +stdu@sadira034:/​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages$ ls -lh /​mnt/​c/​Users/​jypeter/​AppData/​Local/​Packages/​CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx 
-none            238G   ​58G ​ 181G  25% /run/user +-rwxrwxrwx 1 root root 1.2G Aug 24 11:37 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/​LocalState/​ext4.vhdx</​code>​ 
-cgroup ​         238G   ​58G ​ 181G  25% /sys/fs/cgroup +    ​Note: location of the //vhdx swap file//: 
-C:\             ​238G ​  ​58G ​ 181G  25% /mnt/+      * From windows: ​''​C:​\Users\jypeter\AppData\Local\Temp\swap.vhdx''​ 
-D:\             ​932G ​ 8.1G  924G   1% /mnt/d</​code>​ +      * From WSL:\\ <​code>​stdu@sadira034:​~ls -lh /mnt/c/Users/jypeter/AppData/Local/Temp/​swap.vhdx 
-      * Update ​your Ubuntu ​Linux with: +-rwxrwxrwx 1 root root 63M Aug 24 14:52 /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx</​code>​ 
-        * ''​sudo apt update && sudo apt upgrade''​ + 
-        Use the Left arrow to select ''​<Yes>''​+''​Enter''​ when some services have to be restarted +  ​* Update ​//Ubuntu// with: ''​sudo apt update && sudo apt upgrade''​ 
-        * [[other:​win10wsl#​updating_wsl_and_ubuntu|More details about updating WSL and/or Ubuntu]] (you can safely skip this for now)+    * <code>stdu@sadira034:​~$ lsb_release -a 
 +No LSB modules are available. 
 +Distributor ID: Ubuntu 
 +Description: ​   Ubuntu 20.04 LTS 
 +Release: ​       20.04 
 +Codename: ​      ​focal 
 + 
 +stdu@sadira034:​~$ sudo apt update && sudo apt upgrade 
 +[sudo] password for stdu: 
 +Get:1 http://​security.ubuntu.com/​ubuntu focal-security InRelease [114 kB] 
 +Get:2 http://​archive.ubuntu.com/​ubuntu focal InRelease [265 kB] 
 +[...] 
 +278 upgraded, 32 newly installed, 0 to remove and 0 not upgraded. 
 +Need to get 174 MB of archives. 
 +After this operation, 305 MB of additional disk space will be used. 
 +Do you want to continue? [Y/n] Y 
 +[...] 
 + 
 +stdu@sadira034:​~$ lsb_release -a 
 +No LSB modules are available. 
 +Distributor ID: Ubuntu 
 +Description: ​   Ubuntu 20.04.4 LTS 
 +Release: ​       20.04 
 +Codename: ​      ​focal 
 + 
 +stdu@sadira034:/​usr/​lib/​wsl/​drivers$ cat /​etc/​*release* 
 +DISTRIB_ID=Ubuntu 
 +DISTRIB_RELEASE=20.04 
 +DISTRIB_CODENAME=focal 
 +DISTRIB_DESCRIPTION="​Ubuntu 20.04.4 LTS" 
 +NAME="​Ubuntu"​ 
 +VERSION="​20.04.4 LTS (Focal Fossa)"​ 
 +ID=ubuntu 
 +ID_LIKE=debian 
 +PRETTY_NAME="​Ubuntu 20.04.4 LTS" 
 +VERSION_ID="​20.04"​ 
 +HOME_URL="​https://​www.ubuntu.com/"​ 
 +SUPPORT_URL="​https://​help.ubuntu.com/"​ 
 +BUG_REPORT_URL="​https://​bugs.launchpad.net/​ubuntu/"​ 
 +PRIVACY_POLICY_URL="​https://​www.ubuntu.com/​legal/​terms-and-policies/​privacy-policy"​ 
 +VERSION_CODENAME=focal 
 +UBUNTU_CODENAME=focal</​code>​ 
 +    ​* [[other:​win10wsl#​updating_wsl_and_ubuntu|More details about updating WSL and/or Ubuntu]] (you can safely skip this for now) 
 + 
 +  * Update the //Linux kernel// used by WSL, after stopping the running WSL instances 
 +    * <​code>​PS C:\> wsl --status 
 +Distribution par défaut : Ubuntu 
 +Version par défaut : 2 
 + 
 +La dernière mise à jour effectuée du Sous-système Windows pour Linux date du 23/​08/​2022 
 +Les mises à jour WSL automatiques sont activées. 
 + 
 +Version du noyau : 5.10.16 
 + 
 +PS C:\> wsl -l -v 
 +  NAME      STATE           ​VERSION 
 +* Ubuntu ​   Running ​        2 
 + 
 +PS C:\> wsl --terminate Ubuntu 
 + 
 +PS C:\> wsl -l -v 
 +  NAME      STATE           ​VERSION 
 +* Ubuntu ​   Stopped ​        2 
 + 
 +PS C:\> wsl --update 
 +Recherche de mises à jour en cours... Veuillez patienter 
 +Téléchargement de mises à jour en cours... Veuillez patienter. 
 +Installation en cours des mises à jour... Veuillez patienter 
 +Cette modification sera effective au prochain redémarrage complet de WSL. Pour forcer un redémarrage,​ exécutez « wsl --shutdown ». 
 +Version du noyau : 5.10.102.1 
 + 
 +PS C:\> wsl --status 
 +[...] 
 +Version du noyau : 5.10.102.1
  
 +PS C:\> wsl cat /​proc/​version
 +Linux version 5.10.102.1-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Wed Mar 2 00:30:59 UTC 2022</​code>​
 ===== After the base installation ===== ===== After the base installation =====
  
Line 852: Line 1046:
  
 ===== Miscellaneous ===== ===== Miscellaneous =====
 +
 +==== Upgrading WSL 1 to WSL 2 ====
 +
 +<WRAP center round tip 60%>
 +You will be able to run existing WSL 1 installations with WSL 2, so upgrading should not be a problem!
 +</​WRAP>​
 +
 +
 +=== Determining which version of WSL is installed ===
 +
 +If you have never used WSL on a computer, WSL 2 will be installed directly when you follow the [[other:​win10wsl#​base_installation|Base installation]] steps
 +
 +You can determine if your installed Linux distributions are running on WSL 1 or WSL 2 by typing ''​wsl -l -v''​ in a PowerShell, but if you are not sure if you are currently using WSL 1 or WSL 2 for running Linux, you can check if [[https://​github.com/​MicrosoftDocs/​WSL/​issues/​1599|Is there an easy (PowerShell?​) way to get more information about WSL?]] has been answered, or make the following checks
 +
 +  * ''​wsl --update''​ will give the same output (i.e. the installed Linux kernel version) for both WSL 1 and WSL 2
 +    * <​code>​PS C:​\Users\jypeter>​ wsl --update
 +Recherche de mises à jour en cours... Veuillez patienter
 +Aucune mise à jour n’est disponible.
 +Version du noyau : 5.10.102.1</​code>​
 +
 +  * ''​wsl --status''​ will display again the kernel version if you already have WSL 2, but **will display a link to the WSL installation page if you are running WSL 1**: https://​aka.ms/​wsl2-install
 +    * <​code>​PS C:​\Users\jypeter>​ wsl --status
 +Distribution par défaut : Ubuntu
 +Version par défaut : 2
 +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</​code>​
 +
 +
 +=== Prerequisites ===
 +
 +  * If WSL 1 is already running, you should have no problem with the [[other:​win10wsl#​prerequisites|disk and memory requirements]]
 +  * For WSL 2, you also need to meet the [[other:​win10wsl#​hyper-v_requirements|Hyper-V requirements]]
 +
 +=== Updating! ===
 +
 +
 +[[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-manual#​step-3---enable-virtual-machine-feature|Activate the Virtual Machine Platform]] (just the //Step 3// instructions) and reboot the computer
 +
 +After rebooting, go back to the [[other:​win10wsl#​determining_which_version_of_wsl_is_installed|Determining which version of WSL is installed]] section above, and check that you are now using WSL 2
 +
 +==== Potentially useful stuff ====
  
   * Determining from **inside** the running Linux if you are using WSL (or another type of virtual machine)\\ <​code>​$ systemd-detect-virt   * Determining from **inside** the running Linux if you are using WSL (or another type of virtual machine)\\ <​code>​$ systemd-detect-virt
other/win10wsl.txt · Last modified: 2023/12/06 13:24 by jypeter