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/26 15:07]
jypeter [Updating WSL 1 to WSL 2] Improved
other:win10wsl [2022/08/31 12:42]
jypeter Finished moving the backup section
Line 3: Line 3:
 [[other:​index#​windows_10_notes|Other Windows 10 related notes]] [[other:​index#​windows_10_notes|Other Windows 10 related notes]]
  
-<note warning>+<WRAP center round important 60%>
   * What is described on this page was tested with [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions#​whats-new-in-wsl-2|WSL 2]].\\ **WSL 2** is available in [[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]]   * What is described on this page was tested with [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions#​whats-new-in-wsl-2|WSL 2]].\\ **WSL 2** is available in [[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]]
  
-  * You can also check JYP's [[other:​win10_wsl_1|original WSL 1 instructions]] ​+  * You can also check JYP's [[other:​win10_wsl_1|original WSL 1 instructions]] 
 +    * ...but even **if you need WSL 1, you should use this page for installing WSL, and then switch to WSL 1** with [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​basic-commands#​set-default-wsl-version|--set-default-version]] or [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​basic-commands#​set-wsl-version-to-1-or-2|--set-version]]
  
   * The user can choose to install Linux using **WSL 1 or WSL 2**   * The user can choose to install Linux using **WSL 1 or WSL 2**
     * **WSL 2 should be your default choice**     * **WSL 2 should be your default choice**
     * If you have doubts, check the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions|differences between WSL1 and WSL2]] and read [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions#​exceptions-for-using-wsl-1-rather-than-wsl-2|Exceptions for using WSL 1 rather than WSL 2]] before choosing     * If you have doubts, check the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions|differences between WSL1 and WSL2]] and read [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions#​exceptions-for-using-wsl-1-rather-than-wsl-2|Exceptions for using WSL 1 rather than WSL 2]] before choosing
-</note>+</WRAP> 
 + 
 + 
 +<WRAP center round tip 60%> 
 +The commands on this page have to be typed: 
 +  * either in **Windows PowerShell terminals** 
 +  * or in **bash terminals running in WSL** 
 +It should be clear enough which type of terminal you have to use 
 +</​WRAP>​ 
  
  
Line 35: Line 45:
 Once you have verified that your Windows is recent enough, you should also: 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 +  * Your should really **install ​the [[other:​win10apps#​windows_terminal|Windows terminal]]**, because it will be one of useful ​the ways to open ''​Ubuntu''​ terminals, once ''​Ubuntu''​ is installed 
-  * Know how to use copy-paste in a Powershell ​FIXME +  ​* **Know how to use copy-paste** in
-  * It will be useful to be able to [[other:​win10config#​displaying_hidden_folders_and_files_and_the_files_extension|see hidden folders and files]] +    * //Windows Terminal//: [[https://​docs.microsoft.com/​en-us/​windows/​terminal/​selection|Selecting text in Windows Terminal]] 
-  * Have at least some basic knowledge of Linux...+    * an old ''​cmd''​ command prompt or 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 some basic knowledge of Linux**...
     * Get some [[other:​newppl:​starting#​useful_documentation_for_beginners|basic Linux documentation]] if required     * Get some [[other:​newppl:​starting#​useful_documentation_for_beginners|basic Linux documentation]] if required
 ==== Computer CPU and memory ==== ==== Computer CPU and memory ====
Line 127: Line 139:
  
   * 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''​   * 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''​
 +    * Size of the [[other:​win10wsl#​creating_a_backup_of_the_linux_running_in_wsl|backup tar file]] of this installation,​ generated with ''​%%wsl --export%%'':​ ~1.4 Gb
 +
 +==== Hyper-V requirements ====
 +
 +<WRAP center round tip 60%>
 +You can skip reading this WSL //​requirement//​ if you are installing WSL for the first time, and are therefor directly installing WSL 2
 +
 +Come back later if you have problems
 +</​WRAP>​
 +
 +
 +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 (e.g. [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting#​error-0x80370102-the-virtual-machine-could-not-be-started-because-a-required-feature-is-not-installed|The virtual machine could not be started because a required feature is not installed]]),​ or if you are updating WSL 1 to WSL 2, type ''​systeminfo''​ in a PowerShell to check if your machine meets 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]].\\ You can have a look at the [[https://​en.wikipedia.org/​wiki/​X86_virtualization|x86 virtualization]] wikipedia page if you are wondering what ''​VT-x''​ and ''​VT-d''​ means for //Intel// processors (''​AMD-v''​ and ''​AMD IOMMU''​ for //AMD//)
  
 +Example: HP laptop with an **Intel** CPU, and **virtualization not activated in the BIOS**
 +  * //Hyper-V// section of the ''​systeminfo''​ output
 +    * <​code>​Configuration requise pour Hyper-V: ​        ​Extensions de mode du moniteur d’ordinateur virtuel : Oui
 +                                            Virtualisation activée dans le microprogramme :​ Non
 +                                            Traduction d’adresse de second niveau : Oui
 +                                            Prévention de l’exécution des données disponible :​ Oui</​code>​
 +  * //​Virtualization//​ section of the [[other:​bios#​entering_the_bios|HP BIOS]]: you need to **enable ''​Virtualization Technology (VTx)''​ and ''​Virtualization Technology for Directed I/O (VTd)''​** in the BIOS, save the settings and finish booting
 +    * {{ :​other:​hp_bios_vtx_vtd.png?​direct&​600 |}}
 +  * //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 =====
Line 327: Line 365:
 ===== After the base installation ===== ===== After the base installation =====
  
-Once you have completed ​the base installation steps, you'​ll ​get a Ubuntu machinewith a //root// and user account ​(pre-configured to use ''​sudo''​ for commands that need root access) and lots of pre-installed applications ​(but no graphics).+After completing ​the base installation steps, you get a //Ubuntu// machine with
 +  * a //root// and //user// account 
 +    * the //​user// ​account ​is pre-configured to use ''​sudo''​ for commands that need root access 
 +  * pre-installed ​base Linux applications 
 +    * **no** graphics 
 +    * enough to play a bit with a Linux computer and test that the installation is working, but not enough to do some real work
  
 ==== Opening a terminal ==== ==== Opening a terminal ====
Line 457: Line 500:
 ==== Ubuntu packages installed ==== ==== Ubuntu packages installed ====
  
-<​code>​$ dpkg --list+<​code>​$ dpkg --list ​| head -n 10
 Desired=Unknown/​Install/​Remove/​Purge/​Hold Desired=Unknown/​Install/​Remove/​Purge/​Hold
 | Status=Not/​Inst/​Conf-files/​Unpacked/​halF-conf/​Half-inst/​trig-aWait/​Trig-pend | Status=Not/​Inst/​Conf-files/​Unpacked/​halF-conf/​Half-inst/​trig-aWait/​Trig-pend
 |/ Err?​=(none)/​Reinst-required (Status,​Err:​ uppercase=bad) |/ Err?​=(none)/​Reinst-required (Status,​Err:​ uppercase=bad)
-||/ Name                  Version ​        ​Architecture ​   Description +||/ Name                           ​Version ​                          ​Architecture Description 
-+++-=====================-===============-===============-================================================ ++++-==============================-=================================-============-=============================================================================== 
-ii  accountsservice ​      ​0.6.45-1ubuntu1 ​amd64           ​query and manipulate user account information +ii  accountsservice ​               0.6.55-0ubuntu12~20.04.5 ​         ​amd64        query and manipulate user account information 
-ii  acl                   ​2.2.52-3build1 ​ amd64           ​Access control list utilities +ii  adduser ​                       3.118ubuntu2 ​                     ​all          add and remove users and groups 
-ii  acpid                 ​1:​2.0.28-1ubunt amd64           ​Advanced Configuration and Power Interface event +ii  ​alsa-topology-conf             1.2.2-1 ​                          all          ALSA topology configuration files 
-ii  adduser ​              ​3.116ubuntu1 ​   ​all             ​add and remove users and groups +ii  ​alsa-ucm-conf ​                 ​1.2.2-1ubuntu0.13 ​                ​all ​         ALSA Use Case Manager configuration files 
- +ii  ​apparmor ​                      2.13.3-7ubuntu5.1 ​                amd64        user-space parser utility for AppArmor
-[...] +
-ii  ​xterm                 330-1ubuntu2 ​   amd64           X terminal emulator +
-ii  xxd                   ​2:​8.0.1453-1ubu amd64           tool to make (or reverse) a hex dump +
-ii  xz-utils ​             5.2.2-1.3       ​amd64 ​          ​XZ-format compression utilities +
-ii  ​zerofree ​             ​1.0.4-1         ​amd64 ​          zero free blocks from ext2, ext3 and ext4 file-s +
-ii  ​zlib1g:​amd64 ​         1:1.2.11.dfsg-amd64           compression library ​runtime+
  
  
-$ dpkg --list > /​mnt/​c/​Scratch/​jyp/pkg_initial_201601.txt +$ dpkg --list > /​mnt/​c/​Scratch/​jypeter/Ubuntu_Installed_List_`date +"​%y-%m-%d"​`.txt 
-$ wc -l /​mnt/​c/​Scratch/​jyp/pkg_initial_201601.txt +$ wc -l /​mnt/​c/​Scratch/​jypeter/Ubuntu_Installed_List_*.txt 
-628 /​mnt/​c/​Scratch/​jypeter/​pkg_initial_201601.txt</​code>​+642 /​mnt/​c/​Scratch/​jypeter/​Ubuntu_Installed_List_22-08-29.txt</​code>​
  
-Full (example) list of installed packages: {{:other:pkg_initial_201601.txt|pkg_initial_201601.txt}}+Full (example) list of installed packages: {{ :other:ubuntu_installed_list_22-08-29.txt |}}
  
 ==== Update ubuntu ==== ==== Update ubuntu ====
Line 514: Line 551:
 en_US.UTF8 en_US.UTF8
 </​code>​ </​code>​
 +
 +
 ==== Package management ==== ==== Package management ====
  
Line 522: Line 561:
   * Install the **synaptic** package manager: ''​aptitude install synaptic''​   * Install the **synaptic** package manager: ''​aptitude install synaptic''​
     * [[https://​doc.ubuntu-fr.org/​synaptic|details]] (fr)     * [[https://​doc.ubuntu-fr.org/​synaptic|details]] (fr)
 +
  
 === Useful commands === === Useful commands ===
Line 528: Line 568:
   * ''​dpkg -L package_name'':​ list files installed from ''​package_name''​   * ''​dpkg -L package_name'':​ list files installed from ''​package_name''​
   * ''​dpkg -S path/​command'':​ name of the package used to install ''​path/​command''​   * ''​dpkg -S path/​command'':​ name of the package used to install ''​path/​command''​
 +
  
 === Example === === Example ===
Line 697: Line 738:
  
  * [[https://​linoxide.com/​how-to-clear-apt-cache/​|How to Clear Apt Cache]]  * [[https://​linoxide.com/​how-to-clear-apt-cache/​|How to Clear Apt Cache]]
 +
 +
 ===== Advanced configuration ===== ===== Advanced configuration =====
  
Line 921: Line 964:
   * [[https://​github.com/​Microsoft/​WSL/​issues/​2636|Automount additonal filesystems from fstab]]   * [[https://​github.com/​Microsoft/​WSL/​issues/​2636|Automount additonal filesystems from fstab]]
   * [[https://​gist.github.com/​sgtoj/​f82990bcd9e89db49b84e2d2e70b281d|Ubuntu for Windows: Mounting C: Drive to WSL's Root]]   * [[https://​gist.github.com/​sgtoj/​f82990bcd9e89db49b84e2d2e70b281d|Ubuntu for Windows: Mounting C: Drive to WSL's Root]]
 +
  
 ==== Rebooting WSL ==== ==== Rebooting WSL ====
Line 939: Line 983:
  
  
-==== Creating a backup of the Linux running ​in WSL ====+==== Restoring a WSL backup ==== 
 + 
 +FIXME Read [[https://​www.howtogeek.com/​426562/​how-to-export-and-import-your-linux-systems-on-windows-10/​|How to Export and Import Your Linux Systems on Windows 10]] and [[https://​winaero.com/​blog/​export-import-wsl-linux-distro-windows-10/​|Export and Import WSL Linux Distro in Windows 10]] and similar threads 
 + 
 +FIXME Check if [[https://​wslhub.com/​|WSL Manager]] is maintained and can be useful 
 + 
 +This assumes that you have followed the steps above to create a full backup of your Linux distribution in a ''​ubuntu_<​your_login>​_<​some_date>​.tar''​ file. This file can theoretically be restored with: 
 +  * ''​wsl %%--%%import <​DistributionName>​ <​InstallLocation>​ ubuntu_<​your_login>​_<​some_date>​.tar''​ 
 +    * Note: found a page mentioning that you should be in a terminal with admin rights when using ''​%%--%%import''​ 
 +    * Can we use the same ''<​DistributionName>''​ (e.g. ''​Ubuntu''​) as the one we are trying to restore without first removing it with ''​unregister''​ ([[https://​docs.microsoft.com/​en-us/​windows/​wsl/​wsl-config#​unregister-and-reinstall-a-distribution|Unregister and reinstall a distribution]])?​ 
 +    * If we use a new distribution name, it will probably not appear anymore in the Microsoft Store and will not be updated. Is this a problem? 
 +    * It seems we can use ''<​InstallLocation>''​ to install anywhere! What should we do if we want to restore to the default location (in the hidden directory)?​ 
 +      * Can we install out of the current user's Windows folder? 
 +      * Can we install out of ''​C:​\''?​ 
 +    * Can we restore (//clone//) a backed up Linux distribution on another Windows 10 computer for another user? 
 +      * if the default user (and its password) has to be changed, you probably have to follow the steps to [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​user-support#​for-fall-creators-update-and-later|reset the Linux password]] and find a way to create a new account when the ''​root''​ password is activated 
 + 
 + 
 +===== Advanced usage ===== 
 + 
 + 
 +==== Creating a backup ​==== 
 + 
 +=== Backup ​of a FULL Linux installation === 
 + 
 +You can use ''​wsl''​ to [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​faq#​how-can-i-back-up-my-wsl-distributions--or-move-them-from-one-drive-to-another-|save a full Linux installation]] to a //tar// file, that can be: 
 +  * used later for //​restoring// ​the full installation 
 +  * used for //​relocating//​ the full installation from ''​C:​\''​ to another disk 
 + 
 +Detailed steps: 
 +  * Determine the name of the current ​Linux installation used in WSL (and see if it is running, and using //WSL 1// or //WSL 2//) 
 +    * <​code>>​ wsl --list --verbose 
 +  NAME      STATE           ​VERSION 
 +* Ubuntu ​   Running ​        ​2</​code>​ 
 +  * [[other:​win10wsl#​rebooting_wsl|Stop WSL+Linux]] 
 +      * <​code>>​ wsl --shutdown 
 + 
 +> wsl -l -v 
 +  NAME      STATE           ​VERSION 
 +* Ubuntu ​   Stopped ​        ​2</​code>​ 
 +  * Export the specified Linux installation to a //tar// file: 
 +    * You should export to a directory or external disk where you have //enough// space\\ e.g. The tar file for a [[other:​win10wsl#​base_installation|newly installed and updated]] //Ubuntu 20.04.5 LTS// is ~1.G Gb 
 +    * You should use a detailed enough file name for the tar file\\ e.g. WSL_<​Linux_Distribution>​_<​Distribution_Version>​_<​User>​_<​Date>​.tar 
 +    * Example: ''​wsl --export Ubuntu C:​\Scratch\<​your_login>​\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar''​ 
 + 
 +    * If you are not going to use the backup tar file right away, you can optionally compress it in order to save some space 
 +      * <​code>​Add compression example here</​code>​ 
 + 
 +=== Other types of backup ​===
  
-There are several types of WSL related ​directories ​that you may want to back up:+You can also just create backups ​of specific ​directories:​
  
-  * <wrap hi>Your Linux //home// directory</​wrap> ​(''/​home/<​your_login>''​),​ or some specific sub-directories of the //Ubuntu// running in WSL (sub-directories of ''/''​): ​all these files are located in a [[other:​win10wsl#​location_of_the_files|hidden sub-directory of you Windows directory]],​ and the best way to save them is probably to **create a tar file from Linux**, and put this tar file in a specific Windows //WSL backup folder// (we will use below the directory ''/​mnt/​c/​Scratch/<​your_login>''​ or ''​c:​\Scratch\<​your_login>''​)+  * Your Linux //home// directory (''/​home/<​your_login>​/''​),​ or some specific sub-directories of the //Ubuntu// running in WSL (sub-directories of ''/''​):​ the best way to save them is probably to **create a tar file from Linux**, and put this tar file in a specific Windows //WSL backup folder// (we will use below the directory ''/​mnt/​c/​Scratch/<​your_login>''​ or ''​c:​\Scratch\<​your_login>''​)
     * <code bash>$ cd /home     * <code bash>$ cd /home
  
Line 959: Line 1051:
 95K Feb 24 12:09 /​mnt/​c/​Scratch/<​your_login>/<​your_login>​_home_210224_1209.tgz</​code>​ 95K Feb 24 12:09 /​mnt/​c/​Scratch/<​your_login>/<​your_login>​_home_210224_1209.tgz</​code>​
  
-  * <wrap hi>Regular Windows folders</​wrap> ​where you store data used by WSL: you can use ''​tar''​ in a Linux terminal, as above, or use any usual way of backing up Windows files (drag and drop, some specific [[other:​win10apps#​backup_software|backup software]])+  * Regular Windows folders where you store data used by WSL: you can use ''​tar''​ in a Linux terminal, as above, or use any usual way of backing up Windows files (drag and drop, some specific [[other:​win10apps#​backup_software|backup software]]) 
 +    * WARNING: there should not be performance issues using ''​tar''​ (from Linux) to make a backup of Windows files with WSL 1, but **WSL 2 is significantly slower than WSL 1 to access Windows files** ([[https://​docs.microsoft.com/​en-us/​windows/​wsl/​compare-versions#​exceptions-for-using-wsl-1-rather-than-wsl-2|Exceptions for using WSL 1 rather than WSL 2]]
  
-  * <wrap hi>The **full** Linux/​Ubuntu installation</​wrap>​ running in WSL (based on [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​faq#​how-can-i-back-up-my-wsl-distros-or-move-them-from-one-drive-to-another|How can I back up my WSL distros?​]]). The following steps will save the full installation in a tar file, that can be used later for restoring the full installation (//​restoration//​ not tested yet) 
-    * Open a **Windows terminal** (preferably a //​PowerShell//​ if you need easy copy/​paste)\\ The //Windows// terminal is where you will type the ''​wsl''​ commands shown below 
-    * Determine the name of the current Linux installation used in WSL (and see if it is running, and using //WSL 1// or //WSL 2//) 
-      * <​code>>​ wsl --list --all 
-Distributions du sous-système Windows pour Linux : 
-Ubuntu (par défaut) 
  
-> wsl --list --verbose +==== Restoring or relocating a Linux installation ====
-  NAME      STATE           ​VERSION +
-* Ubuntu ​   Running ​        ​1</​code>​ +
-    * [[other:​win10wsl#​rebooting_wsl|Stop WSL+Linux]] +
-      * <​code>>​ wsl --list --verbose +
-  NAME      STATE           ​VERSION +
-* Ubuntu ​   Running ​        1+
  
-> wsl --shutdown+When we have a backup in a tar file, we can restore it to the default location (Check ?? FIXME), or specify where we want to restore it. This is a way of moving (relocating) an installation to another disk or partition than the default location ''​C:​\''​ 
 +==== Uninstalling WSL ====
  
-> wsl --list --verbose +Before starting, you may want to make backup of whatever you had in your Ubuntu ​home directory, and all the files and settings that are not in the ''​/mnt''​ directories
-  NAME      STATE           ​VERSION +
-* Ubuntu ​   Stopped ​        ​1</​code>​ +
-    * Export the current Linux to a //tar// file: +
-      * <​code>​ > wsl --export ​Ubuntu ​C:​\Scratch\<​your_login>​\<​your_login>​_ubuntu-<​ubuntu_version>​-full_<​some_date>​.tar</​code>​ +
-    * You can optionally open a new terminal (this will start again WSL+Ubuntu) to get some information about the created file (size and number of saved files/​directories), ​and compress it in order to save some disk space +
-      * <​code>​$ cd /mnt/​c/​Scratch/<​your_login>​+
  
-$ ls -ltrh *ubuntu*tar* +=== Removing a specific Linux installation ===
-976M Jan 21  2020 <​your_login>​_200121.tar.gz +
-2.8G Aug 22  2020 <​your_login>​-16.04-full_200822.tar +
-3.4G Feb 24 14:06 <​your_login>​-20-04-1-full_210224.tar+
  
-# Determine the number of files/directories in the backup +This process is called ​//​unregistering//​ (based on [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​basic-commands#​unregister-or-uninstall-a-linux-distribution|Unregister or uninstall a Linux distribution]])
-$ tar tvf <​your_login>​-20-04-1-full_210224.tar | wc -+
-112711+
  
-$ gzip *ubuntu*.tar+You just need to get the list of the currently installed Linux distributions,​ stop them and remove/​unregister a specific distribution name
  
-$ ls -ltrh *ubuntu*tar* +<code>> ​wsl --v 
-976M Jan 21  2020 <your_login>_200121.tar.gz +  ​NAME ​            ​STATE ​          ​VERSION 
-1.2G Aug 22  2020 <​your_login>-16.04-full_200822.tar.gz +* Ubuntu ​          ​Stopped ​        2 
-1.8G Feb 24 14:06 <​your_login>​-20-04-1-full_210224.tar.gz +  Ubuntu_custom ​   Running ​        2
-</​code>​+
  
-==== Restoring a WSL backup ====+> wsl --terminate Ubuntu_custom
  
-FIXME Read [[https://​www.howtogeek.com/​426562/​how-to-export-and-import-your-linux-systems-on-windows-10/​|How to Export and Import Your Linux Systems on Windows 10]] and [[https://​winaero.com/​blog/​export-import-wsl-linux-distro-windows-10/|Export and Import WSL Linux Distro in Windows 10]] and similar threads+wsl --
 +  NAME             ​STATE ​          ​VERSION 
 +* Ubuntu ​          ​Stopped ​        2 
 +  Ubuntu_custom ​   Stopped ​        2
  
-FIXME Check if [[https://​wslhub.com/|WSL Manager]] is maintained and can be useful+> wsl --unregister Ubuntu_custom 
 +Désinscription...
  
-This assumes that you have followed the steps above to create a full backup of your Linux distribution in a ''​ubuntu_<​your_login>_<​some_date>​.tar''​ file. This file can theoretically be restored with: +> wsl --v 
-  * ''​wsl %%--%%import <​DistributionName>​ <​InstallLocation>​ ubuntu_<​your_login>​_<​some_date>​.tar''​ +  ​NAME ​            ​STATE ​          ​VERSION 
-    * Note: found a page mentioning that you should be in a terminal with admin rights when using ''​%%--%%import''​ +Ubuntu ​          ​Stopped ​        2</code>
-    Can we use the same ''​<DistributionName>''​ (e.g. ''​Ubuntu''​) as the one we are trying to restore without first removing it with ''​unregister''​ ([[https://​docs.microsoft.com/​en-us/​windows/​wsl/​wsl-config#​unregister-and-reinstall-a-distribution|Unregister and reinstall a distribution]])?​ +
-    * If we use a new distribution name, it will probably not appear anymore in the Microsoft Store and will not be updated. Is this a problem? +
-    * It seems we can use ''<​InstallLocation>''​ to install anywhere! What should we do if we want to restore to the default location (in the hidden directory)?​ +
-      * Can we install out of the current user's Windows folder? +
-      * Can we install out of ''​C:​\''?​ +
-    * Can we restore (//clone//) a backed up Linux distribution on another Windows 10 computer for another user? +
-      * if the default user (and its password) has to be changed, you probably have to follow the steps to [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​user-support#​for-fall-creators-update-and-later|reset the Linux password]] and find a way to create a new account when the ''​root''​ password is activated +
-==== Uninstalling WSL ====+
  
-Not too sure about this part... 
  
-  * Make backup ​of whatever you had in your Ubuntu home directory, and all the files and settings that are not in the ''​/mnt'' ​directories +=== Removing WSL === 
-  * Find how to unregister Ubuntu on the [[https://​docs.microsoft.com/en-us/windows/wsl/wsl-config|Manage ​and configure Windows Subsystem for Linux]] page + 
-  * and then disable WSL???+''​wsl''​ is part of the Windows system ​and probably can't be removed. 
 + 
 +Anyway, when all existing Linux distributions ​are uninstalled,​ there should ​not be any big ''​.vhdx'' ​files remaining (i.e. //no extra disk space used//), and there will not be any Linux processes running (i.e. //no extra CPU used//). 
  
 ===== Miscellaneous ===== ===== Miscellaneous =====
  
-==== Updating ​WSL 1 to WSL 2 ====+==== 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>​ 
  
-=== Am I using WSL 1 or WSL 2 ? ===+=== Determining which version of WSL is installed ​===
  
-If you have never used WSL on this computer ​(and for **this user**), WSL 2 will be installed directly when you follow the [[other:​win10wsl#​base_installation|Base installation]] steps+If you have never used WSL on computer, WSL 2 will be installed directly when you follow the [[other:​win10wsl#​base_installation|Base installation]] steps
  
-If you are not sure if you are currently using WSL 1 or WSL 2, you can check [[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+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   * ''​wsl --update''​ will give the same output (i.e. the installed Linux kernel version) for both WSL 1 and WSL 2
Line 1043: Line 1116:
 Version du noyau : 5.10.102.1</​code>​ 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+  * ''​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     * <​code>​PS C:​\Users\jypeter>​ wsl --status
 Distribution par défaut : Ubuntu Distribution par défaut : Ubuntu
Line 1050: Line 1123:
 Pour plus d’informations,​ rendez-vous sur https://​aka.ms/​wsl2-install</​code>​ 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]]
 +
 +=== Upgrading WSL ===
 +
 +
 +[[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 ==== ==== Potentially useful stuff ====
other/win10wsl.txt · Last modified: 2023/12/06 13:24 by jypeter