Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
other:win10wsl [2022/08/12 16:20] – Improved introduction warning jypeter | other:win10wsl [2022/08/29 11:44] – [Upgrading WSL 1 to WSL 2] jypeter |
---|
===== What is WSL ? ===== | ===== What is WSL ? ===== |
| |
Useful reading: | //Windows Subsystem for Linux// (**WSL**) lets you **run a Linux distribution on your Windows computer**, without the overhead of a traditional Virtual Machine (VM) or dual-boot setup |
* Have a look at the beginning of the [[https://docs.microsoft.com/en-us/windows/wsl/about|Windows Subsystem for Linux Documentation]] for a quick **WSL** description on the Microsoft site | |
* Read [[https://wiki.ubuntu.com/WSL|What is WSL]] on the Ubuntu site | |
* There is more useful information on the //WSL@Ubuntu page//, you can read the rest later | |
| |
In a few words, WSL is not Linux, it's more a way to [[https://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support/|share files between Windows and Linux]] (it's OK to skip this rather technical link!). [[https://docs.microsoft.com/en-us/windows/wsl/faq#are-files-in-the-linux-drive-different-from-the-mounted-windows-drive|Files under the Linux root (i.e. /) are controlled by WSL which mimics Linux specific behavior [...follow the link for details...]]]. That's why you need //to activate WSL **and then install a Linux distribution**//. | |
| |
| More reading: |
| * [[https://docs.microsoft.com/en-us/windows/wsl/about|What is the Windows Subsystem for Linux? (and WSL 2)]] |
| * [[https://wiki.ubuntu.com/WSL#What_is_WSL.3F|What is WSL?]] on the Ubuntu wiki site |
===== Prerequisites ===== | ===== Prerequisites ===== |
| |
* A computer running at least //Windows 10 Anniversary Update//, that is with a version number of ''1607'' (July 2016) or higher | ==== Windows version ==== |
* [[other:win10maintain#checking_the_installed_version|Check the installed version on your computer]] | |
* [[other:win10misc#windows_10_versions|Check the available versions]] | * A computer running [[https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-2---check-requirements-for-running-wsl-2|Windows 11 or Windows 10, Version 1903, Build 18362 or later]] |
* [[other:win10maintain#updating_windows_10|See if you can update your Windows]] if your installed version is not the most receent available version | * [[other:win10maintain#checking_the_installed_version|Check the installed version on your computer]]\\ If you don't have the Windows version required for running WSL, you can: |
* Note: there is sometimes a delay between the official release and the time when Windows Update will actually tell you that a major update is available for **your** computer (e.g. the //September YY09// update may become available for you only in December) | * [[other:win10misc#windows_10_versions|Check the available Windows versions]] |
* //Enough// space on ''C:\''. Microsoft instructions say //The Windows Subsystem for Linux only runs on your system drive (usually this is your C: drive)// | * [[other:win10maintain#updating_windows_10|Check if you can update Windows]] |
* 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) | |
* The Linux ''/'' and ''/home'' partitions will always be on ''C:'', but the data files can be on any Windows disk/partition (or external drive) of the computer | |
* 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) | ==== The basics before starting ==== |
* 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 | |
* 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) | Once you have verified that your Windows is recent enough, you should also: |
* Be sure to monitor the remaining free space on ''C:''! | |
* 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... | * Install the [[other:win10apps#windows_terminal|Windows terminal]], because it will be one of the ways to open ''Ubuntu'' terminals, once ''Ubuntu'' is installed |
* 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:'' | * 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 ==== |
| |
| 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**! |
| |
| * 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]] |
| |
===== 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) |
| |
* 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> | * 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// |
* 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// | * 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]] |
* 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]]) | |
* In the //Install your Linux Distribution of Choice//, we will use the very easy //install from the Microsoft Store// option | * Open a ''Powershell'' in //administrator// mode |
* Open the **Microsoft Store** with: ''Start''=>''Microsoft Store'' | * ''Start''=>''W''=>''Windows PowerShell'' then right-click on ''Windows PowerShell'' and select //Run as Administrator// |
* In the **Microsoft Store**, just search //Linux// and select the //generic// **Ubuntu** (select the //Ubuntu// that has **no version number after the name**) | * 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 |
* Select ''Get'' (''Télécharger'') to download the installer package. You 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 | |
* 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) | * Determine which Linux distributions are (directly) available for installation.\\ We will use the default ''Ubuntu'' distribution |
* Type some basic Linux commands to check that things are working, e.g. check the available disks\\ <code>$ df -h | * ''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 |
| * Ubuntu Ubuntu |
| Debian Debian GNU/Linux |
| kali-linux Kali Linux Rolling |
| openSUSE-42 openSUSE Leap 42 |
| SLES-12 SUSE Linux Enterprise Server v12 |
| Ubuntu-16.04 Ubuntu 16.04 LTS |
| Ubuntu-18.04 Ubuntu 18.04 LTS |
| Ubuntu-20.04 Ubuntu 20.04 LTS</code> |
| |
| * Install the latest //Ubuntu LTS// version available\\ This step will run pretty quickly\\ <code>PS C:\> wsl --install -d Ubuntu |
| Installation en cours : Plateforme de machine virtuelle |
| Plateforme de machine virtuelle a été installé. |
| Installation en cours : Sous-système Windows pour Linux |
| Sous-système Windows pour Linux a été installé. |
| Téléchargement en cours : Noyau WSL |
| Installation en cours : Noyau WSL |
| Noyau WSL a été installé. |
| Téléchargement en cours : Ubuntu |
| 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 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. |
| For more information visit: https://aka.ms/wslusers |
| Enter new UNIX username: stdu |
| New password: |
| Retype new password: |
| passwd: password updated successfully |
| Installation successful! |
| To run a command as administrator (user "root"), use "sudo <command>". |
| See "man sudo_root" for details. |
| |
| Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64) |
| |
| * Documentation: https://help.ubuntu.com |
| * Management: https://landscape.canonical.com |
| * Support: https://ubuntu.com/advantage |
| |
| System information as of Tue Aug 23 17:32:20 CEST 2022 |
| |
| System load: 0.0 Processes: 8 |
| Usage of /: 0.4% of 250.98GB Users logged in: 0 |
| Memory usage: 0% IPv4 address for eth0: 172.20.23.145 |
| Swap usage: 0% |
| |
| stdu@sadira034:~$ echo $SHELL |
| /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 |
Filesystem Size Used Avail Use% Mounted on | Filesystem Size Used Avail Use% Mounted on |
rootfs 238G 58G 181G 25% / | /dev/sdb 251G 1.1G 238G 1% / |
none 238G 58G 181G 25% /dev | tmpfs 6.2G 0 6.2G 0% /mnt/wsl |
none 238G 58G 181G 25% /run | tools 472G 112G 361G 24% /init |
none 238G 58G 181G 25% /run/lock | none 6.2G 0 6.2G 0% /dev |
none 238G 58G 181G 25% /run/shm | none 6.2G 4.0K 6.2G 1% /run |
none 238G 58G 181G 25% /run/user | none 6.2G 0 6.2G 0% /run/lock |
cgroup 238G 58G 181G 25% /sys/fs/cgroup | none 6.2G 0 6.2G 0% /run/shm |
C:\ 238G 58G 181G 25% /mnt/c | none 6.2G 0 6.2G 0% /run/user |
D:\ 932G 8.1G 924G 1% /mnt/d</code> | tmpfs 6.2G 0 6.2G 0% /sys/fs/cgroup |
* Update your Ubuntu Linux with: | drivers 472G 112G 361G 24% /usr/lib/wsl/drivers |
* ''sudo apt update && sudo apt upgrade'' | lib 472G 112G 361G 24% /usr/lib/wsl/lib |
* Use the Left arrow to select ''<Yes>''+''Enter'' when some services have to be restarted | C:\ 472G 112G 361G 24% /mnt/c |
* [[other:win10wsl#updating_wsl_and_ubuntu|More details about updating WSL and/or Ubuntu]] (you can safely skip this for now) | D:\ 480G 2.6G 478G 1% /mnt/d</code> |
| |
| * Get some disk usage information about your ''WSL'' installation |
| * From Windows, the installed files are located in\\ ''C:\Users\jypeter\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc'' |
| * From (inside) WSL, the installed files are in\\ ''/mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/'' |
| * <code>stdu@sadira034:/mnt/c/Users/jypeter/AppData/Local/Packages$ find /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/ -type f -print |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/Settings/roaming.lock |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/Settings/settings.dat |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/Helium/User.dat |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/Helium/User.dat.LOG1 |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/Helium/User.dat.LOG2 |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/Helium/UserClasses.dat |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/Helium/UserClasses.dat.LOG1 |
| /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/SystemAppData/Helium/UserClasses.dat.LOG2 |
| |
| stdu@sadira034:/mnt/c/Users/jypeter/AppData/Local/Packages$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx |
| -rwxrwxrwx 1 root root 1.2G Aug 24 11:37 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx</code> |
| * Note: location of the //vhdx swap file//: |
| * From windows: ''C:\Users\jypeter\AppData\Local\Temp\swap.vhdx'' |
| * From WSL:\\ <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> |
| |
| * Update //Ubuntu// with: ''sudo apt update && sudo apt upgrade'' |
| * <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 ===== |
| |
| |
===== 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|Am I using WSL 1 or WSL 2 ?]] 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 |