User Tools

Site Tools


other:win10wsl

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
other:win10wsl [2022/08/29 14:27]
jypeter [Hyper-V requirements] Improved
other:win10wsl [2022/09/06 14:45]
jypeter [Base installation]
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 ==== ==== Hyper-V requirements ====
Line 161: 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 193: 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>Do not use an existing password!</​wrap>​ The security of the Linux running in WSL is weak by design, and somebody could easily extract your password information from a backup of your distribution
     * <​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 352: 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 482: 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 539: Line 551:
 en_US.UTF8 en_US.UTF8
 </​code>​ </​code>​
 +
 +
 ==== Package management ==== ==== Package management ====
  
Line 547: 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 553: 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 722: 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 946: 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 964: Line 983:
  
  
-==== Creating a backup of the Linux running in WSL ====+===== Advanced usage =====
  
-There are several types of WSL related directories that you may want to back up: 
  
-  ​* <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>''​)+==== 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 === 
 + 
 +You can also just create backups of specific directories:​ 
 + 
 +  * 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 984: Line 1039:
 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 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 --list --verbose +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 ​        ​1</​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 ''​vhdx''​ file will start growing (as neededas soon as you use your installation 
-      * <​code>​ > wsl --export Ubuntu ​C:\Scratch\<​your_login>​\<​your_login>​_ubuntu-<​ubuntu_version>​-full_<​some_date>​.tar</​code>​ +  * This is an indirect way of reclaiming ​the unused space of a Linux installation,​ i.e the size of the ''​ext4.vhdx'' ​file after importing can be smaller than the size of the originally exported ''​ext4.vhdx''​ file.
-    * You can optionally open a new terminal (this will start again WSL+Ubuntuto 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+  * Create the directory where the Linux installation (mostly its ''​ext4.vhdx''​ file) will be restored 
 +    * Hint: use an explicit directory path and name using the name of the distribution that will be restored\\ e.g. ''​D:​\WSL_Distributions\Ubuntu_custom''​ 
 +  * Import the distribution,​ giving it a name that does not appear 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 
 +    * Directly from the Windows Terminal pull-down menu 
 +    * Or from a PowerShell, using ''​wsl ​--distribution Ubuntu_custom''​ 
 +    * WARNINGeven if the distribution we imported had an existing default ''​stdu''​ user, 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 default user\\ wsl --distribution Ubuntu_custom ​--user stdu 
 +  * Specify a 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''​ here) 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 
 + 
 +# cat /​etc/​wsl.conf 
 +[user] 
 +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 
 +      * <​code>​$ whoami 
 +stdu 
 +stdu@sadira034:​~$ sudo su - 
 +[sudo] password for stdu: 
 +root@sadira034:​~#​ whoami 
 +root</​code>​
  
 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 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
Line 1044: Line 1109:
     * Can we restore (//clone//) a backed up Linux distribution on another Windows 10 computer for another user?     * 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       * 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 ==== ==== Uninstalling WSL ====
  
-Not too sure about this part...+Before starting, you may want to make a backup of whatever you had in your Ubuntu home directory, and all the files and settings that are not in the ''/​mnt''​ directories 
 + 
 +=== Removing a specific Linux installation === 
 + 
 +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]]) 
 + 
 +You just need to get the list of the currently installed Linux distributions,​ stop them and remove/​unregister a specific distribution name 
 + 
 +<​code>>​ wsl -l -v 
 +  NAME             ​STATE ​          ​VERSION 
 +* Ubuntu ​          ​Stopped ​        2 
 +  Ubuntu_custom ​   Running ​        2 
 + 
 +> wsl --terminate Ubuntu_custom 
 + 
 +> wsl -l -v 
 +  NAME             ​STATE ​          ​VERSION 
 +* Ubuntu ​          ​Stopped ​        2 
 +  Ubuntu_custom ​   Stopped ​        2 
 + 
 +> wsl --unregister Ubuntu_custom 
 +Désinscription... 
 + 
 +> wsl -l -v 
 +  NAME             ​STATE ​          ​VERSION 
 +* Ubuntu ​          ​Stopped ​        ​2</​code>​ 
 + 
 + 
 +=== Removing WSL === 
 + 
 +''​wsl''​ is a 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//).
  
-  * Make a backup of whatever you had in your Ubuntu home directory, and all the files and settings that are not in the ''/​mnt''​ directories 
-  * 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??? 
  
 ===== Miscellaneous ===== ===== Miscellaneous =====
Line 1086: Line 1182:
   * For WSL 2, you also need to meet the [[other:​win10wsl#​hyper-v_requirements|Hyper-V requirements]]   * For WSL 2, you also need to meet the [[other:​win10wsl#​hyper-v_requirements|Hyper-V requirements]]
  
-=== Updating! ​===+=== 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+[[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 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
Line 1102: Line 1198:
   * [[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