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/30 15:49]
jypeter [Advanced usage]
other:win10wsl [2022/09/07 14:55]
jypeter [Uninstalling WSL] Added main installation removal
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 164: Line 174:
     * 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]]     * 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 a ''​Powershell''​ in //​administrator//​ mode+  * Open a ''​PowerShell''​ in //​administrator//​ mode
     * ''​Start''​=>''​W''​=>''​Windows PowerShell''​ then right-click on ''​Windows PowerShell''​ and select //Run as Administrator//​     * ''​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     * 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
Line 196: Line 206:
   * Reboot the computer and be patient   * 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//     * 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+    * 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\\ <wrap hi>​[[other:​win10wsl#​wsl_security_warning|Do not use an existing password for the Linux installation]]</​wrap>​
     * <​code>​Installing,​ this may take a few minutes...     * <​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.
Line 353: Line 363:
 PS C:\> wsl cat /​proc/​version 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>​ 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>​
 +
 +  * Create a [[other:​win10wsl#​backup_of_a_full_linux_installation|backup of the newly installed distribution]]
 +    * This will allow you to easily [[other:​win10wsl#​restoring_or_relocating_a_linux_installation|restore or relocate your distribution later]]
 ===== After the base installation ===== ===== After the base installation =====
  
Line 541: Line 554:
 en_US.UTF8 en_US.UTF8
 </​code>​ </​code>​
 +
 +
 ==== Package management ==== ==== Package management ====
  
Line 549: Line 564:
   * 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 555: Line 571:
   * ''​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 724: Line 741:
  
  * [[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 948: Line 967:
   * [[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 966: Line 986:
  
  
-==== Creating a backup of the Linux running ​in WSL ====+===== Advanced usage ===== 
 + 
 +==== WSL security WARNING! ==== 
 + 
 +<WRAP center round important 60%> 
 +A regular Linux installation (on a Linux-only computer) is fairly secure,\\ but a Linux installation on WSL is not secure at all, **by design** 
 +</​WRAP>​ 
 + 
 +WSL+Linux is designed to allow you to easily use Linux on Windows, including **very easily using the Linux root account without knowing any password** of the Linux installation! 
 + 
 +<​code>​PS C:​\Users\your_login>​ wsl 
 +wsl_default_user@your_machine:/​mnt/​c/​Users/​your_login$ whoami 
 +wsl_default_user 
 + 
 +PS C:​\Users\your_login>​ wsl -u root 
 +root@your_machine:/​mnt/​c/​Users/​your_login#​ whoami 
 +root</​code>​ 
 + 
 +This is **a feature and not a security issue**, because your installation is protected by your Windows account security 
 + 
 +You should be aware (and act accordingly) that: 
 +  * Somebody gaining access to your Windows account will also have full access to the Linux installation 
 +    * <wrap hi>Do not use an existing password for the WSL Linux account</​wrap>​\\ Somebody could easily extract your password information... 
 +    * Storing data in the Linux part of your computer does not add any extra security 
 +    * Always **make sure that only you can access your Windows account** 
 +    * Your LSCE Windows laptop (not your desktop) is encrypted with [[https://​docs.microsoft.com/​en-us/​windows/​security/​information-protection/​Bitlocker/​bitlocker-overview|BitLocker]],​ which adds some extra security 
 + 
 +  * Somebody gaining access to a backup of your Linux installation will easily have access to the Linux installation itself 
 +    * You can store your Linux installation backup to [[https://​docs.microsoft.com/​en-us/​windows/​security/​information-protection/​bitlocker/​bitlocker-to-go-faq|an external disk encrypted with BitLocker]] 
 +==== 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 [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​basic-commands#​export-a-distribution-to-a-tar-file|--export]] example: 
 +  * Determine the name of the current ​Linux installation(s) used in WSL 
 +    * <​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.4 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>​$ ls -lh /​mnt/​c/​Scratch/<​your_login>/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar 
 + 1.4G Aug 29 17:49 /​mnt/​c/​Scratch/<​your_login>/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar 
 + 
 +$ gzip  /​mnt/​c/​Scratch/<​your_login>/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar 
 + 
 +$ ls -lh /​mnt/​c/​Scratch/<​your_login>/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar.gz 
 + 549M Aug 29 17:49 /​mnt/​c/​Scratch/<​your_login>/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar.gz</​code>​ 
 + 
 +=== Backup of specific directories ​===
  
-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 986: Line 1068:
 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 ​        ​2</​code>​ +
-    * [[other:​win10wsl#​rebooting_wsl|Stop WSL+Linux]] +
-      * <​code>>​ wsl --list --verbose +
-  NAME      STATE           ​VERSION +
-* Ubuntu ​   Running ​        2+
  
-wsl --shutdown+When we have the ''​tar''​ file of a [[other:​win10wsl#​creating_a_backup|FULL backup]], we can use [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​basic-commands#​import-a-new-distribution|--import]] to install or restore it to a specific location.
  
-> wsl -l -v +Note:  
-  ​NAME      STATE           ​VERSION +  * This is currently ​the only way of **moving (//relocating//) a Linux installation** to another disk than the default ​''​C:​\'' ​location 
-* Ubuntu ​   Stopped ​       21</​code>​ +  //​Importing//​ will mostly put the ''​ext4.vhdx''​ file in the specified target location 
-    ​Export ​the current Linux to a //tar// file: +    * You need [[other:​win10wsl#​disk_usage|enough disk space]] in the new disk location, knowing that the size of the //restored// ''​vhdx''​ file will start growing (as neededas soon as you use your installation 
-      ​FIXME ''​wsl --export Ubuntu ​C:\Scratch\jypeter\WSL\WSL_Ubuntu_20.04.4_LTS_stdu_22-08-29.tar''​ +  * Creating a backup ​and restoring ​it is an indirect way of **reclaiming the unused ​space of a Linux installation ​ ''​vhdx''​ file**: the size of the ''​ext4.vhdx''​ file after importing can be smaller than the size of the originally exported ''​ext4.vhdx''​ file.
-        1.4 Gb +
-      * <​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* +Detailed [[https://​docs.microsoft.com/en-us/​windows/​wsl/​basic-commands#​import-a-new-distribution|--import]] example:
-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 +  * We assume that we have an exported installation ''​tar''​ file available 
-$ tar tvf <​your_login>​-20-04-1-full_210224.tar | wc -l +    * In this example, we use the compressed ​backup ​file created in [[other:​win10wsl#​backup_of_a_full_linux_installation|Backup of a FULL Linux installation]]\\ ''​C:​\Scratch\<​your_login>​\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar.gz''​ 
-112711+    * ''​%%--import%%''​ can directly use a ''​.tar.gz''​ file! ([[https://​github.com/​MicrosoftDocs/​WSL/​issues/​1607|wsl --import should mention '​tar.gz'​ support !]]) 
 +  * Create the directory where the Linux installation (mostly its ''​ext4.vhdx''​ file) will be restored 
 +    * Hint: choose an explicit directory path and name, using the name of the distribution that will be restored, because the name of the restored file itself will always be the same (''​ext4.vhdx''​)\\ e.g. ''​D:​\WSL_Distributions\Ubuntu_custom''​ 
 +  * Import the distribution,​ giving it a unique name (that does not appear already in ''​wsl ​-l -v''​) 
 +    * <​code>>​ wsl -l -v 
 +  NAME      STATE           ​VERSION 
 +* Ubuntu ​   Stopped ​        2
  
-$ gzip *ubuntu*.tar+> wsl --import Ubuntu_custom D:​\WSL_Distributions\Ubuntu_custom C:​\Scratch\<​your_login>​\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar.gz
  
-$ ls -ltrh *ubuntu*tar+> wsl -l -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 ​   Stopped ​        2</code
-</code>+    * After importing, there should be a new ''​ext4.vhdx''​ file in the previously empty ''​D:​\WSL_Distributions\Ubuntu_custom''​ directory 
 +  * Start the imported ''​Ubuntu_custom''​ distribution 
 +    * Select ''​Ubuntu_custom''​ in the Windows Terminal pull-down menu 
 +    * Or specify ''​Ubuntu_custom''​ in a PowerShell, using:\\ ''​%%wsl ​--distribution Ubuntu_custom%%''​\\ or ''​wsl -d Ubuntu_custom''​ 
 +    * WARNINGeven if the imported distribution had an existing default user (''​stdu''​ in our example), the //new// default user will be ''​root''​ ! 
 +      * It is possible to explicitly specify the requested user each time we start a terminal, but it will be more convenient to specify a new default user\\ ''​%%wsl ​--distribution Ubuntu_custom ​--user stdu%%''​ 
 +      * You can easily open a ''​root''​ session with\\ ''​%%wsl -d Ubuntu_custom -u root%%''​ 
 +  * Select a new (non ''​root''​) default user (note: [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​use-custom-distro#​add-wsl-specific-components-like-a-default-user|Add WSL a default user]] also shows how to //create a new user//). We just have to use the ''​root''​ account to add a default user (user ''​stdu''​ in this example) to the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​wsl-config#​user-settings|/​etc/​wsl.conf]] file 
 +    ​* ​<​code>​# cat /​etc/​wsl.conf 
 +cat: /​etc/​wsl.conf:​ No such file or directory
  
-==== Restoring a WSL backup ====+# echo -e "​[user]\ndefault=stdu" >> /​etc/​wsl.conf
  
-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 +# cat /etc/wsl.conf 
- +[user] 
-FIXME Check if [[https://​wslhub.com/​|WSL Manager]] is maintained and can be useful+default=stdu<​/code> 
 +    * Restart the Linux installation ​to take the new settings into account 
 +      * ''​%%wsl  ​--terminate Ubuntu_custom%%''​ 
 +    * If you need the ''​root''​ account later, you will need to use the ''​sudo''​ command from the new default account (or use ''​wsl -d Ubuntu_custom ​-u root'' ​in a PowerShell) 
 +      * <​code>​$ whoami 
 +stdu 
 +stdu@sadira034:​~$ sudo su - 
 +[sudo] password for stdu: 
 +root@sadira034:​~#​ whoami 
 +root</code>
  
-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: +Questions FIXME 
-  * ''​wsl %%--%%import <​DistributionName>​ <​InstallLocation>​ ubuntu_<​your_login>​_<​some_date>​.tar''​ +  * Is it possible ​to restore to the default location (on ''​C:​\''​
-    * Note: found a page mentioning that you should be in a terminal with admin rights when using ''​%%--%%import''​ +==== Uninstalling WSL or a distribution ​====
-    * 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//​) ​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+
  
- +Before ​uninstalling //​something//​, you probably ​want to [[other:​win10wsl#​creating_a_backup|create ​a backup]]just to be safe...
-===== Advanced usage ===== +
- +
-==== Creating a backup of a Linux installation ==== +
- +
- +
-==== Restoring or relocating a Linux installation ==== +
- +
-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 ==== +
- +
-Before ​starting, you may want to make a backup ​of whatever you had in your Ubuntu home directoryand all the files and settings that are not in the ''/​mnt''​ directories+
  
 === Removing a specific Linux installation === === Removing a specific Linux installation ===
Line 1087: Line 1157:
 * Ubuntu ​          ​Stopped ​        ​2</​code>​ * Ubuntu ​          ​Stopped ​        ​2</​code>​
  
 +
 +=== Removing the main Linux installation ===
 +
 +If you remove the main installation (on ''​C:​\''​):​
 +  * Another //​relocated//​ installation will become the new default installation (if present)
 +    * <​code>​PS C:​\Users\your_login>​ wsl -l -v
 +  NAME             ​STATE ​          ​VERSION
 +  Ubuntu_custom ​   Running ​        2
 +* Ubuntu ​          ​Running ​        2
 +
 +PS C:​\Users\your_login>​ wsl --unregister Ubuntu
 +Désinscription...
 +
 +PS C:​\Users\your_login>​ wsl -l -v
 +  NAME             ​STATE ​          ​VERSION
 +* Ubuntu_custom ​   Running ​        ​2</​code>​
 +
 +  * The initial installation directory will still be present on ''​C:​\'',​ and should probably be left untouched:
 +    * ''​C:​\Users\your_login\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\''​
 +    * ...with a very low disk usage (the big ''​ext4.vhdx''​ is removed during the ''​unregister''​ step)
 +
 +  * ''​Ubuntu''​ will still appear in the Microsoft store, and clicking on ''​Launch''​ will trigger a re-installation on ''​C:​\''​
 +    * If you end up with an installation error message and a new //orphan// ''​ext4.vhdx''​ file on ''​C'',​ click on ''​Launch''​ to restart and complete the installation
 +
 +  * ''​Ubuntu''​ will still appear in the list of installed applications (''​Windows''​ + ''​I''​ => ''​Applications''​) but with a smaller disk usage, probably just the size of the //Linux kernel// installed and updated independently of the Linux installations)
  
 === Removing WSL === === Removing WSL ===
Line 1145: Line 1240:
   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​release-notes|Release Notes for Windows Subsystem for Linux]]   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​release-notes|Release Notes for Windows Subsystem for Linux]]
  
 +  * [[https://​craigloewen-msft.github.io/​WSLTipsAndTricks/​|WSL Tips and Tricks]]
   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​faq|Frequently Asked Questions]]   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​faq|Frequently Asked Questions]]
   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting|Troubleshooting]]   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting|Troubleshooting]]
other/win10wsl.txt · Last modified: 2023/12/06 13:24 by jypeter