wsl.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Tue, 07 Feb 2023 00:39:25 +0200
changeset 2554 c83fb8d3809f
parent 2543 a1103b02f8f3
child 2580 6f1bb96dc0d2
permissions -rw-r--r--
Removed unrelated data.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2365
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
==================================
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
 WSL, Windows subsystem for Linux
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
==================================
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
.. contents::
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
   :local:
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
2457
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
     8
Documentation
2493
e83847e718a0 Fixed RST section format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2486
diff changeset
     9
=============
2457
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
    10
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
    11
https://docs.microsoft.com/en-us/windows/wsl/
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
    12
  Windows Subsystem for Linux Documentation.
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
    13
https://github.com/sirredbeard/Awesome-WSL
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
    14
  Awesome list dedicated to Windows Subsystem for Linux.
2469
d6eb5318b6ff Automatically Configuring WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2459
diff changeset
    15
https://devblogs.microsoft.com/commandline/automatically-configuring-wsl/
d6eb5318b6ff Automatically Configuring WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2459
diff changeset
    16
  Automatically Configuring WSL.
2532
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
    17
https://docs.microsoft.com/en-us/windows/wsl/troubleshooting
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
    18
  Troubleshooting Windows Subsystem for Linux.
2457
9e6abc83e5d6 Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2423
diff changeset
    19
2528
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
    20
https://github.com/sirredbeard/Awesome-WSL
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
    21
  Awesome list dedicated to Windows Subsystem for Linux.
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
    22
2365
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
wsl utility
2493
e83847e718a0 Fixed RST section format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2486
diff changeset
    24
===========
2365
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
Run Linux command from default distro::
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
  wsl ls
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
  wsl -e /bin/ls
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  wsl --exec /bin/bash
d907310aeacf wsl utility.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
2366
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    32
Run Linux command from specific distro::
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    33
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    34
  wsl -d ubuntu ls
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    35
  wsl -d debian -e /bin/ls
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    36
  wsl -d debian --exec /bin/bash
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    37
  wsl -distribution debian --exec /bin/bash
55f48026a610 Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2365
diff changeset
    38
2367
f295973a87a5 Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2366
diff changeset
    39
Run Linux command from specific user::
f295973a87a5 Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2366
diff changeset
    40
f295973a87a5 Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2366
diff changeset
    41
  wsl -u user ls
f295973a87a5 Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2366
diff changeset
    42
  wsl --user root ls
f295973a87a5 Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2366
diff changeset
    43
2459
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    44
Combining user & distro::
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    45
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    46
  wsl -u root -d alpine -- ls
2532
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
    47
  wsl -u root -e sh -c "service apache status || service apache start"
2459
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    48
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    49
https://docs.microsoft.com/en-us/windows/wsl/wsl-config
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    50
  Ways to run WSL.
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
    51
2535
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    52
.. note:: Earlier ``wsl`` utility was limited and some job performed by ``wslconfig`` utility:
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    53
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    54
   * List distros::
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    55
2543
a1103b02f8f3 Fixed incorrect indent level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2536
diff changeset
    56
       wslconfig /l
a1103b02f8f3 Fixed incorrect indent level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2536
diff changeset
    57
       wslconfig /list
2535
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    58
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    59
   * Set default distro::
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    60
2543
a1103b02f8f3 Fixed incorrect indent level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2536
diff changeset
    61
       wslconfig /s debian
a1103b02f8f3 Fixed incorrect indent level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2536
diff changeset
    62
       wslconfig /setdefault debian
2535
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    63
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    64
   * Terminate any running parts of distro::
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    65
2543
a1103b02f8f3 Fixed incorrect indent level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2536
diff changeset
    66
       wslconfig /t debian
a1103b02f8f3 Fixed incorrect indent level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2536
diff changeset
    67
       wslconfig /terminate debian
2535
6f7f3c2f40e1 wslconfig
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2534
diff changeset
    68
2534
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    69
Installing WSL distor second time
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    70
=================================
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    71
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    72
Microsoft provides certain Linux distros out of the box::
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    73
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    74
  wsl --list --online
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    75
  NAME            FRIENDLY NAME
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    76
  Ubuntu          Ubuntu
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    77
  Debian          Debian GNU/Linux
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    78
  kali-linux      Kali Linux Rolling
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    79
  openSUSE-42     openSUSE Leap 42
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    80
  SLES-12         SUSE Linux Enterprise Server v12
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    81
  Ubuntu-16.04    Ubuntu 16.04 LTS
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    82
  Ubuntu-18.04    Ubuntu 18.04 LTS
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    83
  Ubuntu-20.04    Ubuntu 20.04 LTS
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    84
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    85
After the installation you will have an executable ``NAME.exe`` for convenient entering into
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    86
distro, compare::
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    87
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    88
  $ wsl -d NAME CMD
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    89
  $ NAME.exe CMD
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    90
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    91
You install such distros via::
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    92
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    93
  wsl --install NAME
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    94
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    95
What if you want 2 Debian distros? Unfortunately you have to deal with rootfs:
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    96
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    97
* either export existing WSL distro::
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    98
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
    99
    wsl --export Alpine alpine.tar
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   100
    wsl --import alpine-copy 'c:\srv\wsl\alpine-copy' alpine.tar
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   101
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   102
* or use LXC / OCI rootfs (like one from https://alpinelinux.org/downloads/ or
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   103
  http://cdimage.ubuntu.com/ubuntu-base/releases/)::
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   104
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   105
    wget https://dl-cdn.alpinelinux.org/alpine/v3.16/releases/x86_64/alpine-minirootfs-3.16.0-x86_64.tar.gz
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   106
    wsl --import alpine-x 'c:\srv\wsl\alpine-x' alpine-minirootfs-3.16.0-x86_64.tar.gz
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   107
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   108
I'd suggest to use Ubuntu "base" images instead (less bloated than "cloud" images):
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   109
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   110
* http://cdimage.ubuntu.com/ubuntu-base/releases - base images
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   111
* https://cloud-images.ubuntu.com/releases/ - cloud images
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   112
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   113
You download rootfs and import it::
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   114
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   115
  wget http://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04-base-amd64.tar.gz
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   116
  wsl --import my-ubuntu c:\wsl\my-ubuntu ubuntu-base-22.04-base-amd64.tar.gz --version 2
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   117
2508
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   118
Mounting Windows file systems
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   119
=============================
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   120
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   121
From January 2018 WSL 1 allows to mount external NTFS file systems as ``drvfs``. ``metadata`` option
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   122
allows ``chmod`` operation on NTFS volumes, metadata will be shared across all WSL distros though.
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   123
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   124
https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   125
  Chmod/Chown WSL Improvements.
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   126
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   127
To preserve customization between WSL reloads update ``/etc/wsl.conf`` with something like::
2423
6a4fd5ccb340 Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2368
diff changeset
   128
2508
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   129
  [automount]
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   130
  enabled = true
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   131
  mountFsTab = false
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   132
  options = "metadata,noatime,uid=1000,gid=1000,umask=022,fmask=077"
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   133
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   134
Equivalent CLI call is::
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   135
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   136
  sudo mount -t drvfs 'C:\' /mnt/c -o metadata,noatime,uid=1000,gid=1000,umask=022,fmask=077
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   137
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   138
https://devblogs.microsoft.com/commandline/automatically-configuring-wsl/
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   139
  Automatically Configuring WSL.
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   140
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   141
To mount attached USB stick::
2423
6a4fd5ccb340 Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2368
diff changeset
   142
6a4fd5ccb340 Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2368
diff changeset
   143
  sudo mkdir /mnt/f
6a4fd5ccb340 Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2368
diff changeset
   144
  sudo mount -t drvfs f: /mnt/f
2459
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
   145
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
   146
https://docs.microsoft.com/en-us/windows/wsl/wsl-config
607f6d056e26 Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2457
diff changeset
   147
  ``/etc/wsl.conf`` configuration options.
2508
fe9788ce44ba Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2493
diff changeset
   148
2528
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   149
Switching WSL version
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   150
=====================
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   151
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   152
Set default version for new containers::
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   153
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   154
  wsl --set-default-version 1
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   155
2536
4b67faf58c4b Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2535
diff changeset
   156
Convert a specific distro to WSL 1 or 2::
2528
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   157
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   158
  wsl --set-version Debian 1
2536
4b67faf58c4b Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2535
diff changeset
   159
  wsl --set-version Alpne 2
2528
b86cd4fc873e Switching WSL version.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2508
diff changeset
   160
2532
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   161
Debugging WSL
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   162
=============
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   163
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   164
https://github.com/Microsoft/WSL/blob/master/CONTRIBUTING.md
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   165
https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/wsl.wprp
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   166
https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-wsl-logs.ps1
67f29096ae1f Debugging WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2528
diff changeset
   167
2534
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   168
https://msrc-blog.microsoft.com/2018/12/10/first-steps-in-hyper-v-research/
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   169
https://msrc-blog.microsoft.com/2019/09/11/attacking-the-vm-worker-process/
f63a05c1ce4f Installing WSL distor second time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2533
diff changeset
   170
2533
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   171
Custom WSL 2 Linux kernel
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   172
=========================
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   173
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   174
Register kernel in ``/etc/wsl.conf``::
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   175
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   176
  [wsl2]
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   177
  kernel=C:\\Users\\<USER>\\vmlinux
3d0d8ed75cb5 Custom WSL 2 Linux kernel
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2532
diff changeset
   178