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/31 12:50]
jypeter [Creating a backup] Improved
other:win10wsl [2022/09/06 14:54]
jypeter [Base installation] Added a backup step
Line 174: 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 206: 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 363: 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 981: Line 984:
     * Stop //this instance// of Linux (e.g. if it is named //​Ubuntu//​):​ **''​wsl %%--%%terminate Ubuntu''​**     * Stop //this instance// of Linux (e.g. if it is named //​Ubuntu//​):​ **''​wsl %%--%%terminate Ubuntu''​**
     * or Stop //all// the currently running Linux distributions:​ **''​wsl %%--%%shutdown''​**     * or Stop //all// the currently running Linux distributions:​ **''​wsl %%--%%shutdown''​**
- 
- 
-==== 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 
  
  
Line 1012: Line 997:
   * used for //​relocating//​ the full installation from ''​C:​\''​ to another disk   * used for //​relocating//​ the full installation from ''​C:​\''​ to another disk
  
-Detailed ​steps:+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   * Determine the name of the current Linux installation(s) used in WSL
     * <​code>>​ wsl --list --verbose     * <​code>>​ wsl --list --verbose
Line 1029: Line 1014:
  
     * If you are not going to use the backup tar file right away, you can optionally compress it in order to save some space     * 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>​+      * <​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 === === Backup of specific directories ===
Line 1057: Line 1048:
 ==== Restoring or relocating 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 ​(relocatingan installation ​to another disk or partition than the default location ''​C:​\''​+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. 
 + 
 +Note:  
 +  * This is currently the only way of moving (relocating) a Linux installation to another disk than the default ​''​C:​\'' ​location 
 +  * Importing will mostly put the ''​ext4.vhdx''​ file in the specified target location! 
 +    * 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 
 +  * This is an indirect way of reclaiming the unused space of a Linux installationi.e the size of the ''​ext4.vhdx''​ file after importing can be smaller than the size of the originally exported ''​ext4.vhdx''​ file. 
 + 
 +Detailed [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​basic-commands#​import-a-new-distribution|--import]] example: 
 + 
 +  * We assume that we have an exported installation tar file available 
 +    * 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''​ 
 +  * 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 
 + 
 +> 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 
 + 
 +> wsl -l -v 
 +  NAME             ​STATE ​          ​VERSION 
 +* Ubuntu ​          ​Stopped ​        2 
 +  Ubuntu_custom ​   Stopped ​        ​2</​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''​ 
 +    * WARNING: even 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 
 + 
 +# 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 Check if [[https://​wslhub.com/​|WSL Manager]] ​is maintained and can be useful 
 + 
 +This assumes that you have followed the steps above to create ​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 
 + 
 ==== Uninstalling WSL ==== ==== Uninstalling WSL ====
  
Line 1145: Line 1201:
   * [[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