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
other:win10wsl [2020/01/21 11:57]
jypeter [Mounting disks and network drives]
other:win10wsl [2020/07/08 16:38] (current)
jypeter [Installing an X server]
Line 1: Line 1:
-====== Windows Subsystem for Linux, and Ubuntu ======+====== Windows Subsystem for Linux (WSL), and Ubuntu ======
  
-<note warning>​What is described on this page was tested with **WSL v1**, and not WSL2 (WSL2 will be available for testing mid-2019, and maybe available for actual use in 2020). It should be possible to install both WSL v1 and v2 on the same computer and WSL v2 will theoretically have faster I/O, but we recommend you use WSL v1 for now</​note>​+[[other:​index#​windows_10_notes|Other Windows 10 related notes]] 
 + 
 +<note warning>​What is described on this page was tested with **WSL v1**, and not WSL 2 ([[https://​docs.microsoft.com/​en-us/​windows/​wsl/​wsl2-index|WSL 2]] will be available for testing mid-2019 ​through the //Windows Insider Program//, and maybe available for actual use in 2020). 
 + 
 +It should be possible to install both WSL v1 and v2 on the same computer and WSL v2 will theoretically have faster I/O, but **we recommend you use WSL v1 for now**</​note>​
  
 Read just the top of the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​about|Windows Subsystem for Linux Documentation]] for a quick **WSL** description on the Microsoft site Read just the top of the [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​about|Windows Subsystem for Linux Documentation]] for a quick **WSL** description on the Microsoft site
  
-In a few words, WSL is not Linux, it's more a way to [[https://​blogs.msdn.microsoft.com/​wsl/​2016/​06/​15/​wsl-file-system-support/​|share files between Windows and Linux]] (it's OK to skip this rather technical link!). That's why you need //WSL **and** a Linux distribution//​.+In a few words, WSL is not Linux, it's more a way to [[https://​blogs.msdn.microsoft.com/​wsl/​2016/​06/​15/​wsl-file-system-support/​|share files between Windows and Linux]] (it's OK to skip this rather technical link!). [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​faq#​are-files-in-the-linux-drive-different-from-the-mounted-windows-drive|Files under the Linux root (i.e. /) are controlled by WSL which mimics Linux specific behavior [...follow the link for details...]]]. That's why you need //to activate ​WSL **and then install ​a Linux distribution**//.
  
 ===== Prerequisites ===== ===== Prerequisites =====
Line 15: Line 19:
       * Note: there is sometimes a delay between the official release and the time when Windows Update will actually tell you that a major update is available for **your** computer (e.g. the //September YY09// update may become available for you only in December)       * Note: there is sometimes a delay between the official release and the time when Windows Update will actually tell you that a major update is available for **your** computer (e.g. the //September YY09// update may become available for you only in December)
   * //Enough// space on ''​C:​\''​. Microsoft instructions say //The Windows Subsystem for Linux only runs on your system drive (usually this is your C: drive)//   * //Enough// space on ''​C:​\''​. Microsoft instructions say //The Windows Subsystem for Linux only runs on your system drive (usually this is your C: drive)//
-    * The initial installation of Ubuntu ​does not //seem// to use much disk space (< 1 Gb), but you will get a basic Linux with no graphics, ​and you will probably ​need space for installing more applications+    * Exporting a //​simple// ​Ubuntu ​configuration (after doing everything from //Base installation// to //Advanced configuration//​ below) with the [[other:​win10wsl#​creating_a_backup_of_the_linux_running_in_wsl|wsl --export]] command generated a 2.7 Gb tar file (uncompressed), so it's probably good to **start ​with at least 3 Gb of free space on ''​C:​\''​** (and you always ​need to keep enough free space on ''​C:​\'' ​for regular Windows operation)
     * The Linux ''/''​ and ''/​home''​ partitions will always be on ''​C:'',​ but the data files can be on any Windows disk/​partition (or external drive) of the computer     * The Linux ''/''​ and ''/​home''​ partitions will always be on ''​C:'',​ but the data files can be on any Windows disk/​partition (or external drive) of the computer
       * the Windows partitions will be available and accessible in ''/​mnt/'',​ so you can store data on other partitions (e.g. the content of the Windows ''​D:​\''​ partition will be available in ''/​mnt/​d''​ in Linux)       * the Windows partitions will be available and accessible in ''/​mnt/'',​ so you can store data on other partitions (e.g. the content of the Windows ''​D:​\''​ partition will be available in ''/​mnt/​d''​ in Linux)
Line 21: Line 25:
       * Checking the properties of ''​C:​\Users\<​your_login>''​ will **not** report an accurate size and number of files, because lots of files and directories are hidden! On the test laptop, the reported size of the user backed up directory (with [[other:​win10apps#​syncbackfree|SyncBackFree]]) was ~20 Gb (user data, WSL+Ubuntu, custom install of the CDAT 8.1 python distribution)       * Checking the properties of ''​C:​\Users\<​your_login>''​ will **not** report an accurate size and number of files, because lots of files and directories are hidden! On the test laptop, the reported size of the user backed up directory (with [[other:​win10apps#​syncbackfree|SyncBackFree]]) was ~20 Gb (user data, WSL+Ubuntu, custom install of the CDAT 8.1 python distribution)
       * Be sure to monitor the remaining free space on ''​C:''​!       * Be sure to monitor the remaining free space on ''​C:''​!
 +  * Note: it seems that [[other:​win10wsl#​restoring_a_wsl_backup|wsl --import]] can restore a backed-up Linux to a user specified location. Maybe this can be used for moving Ubuntu...
  
 ===== Base installation ===== ===== Base installation =====
Line 28: Line 33:
   * Follow **closely** the steps listed in [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-win10|WSL Windows 10 Installation Guide]]. <wrap hi>Open this [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-win10|WSL Windows 10 Installation Guide]] in another window, so that you can **read the useful hints below at the same time!**</​wrap>​   * Follow **closely** the steps listed in [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-win10|WSL Windows 10 Installation Guide]]. <wrap hi>Open this [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-win10|WSL Windows 10 Installation Guide]] in another window, so that you can **read the useful hints below at the same time!**</​wrap>​
     * When you have to //Open PowerShell as Administrator//,​ go to ''​Start''​=>''​W''​=>''​Windows PowerShell''​ then right-clik on ''​Windows PowerShell''​ and select //Run as Administrator//​     * When you have to //Open PowerShell as Administrator//,​ go to ''​Start''​=>''​W''​=>''​Windows PowerShell''​ then right-clik on ''​Windows PowerShell''​ and select //Run as Administrator//​
 +    * FIXME At this stage, we could try to restore/​clone a previously installed/​customized/​backed-up version of Ubuntu if we have one (see [[other:​win10wsl#​restoring_a_wsl_backup|Restoring a WSL backup]])
     * In the //Install your Linux Distribution of Choice//, we will use the very easy //install from the Microsoft Store// option     * In the //Install your Linux Distribution of Choice//, we will use the very easy //install from the Microsoft Store// option
       * Open the **Microsoft Store** with: ''​Start''​=>''​Microsoft Store''​       * Open the **Microsoft Store** with: ''​Start''​=>''​Microsoft Store''​
Line 124: Line 130:
 === Linux files seen from Windows === === Linux files seen from Windows ===
  
-The content of the Ubuntu ​''/'' ​directory is actually located ​in the following ​//hidden// sub-directory of the user'​s ​Windows //home// directory''​C:\Users\<​your_login>​\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs''​+  * You can access ​the Linux files in ''/'' ​from Windows by opening the //virtual// ''​\\wsl$''​ path in the Windows explorer (since [[https://docs.microsoft.com/​en-us/​windows/wsl/release-notes#​build-18342|Windows ​build 18342]]) 
 +    * Your Linux //home// directory ​is located in ''​\\wsl$\Ubuntu\home\<​your_login>​''​
  
-<note important>​[[https:​//blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/|Do not change Linux files in '/' ​from Windows!]]+  * The content of the Ubuntu ''​/''​ directory is actually located in the following ​//hidden// sub-directory of the user's Windows ​//home// directory: ''​C:​\Users\<​your_login>​\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs'​'
  
-If you need to update files from both Linux and Windows, put them in a regular Windows directory (not in the hidden directory mentioned above, where the Linux system is installed)</​note>​+<note important>​[[https://​blogs.msdn.microsoft.com/​commandline/​2016/​11/​17/​do-not-change-linux-files-using-windows-apps-and-tools/​|Do not change Linux files in '/'​ from Windows!]] (it's safe **only** if you use the ''​\\wsl$''​ path) 
 + 
 +If you need to easily ​update files from both Linux and Windows, put them in a regular Windows directory (not in the hidden directory mentioned above, where the Linux system is installed)</​note>​
  
 === Windows files seen from Linux === === Windows files seen from Linux ===
 +
 +Note: When you are in an explorer window, you can open a Windows terminal with Linux by holding Shift and right-clicking on a directory and choosing Linux in the context menu.
  
 The Windows partitions are mounted under ''/​mnt''​ in Linux: The Windows partitions are mounted under ''/​mnt''​ in Linux:
Line 152: Line 163:
 ==== Linux version installed ==== ==== Linux version installed ====
  
-<​code>​$ lsb_release -a+<​code>​$ date 
 +Thu Feb 20 11:18:57 CET 2020 
 + 
 +$ lsb_release -a
 No LSB modules are available. No LSB modules are available.
 Distributor ID: Ubuntu Distributor ID: Ubuntu
-Description: ​   Ubuntu 18.04.LTS+Description: ​   Ubuntu 18.04.LTS
 Release: ​       18.04 Release: ​       18.04
 Codename: ​      ​bionic Codename: ​      ​bionic
Line 214: Line 228:
 <note important>​We often assume below that you are using the **root** account (''​sudo -s''​),​ or ''​sudo''​ when executing the ''​apt*''​ installation commands, and othe admin commands</​note>​ <note important>​We often assume below that you are using the **root** account (''​sudo -s''​),​ or ''​sudo''​ when executing the ''​apt*''​ installation commands, and othe admin commands</​note>​
  
 +==== Specifying correctly the display language ====
 +
 +WSL will automatically try to use in the terminals the same language as the one used by the Windows 10 computer ([[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting#​changing-the-display-language|ref]]),​ but this could lead later to some difficult to debug **side-effects** when you connect to remote Linux servers (e.g. the ''​sort''​ command may give different results !).
 +
 +It is **safer** to force the system to use a //​standard//​ English version
 +
 +<​code>​$ sudo update-locale LANG=en_US.UTF8
 +$ echo $LANG
 +en_US.UTF8
 +</​code>​
 ==== Package management ==== ==== Package management ====
  
Line 264: Line 288:
 </​code>​ </​code>​
  
-=== Installing an X server ===+==== Installing an X server ===
 + 
 +<WRAP center round tip 60%> 
 +The //X server// will allow you to display graphical windows (i.e. //X windows//) from remote servers or from your local WSL+Ubuntu 
 +</​WRAP>​ 
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Line 272: Line 301:
 </​WRAP>​ </​WRAP>​
  
-== Installing VcXrsv ==+=== Installing VcXrsv ​===
  
 <note tip>​VcXrsv is pre-installed on the LSCE computers!</​note>​ <note tip>​VcXrsv is pre-installed on the LSCE computers!</​note>​
Line 278: Line 307:
 Type: <wrap em>​free</​wrap>​ Type: <wrap em>​free</​wrap>​
  
-Download the installer from [[https://​sourceforge.net/​projects/​vcxsrv/​|VcXrsv]]+Download the installer from [[https://​sourceforge.net/​projects/​vcxsrv/​|VcXrsv]] ​and install VcXrsv.
  
-**VcXrsv Configuration**+== VcXrsv Configuration ​==
  
-You need to configure ​your VcXrsv to work in multiple windows mode. The following steps will show you how to create a shortcut on your desktop to start VcXrsv in the apropriate ​mode+You need to configure VcXrsv to work in //multiple windows// mode. The following steps will show you how to create a shortcut on your desktop to start VcXrsv in this appropriate ​mode
  
   * Start //​Xlaunch//:​ ''​Start''​ => ''​VcXrsv''​ => ''​Xlaunch''​   * Start //​Xlaunch//:​ ''​Start''​ => ''​VcXrsv''​ => ''​Xlaunch''​
Line 291: Line 320:
   * Click on the new ''​X_Server''​ icon, and check that an ''​X''​ icon appears in the right side of the taskbar (you may have to look for it in the //Display hidden icons// pull-up menu)   * Click on the new ''​X_Server''​ icon, and check that an ''​X''​ icon appears in the right side of the taskbar (you may have to look for it in the //Display hidden icons// pull-up menu)
     * Note: you can right-click on the ''​X''​ icon and select ''​Exit...''​ if you need to quit the X server     * Note: you can right-click on the ''​X''​ icon and select ''​Exit...''​ if you need to quit the X server
-  * Test the X server+  * Note: if you notice later that the content of some displayed //windows// appear **blurry**, see if you can [[other:win10misc#​vcxsrv_x_server|fix the compatibility settings]], or try to use **x410**. 
-    * Type ''​export DISPLAY=localhost:​0.0'' ​in a terminal+  * You are now **ready**, if you only need VcXrsv to display graphical windows from remote servers 
 + 
 +  * The following steps allow you to test the X server in a **local** WSL+Ubuntu terminal. **Do not set the DISPLAY variable yourself when you are connected to a remote server with ''​ssh''​!** 
 +    * Open a **local** terminal (in WSL+Ubuntu) 
 +    * Type ''​export DISPLAY=localhost:​0.0''​
     * Type ''​xterm''​ and check that a new //xterm// terminal appears     * Type ''​xterm''​ and check that a new //xterm// terminal appears
-  * Note: if you notice later that the content of some X windows appear blurry, see if you can [[other:​win10misc#​vcxsrv_x_server|fix the compatibility settings]], or try to use **x410**. 
  
  
-== Installing x410 ==+=== Installing x410 ===
  
 Type: <wrap em>​commercial</​wrap>​ Type: <wrap em>​commercial</​wrap>​
Line 307: Line 339:
   * You can configure (and exit) X410 by right clicking on its **X** icon   * You can configure (and exit) X410 by right clicking on its **X** icon
  
-== Installing MobaXterm ==+=== Installing MobaXterm ​===
  
 Type: <wrap em>​commercial</​wrap>​ Type: <wrap em>​commercial</​wrap>​
Line 313: Line 345:
 Available at [[https://​mobaxterm.mobatek.net/​|MobaXterm]],​ not tested. This seems to be more than just an X server, and may be an overkill if you just need an X server Available at [[https://​mobaxterm.mobatek.net/​|MobaXterm]],​ not tested. This seems to be more than just an X server, and may be an overkill if you just need an X server
  
-=== Configuration (in your local Linux account) ===+==== Configuration (in your local Linux account) ​====
  
   * Set the DISPLAY variable in the shell (by hand, or in the bash shell init file)   * Set the DISPLAY variable in the shell (by hand, or in the bash shell init file)
Line 322: Line 354:
     * it breaks ''​glxgears''​ with x410     * it breaks ''​glxgears''​ with x410
  
-=== Resources ===+==== Resources ​====
  
 You can skip this! m( You can skip this! m(
Line 340: Line 372:
  
 # Install emacs # Install emacs
-$ apt-get install ​emacs25+$ apt-get install ​emacs
  
 # Install pdf (evince) and image (eog) viewers # Install pdf (evince) and image (eog) viewers
Line 449: Line 481:
 === ssh to WSL === === ssh to WSL ===
  
-FIXME+FIXME Maybe check [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting#​openssh-server-connection-issues|OpenSSH-Server connection issues]]
  
 Maybe it could be useful to do a ''​ssh''​ from the Win10 part of the machine to the WSL part, and from outside the machine to the WSL part Maybe it could be useful to do a ''​ssh''​ from the Win10 part of the machine to the WSL part, and from outside the machine to the WSL part
Line 510: Line 542:
 >ls -l /​home/​scratch01/​jypeter/​new_file_from_wsl.txt >ls -l /​home/​scratch01/​jypeter/​new_file_from_wsl.txt
 -rw-r--r-- 1 jypeter lsce 0 Jan 21 11:37 /​home/​scratch01/​jypeter/​new_file_from_wsl.txt -rw-r--r-- 1 jypeter lsce 0 Jan 21 11:37 /​home/​scratch01/​jypeter/​new_file_from_wsl.txt
- 
 </​code>​ </​code>​
-  * more details in the //​metadata//​ section 
  
 === Enabling metadata === === Enabling metadata ===
  
-Some access rights handling can be partially corrected ​by automatically enabling the ''​metadata''​ mount option. This will allow you to use ''​chmod''/''​chown''​ on **local NTFS disks** (disks directly connected to your computer, e.g. ''/​mnt/​c/​Users/​your_login''​).+Some access rights handling can be slightly improved ​by automatically enabling the ''​metadata''​ mount option. This will allow you to use ''​chmod''/''​chown''​ on **local NTFS disks** (disks directly connected to your computer, e.g. ''/​mnt/​c/​Users/​your_login''​).
  
   - become //root// in a terminal with: ''​sudo -s''​   - become //root// in a terminal with: ''​sudo -s''​
Line 526: Line 556:
   * After enabling //​metadata//:​ ''​C:​ on /mnt/c type drvfs (rw,​noatime,​uid=1000,​gid=1000,​metadata,​case=off)''​   * After enabling //​metadata//:​ ''​C:​ on /mnt/c type drvfs (rw,​noatime,​uid=1000,​gid=1000,​metadata,​case=off)''​
  
-Optional: more details about [[https://​devblogs.microsoft.com/​commandline/​automatically-configuring-wsl/​|wsl.conf]] and [[https://​devblogs.microsoft.com/​commandline/​chmod-chown-wsl-improvements/​|metadata and access rights management]]+Optional: more details about ''​wsl.conf''​ in [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​wsl-config#​set-wsl-launch-settings|WSL launch settings]], ​[[https://​devblogs.microsoft.com/​commandline/​automatically-configuring-wsl/​|How to use wsl.conf]] and [[https://​devblogs.microsoft.com/​commandline/​chmod-chown-wsl-improvements/​|metadata and access rights management]]
  
 === On-the-fly mount === === On-the-fly mount ===
Line 572: Line 602:
  
 # Create the mount points (once) # Create the mount points (once)
-# The example below is to access the /home and /scrath01 disks +# The example below is to access the LSCE /home/​users ​and /home/scrath01 disks 
-$ mkdir /mnt/home /​mnt/​scratch01+$ mkdir /mnt/users /​mnt/​scratch01
  
 # Make a backup copy of /etc/fstab before modifying it (for safety reasons!) # Make a backup copy of /etc/fstab before modifying it (for safety reasons!)
Line 581: Line 611:
 $ cat /etc/fstab $ cat /etc/fstab
 LABEL=cloudimg-rootfs ​  / ​       ext4   ​defaults ​       0 0 LABEL=cloudimg-rootfs ​  / ​       ext4   ​defaults ​       0 0
-\\dfshost\dfs\users /mnt/home drvfs defaults 0 0+\\dfshost\dfs\users /mnt/users drvfs defaults 0 0
 \\dfshost\dfs\scratch01 /​mnt/​scratch01 drvfs defaults 0 0 \\dfshost\dfs\scratch01 /​mnt/​scratch01 drvfs defaults 0 0
  
Line 590: Line 620:
 $ mount -l $ mount -l
 [...] [...]
-\\dfshost\dfs\users on /mnt/home type drvfs (rw,​relatime,​case=off)+\\dfshost\dfs\users on /mnt/users type drvfs (rw,​relatime,​case=off)
 \\dfshost\dfs\scratch01 on /​mnt/​scratch01 type drvfs (rw,​relatime,​case=off) \\dfshost\dfs\scratch01 on /​mnt/​scratch01 type drvfs (rw,​relatime,​case=off)
 </​code>​ </​code>​
  
-=== Resources ​===+=== Accessing remote file systems with sshfs === 
 + 
 +FIXME 
 + 
 +It seems this can be done with a combination of [[https://​github.com/​billziss-gh/​winfsp|WinFsp]] and [[https://​github.com/​billziss-gh/​sshfs-win|SSHFS-Win]] (see [[https://​superuser.com/​questions/​1423371/​sshfs-remote-directory-mounting-syntax|SSHFS remote directory mounting syntax]] for details 
 + 
 +=== Extra resources ​===
  
 Useful ''​mount''​ options: Useful ''​mount''​ options:
Line 618: Line 654:
   * to force WSL to recognize drives that were still encrypted when the first terminal was started   * to force WSL to recognize drives that were still encrypted when the first terminal was started
  
-WSL can be rebooted (all the terminals and processed ​will be closed/​killed) by restarting the //WSL service// (''​LxssManager''​)+WSL can be rebooted ​by using either one of the following methods ​(the first is the easiest!). Warning: ​all the terminals and processes ​will be closed/killed
 +  * from a //Windows PowerShell// (no need to run as administrator):​\\ type ''​wsl %%--%%terminate Ubuntu''​
   * from the //​Services//​ tab of the Task manager or the //​Services//​ program (launch ''​services.msc''​)   * from the //​Services//​ tab of the Task manager or the //​Services//​ program (launch ''​services.msc''​)
     * Right-click on the ''​LxssManager''​ service and select //Restart//     * Right-click on the ''​LxssManager''​ service and select //Restart//
Line 626: Line 663:
 Source: google ''​wsl lxssmanager''​ ([[https://​www.how2shout.com/​how-to/​how-to-reboot-wsl-windows-subsystem-linux-in-windows-10.html|most usable answer]]) Source: google ''​wsl lxssmanager''​ ([[https://​www.how2shout.com/​how-to/​how-to-reboot-wsl-windows-subsystem-linux-in-windows-10.html|most usable answer]])
  
-==== Creating a backup ====+==== Creating a backup ​of the Linux running in WSL ====
  
-Best thing is probably to create tar file of the user's home directory, and get list of installed applications ​and updated settings ​(e.g ''​/etc/fstab''​)+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 ​tar file from Linux**, and put this tar file in specific Windows folder 
 +    * <code bash>$ cd /home 
 +# $ du -sh <​your_login>​ 
 +$ du -sh $USER 
 +232K    <​your_login>​ 
 +# $ tar cfz /​mnt/​c/​Scratch/<​your_login>/<​your_login>​_home_<​some_date>​.tgz <​your_login>​ 
 +$ tar cfz /​mnt/​c/​Scratch/​$USER/​${USER}_home_`date +%y%m%d_%H%M`.tgz $USER 
 +</​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]]) 
 +  * <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) 
 +    * Determine the name of the current Linux installation used in WSL 
 +      * <​code>>​ wsl --list --all 
 +Distributions du sous-système Windows pour Linux : 
 +Ubuntu (par défaut)</​code>​ 
 +    * [[other:​win10wsl#​rebooting_wsl|Stop WSL+Linux]] 
 +    * Export the current Linux to a tar file: ''​wsl %%--%%export Ubuntu C:​\Scratch\<​your_login>​\<​your_login>​_ubuntu-full_<​some_date>​.tar''​ 
 +    * 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 to save some space 
 +      * <​code>​$ cd /​mnt/​c/​Scratch/<​your_login>​ 
 +$ ls -lh <​your_login>​_ubuntu-full_200514.tar 
 +2.6G May 14 16:29 <​your_login>​_ubuntu-full_200514.tar 
 +$ tar tvf <​your_login>​_ubuntu-full_200514.tar | wc -l 
 +105600 
 +$ gzip <​your_login>​_ubuntu-full_200514.tar 
 +$ ls -lh <​your_login>​_ubuntu-full_200514.tar.gz 
 +976M May 14 16:29  
 +</​code>​ 
 + 
 +==== 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
  
-Check [[https://askubuntu.com/questions/9135/how-to-backup-settings-and-list-of-installed-packages|How to backup settings ​and list of installed packages]]+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
 ==== Uninstalling WSL ==== ==== Uninstalling WSL ====
  
Line 639: Line 718:
   * and then disable WSL???   * and then disable WSL???
 ===== Other WSL resources and links ===== ===== Other WSL resources and links =====
 +
 +  * [[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/​faq|Frequently Asked Questions]]   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​faq|Frequently Asked Questions]]
other/win10wsl.1579604222.txt.gz · Last modified: 2020/01/21 11:57 by jypeter