This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
other:win10wsl [2022/09/06 14:54] jypeter [Base installation] Added a backup step |
other:win10wsl [2022/09/06 15:40] jypeter [Restoring or relocating a Linux installation] Improved |
||
---|---|---|---|
Line 1051: | Line 1051: | ||
Note: | Note: | ||
- | * This is currently the only way of moving (relocating) a Linux installation to another disk than the default ''C:\'' location | + | * 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! | + | * //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 | * 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. | + | * Creating a backup and restoring it is an indirect way of **reclaiming the unused space of a Linux installation**: 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: | Detailed [[https://docs.microsoft.com/en-us/windows/wsl/basic-commands#import-a-new-distribution|--import]] example: | ||
Line 1060: | Line 1060: | ||
* We assume that we have an exported installation tar file available | * 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'' | * 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'' | ||
+ | * ''import'' can directly use a ''.tar.gz'' file! ([[https://github.com/MicrosoftDocs/WSL/issues/1607|wsl --import should mention 'tar.gz' support !]]) | ||
* Create the directory where the Linux installation (mostly its ''ext4.vhdx'' file) will be restored | * 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'' | + | * Hint: use an explicit directory path and name using the name of the distribution that will be restored, because the name of the restored file itself will always be the same (''ext4.vhdx'')\\ e.g. ''D:\WSL_Distributions\Ubuntu_custom'' |
- | * Import the distribution, giving it a name that does not appear in ''wsl -l -v'' | + | * Import the distribution, giving it a unique name (that does not appear already in ''wsl -l -v'') |
* <code>> wsl -l -v | * <code>> wsl -l -v | ||
NAME STATE VERSION | NAME STATE VERSION | ||
Line 1078: | Line 1079: | ||
* Or from a PowerShell, using ''wsl --distribution Ubuntu_custom'' | * 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'' ! | * 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 | + | * 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 | + | * You can easily open a ''root'' session with\\ ''%%wsl -d Ubuntu_custom -u root%%'' |
+ | * 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'' in this example) to the [[https://docs.microsoft.com/en-us/windows/wsl/wsl-config#user-settings|/etc/wsl.conf]] file | ||
* <code># cat /etc/wsl.conf | * <code># cat /etc/wsl.conf | ||
cat: /etc/wsl.conf: No such file or directory | cat: /etc/wsl.conf: No such file or directory |