Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
other:win10wsl [2022/08/25 17:05] – [The basics before starting] jypeter | other:win10wsl [2022/08/26 17:55] – [Updating WSL 1 to WSL 2] Improved jypeter |
---|
| |
* Install the [[other:win10apps#windows_terminal|Windows terminal]], because it will be one of the ways to open ''Ubuntu'' terminals, once ''Ubuntu'' is installed | * Install the [[other:win10apps#windows_terminal|Windows terminal]], because it will be one of the ways to open ''Ubuntu'' terminals, once ''Ubuntu'' is installed |
| * Know how to use copy-paste in a Powershell FIXME |
* It will be useful to be able to [[other:win10config#displaying_hidden_folders_and_files_and_the_files_extension|see hidden folders and files]] | * It will be useful to be able to [[other:win10config#displaying_hidden_folders_and_files_and_the_files_extension|see hidden folders and files]] |
* Have at least some basic knowledge of Linux... | * Have at least some basic knowledge of Linux... |
* => We should **start with at least 10 Gb of free space on ''C:\''** (but more space is always better and safer) | * => We should **start with at least 10 Gb of free space on ''C:\''** (but more space is always better and safer) |
* The initial installation will not use much space (2-3 Gb), but we always need space on ''C:\'' for other applications and Windows maintenance (temporary files, updates, ...) | * The initial installation will not use much space (2-3 Gb), but we always need space on ''C:\'' for other applications and Windows maintenance (temporary files, updates, ...) |
| |
| <WRAP center round alert 60%> |
| FIXME The rather technical //Disk usage// sections below should be moved somewhere else! |
| </WRAP> |
| |
| |
=== How does it work? === | === How does it work? === |
* [[https://docs.microsoft.com/en-us/powershell/module/hyper-v/optimize-vhd?view=windowsserver2019-ps|Optimize-VHD]] | * [[https://docs.microsoft.com/en-us/powershell/module/hyper-v/optimize-vhd?view=windowsserver2019-ps|Optimize-VHD]] |
| |
<code>stdu@sadira034:~$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx | === Disks seen from Linux === |
-rwxrwxrwx 1 root root 63M Aug 24 14:52 /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx | |
| |
stdu@sadira034:~$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx | The disks and partitions usage, as seen from Linux, can be displayed with ''df -h'' |
-rwxrwxrwx 1 root root 1.2G Aug 24 15:20 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx | |
| |
stdu@sadira034:~$ sudo apt update && sudo apt upgrade | <code>stdu@sadira034:~$ df -h |
[sudo] password for stdu: | Filesystem Size Used Avail Use% Mounted on |
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] | /dev/sdb 251G 1.5G 237G 1% / |
Get:2 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB] | tmpfs 6.2G 0 6.2G 0% /mnt/wsl |
[...] | tools 472G 118G 355G 25% /init |
278 upgraded, 32 newly installed, 0 to remove and 0 not upgraded. | none 6.2G 0 6.2G 0% /dev |
Need to get 174 MB of archives. | none 6.2G 8.0K 6.2G 1% /run |
After this operation, 305 MB of additional disk space will be used. | none 6.2G 0 6.2G 0% /run/lock |
Do you want to continue? [Y/n] Y | none 6.2G 0 6.2G 0% /run/shm |
[...] | none 6.2G 0 6.2G 0% /run/user |
| tmpfs 6.2G 0 6.2G 0% /sys/fs/cgroup |
| drivers 472G 118G 355G 25% /usr/lib/wsl/drivers |
| lib 472G 118G 355G 25% /usr/lib/wsl/lib |
| C:\ 472G 118G 355G 25% /mnt/c |
| D:\ 480G 2.6G 478G 1% /mnt/d</code> |
| |
stdu@sadira034:~$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx | * The ''251G'' //Size// of ''/'' depends on the [[https://docs.microsoft.com/en-us/windows/wsl/vhd-size|256G default size]] of the growing virtual disk where Linux is installed |
-rwxrwxrwx 1 root root 63M Aug 24 14:52 /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx | * The ''/mnt/c'' and ''/mnt/d'' are the way to access the Windows ''C:'' and ''D:'' disks from Linux, and their //Size// is the actual size of the Windows disks |
| * Some //Filesystems// like ''drivers'' are actually Windows file systems! |
stdu@sadira034:~$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx | * <code>stdu@sadira034:/usr/lib/wsl/drivers$ du -sh /usr/lib/wsl/drivers |
-rwxrwxrwx 1 root root 2.6G Aug 24 15:24 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx | |
</code> | |
| |
<code>stdu@sadira034:/usr/lib/wsl/drivers$ df -h | grep drivers | |
drivers 472G 116G 356G 25% /usr/lib/wsl/drivers | |
| |
stdu@sadira034:/usr/lib/wsl/drivers$ du -sh /usr/lib/wsl/drivers | |
9.1G /usr/lib/wsl/drivers | 9.1G /usr/lib/wsl/drivers |
| |
9.1G /mnt/c/Windows/System32/DriverStore/</code> | 9.1G /mnt/c/Windows/System32/DriverStore/</code> |
| |
FIXME | |
| |
* //Enough// space on ''C:\''. Microsoft instructions say //The Windows Subsystem for Linux only runs on your system drive (usually this is your C: drive)// | === Some important disk locations === |
* 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 | * Accessing **Windows files from Linux**: ''/mnt/''\\ e.g ''C:\'' is available in ''/mnt/c'' |
* 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 files will be installed in **hidden partitions of the current user's directory on ''C:\''**: e.g. ''C:\Users\<your_login>''. Other users of the same Windows 10 computer would have to install Ubuntu again, in their own user directory | * Accessing **Linux files from the Windows Explorer**: ''\\wsl$'' |
* 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:''! | * WSL+Ubuntu installation: |
* 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... | * Main directory: ''C:\Users\your_login\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc'' |
* Check [[https://github.com/MicrosoftDocs/WSL/issues/412|how to move the vhdx of wsl2 to other disk]] and [[https://github.com/microsoft/WSL/issues/4320|[WSL 2] move VHD File]] for relocating a WSL (1 or 2) installation if you don't have enough space on ''C:'' | * //vhdx// file: ''C:\Users\jypeter\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx'' |
| * <code>stdu@sadira034:~$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx |
| -rwxrwxrwx 1 root root 1.2G Aug 24 15:20 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx</code> |
| |
| * Linux //swap// (virtual memory) file: |
| * <code>stdu@sadira034:~$ ls -lh /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx |
| -rwxrwxrwx 1 root root 63M Aug 24 14:52 /mnt/c/Users/jypeter/AppData/Local/Temp/swap.vhdx</code> |
| |
| |
| === Sample disk usage === |
| |
| * Disk size after the initial installation of //Ubuntu 20.04 LTS//\\ ''-rwxrwxrwx 1 root root 1.2G Aug 24 15:20 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx'' |
| |
| * Disk size after upgrading to //Ubuntu 20.04.4 LTS// with ''sudo apt update && sudo apt upgrade''\\ ''-rwxrwxrwx 1 root root 2.6G Aug 24 15:24 /mnt/c/Users/jypeter/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/ext4.vhdx'' |
| |
| ==== Hyper-V requirements ==== |
| |
| WSL 2 needs the //Virtual Machine Platform// to be enabled on your computer. If you have never used WSL before, you can probably go directly to the [[other:win10wsl#base_installation|Base installation]] section and ''wsl'' should install everything correctly |
| |
| If you have problems, or if you are updating WSL 1 to WSL 2, use ''systeminfo'' to check the [[https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-requirements?source=recommendations#verify-hardware-compatibility|Hyper-V requirements]] |
| |
| If you get a ''No'' for one of the ''Hyper-V requirements'', check the //virtualization// settings in your [[other:bios#entering_the_bios|computer BIOS]] |
| |
===== Base installation ===== | ===== Base installation ===== |
Description: Ubuntu 20.04.4 LTS | Description: Ubuntu 20.04.4 LTS |
Release: 20.04 | Release: 20.04 |
Codename: focal</code> | Codename: focal |
| |
| stdu@sadira034:/usr/lib/wsl/drivers$ cat /etc/*release* |
| DISTRIB_ID=Ubuntu |
| DISTRIB_RELEASE=20.04 |
| DISTRIB_CODENAME=focal |
| DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS" |
| NAME="Ubuntu" |
| VERSION="20.04.4 LTS (Focal Fossa)" |
| ID=ubuntu |
| ID_LIKE=debian |
| PRETTY_NAME="Ubuntu 20.04.4 LTS" |
| VERSION_ID="20.04" |
| HOME_URL="https://www.ubuntu.com/" |
| SUPPORT_URL="https://help.ubuntu.com/" |
| BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" |
| PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" |
| VERSION_CODENAME=focal |
| UBUNTU_CODENAME=focal</code> |
* [[other:win10wsl#updating_wsl_and_ubuntu|More details about updating WSL and/or Ubuntu]] (you can safely skip this for now) | * [[other:win10wsl#updating_wsl_and_ubuntu|More details about updating WSL and/or Ubuntu]] (you can safely skip this for now) |
| |
| |
===== Miscellaneous ===== | ===== Miscellaneous ===== |
| |
| ==== Updating WSL 1 to WSL 2 ==== |
| |
| === Am I using WSL 1 or WSL 2 ? === |
| |
| If you have never used WSL on this computer (and for **this user**), WSL 2 will be installed directly when you follow the [[other:win10wsl#base_installation|Base installation]] steps |
| |
| If you are not sure if you are currently using WSL 1 or WSL 2, you can check [[https://github.com/MicrosoftDocs/WSL/issues/1599|Is there an easy (PowerShell?) way to get more information about WSL?]] has been answered, or make the following checks |
| |
| * ''wsl --update'' will give the same output (i.e. the installed Linux kernel version) for both WSL 1 and WSL 2 |
| * <code>PS C:\Users\jypeter> wsl --update |
| Recherche de mises à jour en cours... Veuillez patienter |
| Aucune mise à jour n’est disponible. |
| Version du noyau : 5.10.102.1</code> |
| |
| * ''wsl --status'' will display again the kernel version if you already have WSL 2, but will display a link to the WSL installation page if you are running WSL 1: https://aka.ms/wsl2-install |
| * <code>PS C:\Users\jypeter> wsl --status |
| Distribution par défaut : Ubuntu |
| Version par défaut : 2 |
| Activez la fonctionnalité Windows de plateforme de machine virtuelle et assurez-vous que la virtualisation est activée dans le BIOS. |
| Pour plus d’informations, rendez-vous sur https://aka.ms/wsl2-install</code> |
| |
| |
| === Prerequisites === |
| |
| * If WSL 1 is already running, you should have no problem with the [[other:win10wsl#prerequisites|disk and memory requirements]] |
| * For WSL 2, you also need to meet the [[other:win10wsl#hyper-v_requirements|Hyper-V requirements]] |
| |
| === Updating! === |
| |
| |
| [[https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-3---enable-virtual-machine-feature|Activate the Virtual Machine Platform]] (just the //Step 3// instructions) and reboot the computer |
| |
| After rebooting, go back to the [[other:win10wsl#updating_wsl_1_to_wsl_2|Am I using WSL 1 or WSL 2 ?]] section above, and check that you are now using WSL 2 |
| |
| ==== Potentially useful stuff ==== |
| |
* Determining from **inside** the running Linux if you are using WSL (or another type of virtual machine)\\ <code>$ systemd-detect-virt | * Determining from **inside** the running Linux if you are using WSL (or another type of virtual machine)\\ <code>$ systemd-detect-virt |