Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
other:win10wsl [2022/08/31 11:40] – Started moving 'backup' to the Advanced section jypeter | other:win10wsl [2022/08/31 14:42] – Finished moving the backup section jypeter |
---|
* 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''** |
| |
| |
==== Creating a backup of the Linux running in WSL ==== | |
| |
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>'') | |
* <code bash>$ cd /home | |
| |
$ du -sh $USER | |
232K <your_login> | |
| |
# We assume below that there is an existing /mnt/c/Scratch/<your_login>/ directory | |
# It's a WINDOWS directory C:\Scratch\<your_login> | |
$ tar cfz /mnt/c/Scratch/$USER/${USER}_home_`date +%y%m%d_%H%M`.tgz $USER | |
| |
# Check the size of the new (and existing old) backup(s) | |
$ ls -ltr /mnt/c/Scratch/$USER/${USER}_*.tgz | |
81K Jan 21 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200121.tgz | |
93K Aug 22 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200822_1151.tgz | |
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]]) | |
| |
| |
| |
| |
| |
==== Creating a backup of a Linux installation ==== | ==== Creating a backup ==== |
| |
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: | === Backup of a FULL Linux installation === |
* used later for restoring the full installation | |
* used for relocating the full installation from ''C:\'' to another disk | |
| |
| 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//) | * 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 | * <code>> wsl --list --verbose |
* Ubuntu Stopped 2</code> | * Ubuntu Stopped 2</code> |
* Export the specified Linux installation to a //tar// file: | * Export the specified Linux installation to a //tar// file: |
* You should export to a directory or external disk where you have //enough// space | * 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 | * You should use a detailed enough file name for the tar file\\ e.g. WSL_<Linux_Distribution>_<Distribution_Version>_<User>_<Date>.tar |
* ''wsl --export Ubuntu C:\Scratch\<your_login>\WSL\WSL_Ubuntu_20.04.4_LTS_stdu_22-08-29.tar'' | * Example: ''wsl --export Ubuntu C:\Scratch\<your_login>\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar'' |
* 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 | * 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>$ cd /mnt/c/Scratch/<your_login> | * <code>Add compression example here</code> |
| |
$ ls -ltrh *ubuntu*tar* | === Other types of backup === |
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 | You can also just create backups of specific directories: |
$ tar tvf <your_login>-20-04-1-full_210224.tar | wc -l | |
112711 | * 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 |
| |
| $ du -sh $USER |
| 232K <your_login> |
| |
| # We assume below that there is an existing /mnt/c/Scratch/<your_login>/ directory |
| # It's a WINDOWS directory C:\Scratch\<your_login> |
| $ tar cfz /mnt/c/Scratch/$USER/${USER}_home_`date +%y%m%d_%H%M`.tgz $USER |
| |
| # Check the size of the new (and existing old) backup(s) |
| $ ls -ltr /mnt/c/Scratch/$USER/${USER}_*.tgz |
| 81K Jan 21 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200121.tgz |
| 93K Aug 22 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200822_1151.tgz |
| 95K Feb 24 12:09 /mnt/c/Scratch/<your_login>/<your_login>_home_210224_1209.tgz</code> |
| |
$ gzip *ubuntu*.tar | * 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]] |
| |
$ 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 or relocating a Linux installation ==== | ==== Restoring or relocating a Linux installation ==== |