Windows WSL虚拟机相关配置

Windows WSL虚拟机相关配置

安装Hyper-V,Hyper-V.cmd:

1
2
3
4
5
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

centos

执行systemctl命令报Failed to get D-Bus connection: Operation not permitted错,解决方案:https://blog.csdn.net/qawsedrf123lala/article/details/124157145

1
2
3
4
5
6
7
8
9
$ mv /usr/bin/systemctl /usr/bin/systemctl.old
$ curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (35) SSL received a record that exceeded the maximum permissible length.
$ chmod +x /usr/bin/systemctl
$ ll /usr/bin/systemctl
-rwxr-xr-x 1 root root 0 Jul 1 20:35 /usr/bin/systemctl

为 WSL2 配置静态 IP

用最复杂的方式为 WSL2 配置静态 IP - LibXZR 的小本本

打开 【Hyper-V 管理器】-> 【虚拟交换机管理器】

image-20230708161100450

创建一个外部网络,将其桥接到上外部有线网卡

image-20230708170300224

管理员身份运行PowerShell,执行get-VMSwitch:

1
2
3
4
5
6
7
$ get-VMSwitch

Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
Default Switch Internal
WSL Internal
wslNAT External Realtek Gaming GbE Family Controller

在用户目录 %USERPROFILE% 下创建一个配置文件 .wslconfig,填写如下内容:

1
2
3
4
5
[wsl2]
networkingMode=bridged # 桥接模式
vmSwitch=wslNAT # 创建的外部虚拟交换机
ipv6=true # 启用 IPv6
dhcp=true # DHCP动态分配IP地址

重启WSL:

1
$ wsl --shutdown && wsl

WSL2 网络的最终解决方案 - 知乎 (zhihu.com)

--THE END--

本文标题:Windows WSL虚拟机相关配置

文章作者:hiyo

文章链接:https://hiyongz.github.io/posts/linux-wsl-configure-tutorials/

许可协议:本博客文章除特别声明外,均采用CC BY-NC-ND 4.0 许可协议。转载请保留原文链接及作者。

关注微信公众号,及时接收最新技术文章!