This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:win10wsl [2022/08/31 11:52] jypeter [Creating a backup] |
other:win10wsl [2022/08/31 13:55] jypeter [Creating a backup] Added exported file compression example |
||
---|---|---|---|
Line 983: | Line 983: | ||
- | ==== 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>$ 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 1003: | 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]]) | ||
+ | ==== Restoring or relocating a Linux installation ==== | ||
+ | |||
+ | 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 needed) as soon as you use your installation | ||
+ | * 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. | ||
- | ==== 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 | ||
Line 1025: | Line 1070: | ||
- | ===== 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 steps: | ||
- | * 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 --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.G 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> | ||
- | |||
- | === Other types of backup === | ||
- | |||
- | |||
- | ==== 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 ==== | ==== Uninstalling WSL ==== | ||