User Tools

Site Tools


other:win10wsl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
other:win10wsl [2022/08/25 15:57]
jypeter [Disk usage]
other:win10wsl [2022/08/29 15:54]
jypeter [Creating a backup of the Linux running in WSL] Started updating for WSL 2
Line 36: Line 36:
  
   * 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...
Line 127: Line 128:
   * 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''​   * 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 ====
 +
 +<WRAP center round tip 60%>
 +You can skip reading this WSL //​requirement//​ if you are installing WSL for the first time, and are therefor directly installing WSL 2
 +
 +Come back later if you have problems
 +</​WRAP>​
 +
 +
 +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 (e.g. [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting#​error-0x80370102-the-virtual-machine-could-not-be-started-because-a-required-feature-is-not-installed|The virtual machine could not be started because a required feature is not installed]]),​ or if you are updating WSL 1 to WSL 2, type ''​systeminfo''​ in a PowerShell to check if your machine meets 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]].\\ You can have a look at the [[https://​en.wikipedia.org/​wiki/​X86_virtualization|x86 virtualization]] wikipedia page if you are wondering what ''​VT-x''​ and ''​VT-d''​ means for //Intel// processors (''​AMD-v''​ and ''​AMD IOMMU''​ for //AMD//)
 +
 +Example: HP laptop with an **Intel** CPU, and **virtualization not activated in the BIOS**
 +  * //Hyper-V// section of the ''​systeminfo''​ output
 +    * <​code>​Configuration requise pour Hyper-V: ​        ​Extensions de mode du moniteur d’ordinateur virtuel : Oui
 +                                            Virtualisation activée dans le microprogramme :​ Non
 +                                            Traduction d’adresse de second niveau : Oui
 +                                            Prévention de l’exécution des données disponible :​ Oui</​code>​
 +  * //​Virtualization//​ section of the [[other:​bios#​entering_the_bios|HP BIOS]]: you need to **enable ''​Virtualization Technology (VTx)''​ and ''​Virtualization Technology for Directed I/O (VTd)''​** in the BIOS, save the settings and finish booting
 +    * {{ :​other:​hp_bios_vtx_vtd.png?​direct&​600 |}}
 +  * //Hyper-V// section of the ''​systeminfo''​ output with **virtualization activated in the BIOS** (after activation and reboot)
 +    * <​code> ​                                           Virtualisation activée dans le microprogramme :​ Oui</​code>​
  
 ===== Base installation ===== ===== Base installation =====
Line 270: Line 296:
 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)
  
Line 308: Line 352:
 ===== After the base installation ===== ===== After the base installation =====
  
-Once you have completed ​the base installation steps, you'​ll ​get a Ubuntu machinewith a //root// and user account ​(pre-configured to use ''​sudo''​ for commands that need root access) and lots of pre-installed applications ​(but no graphics).+After completing ​the base installation steps, you get a //Ubuntu// machine with
 +  * a //root// and //user// account 
 +    * the //​user// ​account ​is pre-configured to use ''​sudo''​ for commands that need root access 
 +  * pre-installed ​base Linux applications 
 +    * **no** graphics 
 +    * enough to play a bit with a Linux computer and test that the installation is working, but not enough to do some real work
  
 ==== Opening a terminal ==== ==== Opening a terminal ====
Line 438: Line 487:
 ==== Ubuntu packages installed ==== ==== Ubuntu packages installed ====
  
-<​code>​$ dpkg --list+<​code>​$ dpkg --list ​| head -n 10
 Desired=Unknown/​Install/​Remove/​Purge/​Hold Desired=Unknown/​Install/​Remove/​Purge/​Hold
 | Status=Not/​Inst/​Conf-files/​Unpacked/​halF-conf/​Half-inst/​trig-aWait/​Trig-pend | Status=Not/​Inst/​Conf-files/​Unpacked/​halF-conf/​Half-inst/​trig-aWait/​Trig-pend
 |/ Err?​=(none)/​Reinst-required (Status,​Err:​ uppercase=bad) |/ Err?​=(none)/​Reinst-required (Status,​Err:​ uppercase=bad)
-||/ Name                  Version ​        ​Architecture ​   Description +||/ Name                           ​Version ​                          ​Architecture Description 
-+++-=====================-===============-===============-================================================ ++++-==============================-=================================-============-=============================================================================== 
-ii  accountsservice ​      ​0.6.45-1ubuntu1 ​amd64           ​query and manipulate user account information +ii  accountsservice ​               0.6.55-0ubuntu12~20.04.5 ​         ​amd64        query and manipulate user account information 
-ii  acl                   ​2.2.52-3build1 ​ amd64           ​Access control list utilities +ii  adduser ​                       3.118ubuntu2 ​                     ​all          add and remove users and groups 
-ii  acpid                 ​1:​2.0.28-1ubunt amd64           ​Advanced Configuration and Power Interface event +ii  ​alsa-topology-conf             1.2.2-1 ​                          all          ALSA topology configuration files 
-ii  adduser ​              ​3.116ubuntu1 ​   ​all             ​add and remove users and groups +ii  ​alsa-ucm-conf ​                 ​1.2.2-1ubuntu0.13 ​                ​all ​         ALSA Use Case Manager configuration files 
- +ii  ​apparmor ​                      2.13.3-7ubuntu5.1 ​                amd64        user-space parser utility for AppArmor
-[...] +
-ii  ​xterm                 330-1ubuntu2 ​   amd64           X terminal emulator +
-ii  xxd                   ​2:​8.0.1453-1ubu amd64           tool to make (or reverse) a hex dump +
-ii  xz-utils ​             5.2.2-1.3       ​amd64 ​          ​XZ-format compression utilities +
-ii  ​zerofree ​             ​1.0.4-1         ​amd64 ​          zero free blocks from ext2, ext3 and ext4 file-s +
-ii  ​zlib1g:​amd64 ​         1:1.2.11.dfsg-amd64           compression library ​runtime+
  
  
-$ dpkg --list > /​mnt/​c/​Scratch/​jyp/pkg_initial_201601.txt +$ dpkg --list > /​mnt/​c/​Scratch/​jypeter/Ubuntu_Installed_List_`date +"​%y-%m-%d"​`.txt 
-$ wc -l /​mnt/​c/​Scratch/​jyp/pkg_initial_201601.txt +$ wc -l /​mnt/​c/​Scratch/​jypeter/Ubuntu_Installed_List_*.txt 
-628 /​mnt/​c/​Scratch/​jypeter/​pkg_initial_201601.txt</​code>​+642 /​mnt/​c/​Scratch/​jypeter/​Ubuntu_Installed_List_22-08-29.txt</​code>​
  
-Full (example) list of installed packages: {{:other:pkg_initial_201601.txt|pkg_initial_201601.txt}}+Full (example) list of installed packages: {{ :other:ubuntu_installed_list_22-08-29.txt |}}
  
 ==== Update ubuntu ==== ==== Update ubuntu ====
Line 951: Line 994:
 > wsl --list --verbose > wsl --list --verbose
   NAME      STATE           ​VERSION   NAME      STATE           ​VERSION
-* Ubuntu ​   Running ​        1</​code>​+* Ubuntu ​   Running ​        2</​code>​
     * [[other:​win10wsl#​rebooting_wsl|Stop WSL+Linux]]     * [[other:​win10wsl#​rebooting_wsl|Stop WSL+Linux]]
       * <​code>>​ wsl --list --verbose       * <​code>>​ wsl --list --verbose
   NAME      STATE           ​VERSION   NAME      STATE           ​VERSION
-* Ubuntu ​   Running ​        1+* Ubuntu ​   Running ​        2
  
 > wsl --shutdown > wsl --shutdown
  
-> wsl --list --verbose+> wsl --v
   NAME      STATE           ​VERSION   NAME      STATE           ​VERSION
-* Ubuntu ​   Stopped ​        1</​code>​+* Ubuntu ​   Stopped ​       21</​code>​
     * Export the current Linux to a //tar// file:     * Export the current Linux to a //tar// file:
 +      * FIXME ''​wsl --export Ubuntu C:​\Scratch\jypeter\WSL\WSL_Ubuntu_20.04.4_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>​       * <​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     * 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
Line 1009: Line 1054:
  
 ===== Miscellaneous ===== ===== Miscellaneous =====
 +
 +==== Upgrading WSL 1 to WSL 2 ====
 +
 +<WRAP center round tip 60%>
 +You will be able to run existing WSL 1 installations with WSL 2, so upgrading should not be a problem!
 +</​WRAP>​
 +
 +
 +=== Determining which version of WSL is installed ===
 +
 +If you have never used WSL on a computer, WSL 2 will be installed directly when you follow the [[other:​win10wsl#​base_installation|Base installation]] steps
 +
 +You can determine if your installed Linux distributions are running on WSL 1 or WSL 2 by typing ''​wsl -l -v''​ in a PowerShell, but if you are not sure if you are currently using WSL 1 or WSL 2 for running Linux, you can check if [[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]]
 +
 +=== Upgrading WSL ===
 +
 +
 +[[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#​determining_which_version_of_wsl_is_installed|Determining which version of WSL is installed]] 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
other/win10wsl.txt · Last modified: 2023/12/06 13:24 by jypeter