Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
other:win10wsl [2022/08/30 17:12] – [Uninstalling WSL] Improved jypeter | other:win10wsl [2022/08/31 15:29] – [Restoring or relocating a Linux installation] Started improving jypeter |
---|
[[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> |
| |
| |
en_US.UTF8 | en_US.UTF8 |
</code> | </code> |
| |
| |
==== Package management ==== | ==== Package management ==== |
| |
* 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 === |
* ''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 === |
| |
* [[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 ===== |
| |
* [[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 ==== |
| |
| |
==== Creating a backup of the Linux running in WSL ==== | ===== Advanced usage ===== |
| |
| |
| ==== Creating a backup ==== |
| |
| === Backup of a FULL Linux installation === |
| |
| You can use ''wsl'' to [[https://docs.microsoft.com/en-us/windows/wsl/faq#how-can-i-back-up-my-wsl-distributions--or-move-them-from-one-drive-to-another-|save a full Linux installation]] to a //tar// file, that can be: |
| * used later for //restoring// the full installation |
| * used for //relocating// the full installation from ''C:\'' to another disk |
| |
| Detailed [[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>Add compression example here</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 |
| |
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 ''vhdx'' file will start growing (as needed) as 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'' | * 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. |
* 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* | |
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 | |
$ tar tvf <your_login>-20-04-1-full_210224.tar | wc -l | |
112711 | |
| |
$ gzip *ubuntu*.tar | |
| |
$ ls -ltrh *ubuntu*tar* | |
976M Jan 21 2020 <your_login>_200121.tar.gz | |
1.2G Aug 22 2020 <your_login>-16.04-full_200822.tar.gz | |
1.8G Feb 24 14:06 <your_login>-20-04-1-full_210224.tar.gz | |
</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 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 |
* 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 |
| |
| |
===== Advanced usage ===== | |
| |
==== Uninstalling WSL ==== | ==== Uninstalling WSL ==== |