type
status
date
slug
summary
tags
category
icon
password
1. 安装Ubuntu
- 首先检查windows是否可以更新, 必须保持在可以更新的状态才可以下载ubuntu镜像.
- 管理员模式打开终端, 查看wsl可以安装的linux版本
- 安装ubuntu
如果windows无法更新这里会出现错误代码:
0x80070005
.- 启动ubuntu
- 原因: linux内核没有更新. WslRegisterDistribution failed with error: 0x800701bcUpdated Jun 14, 2024
- 解决方法: 更新linux内核
安装完可能出现报错:
WslRegisterDistribution failed with error: 0x800701bc
2. 开启ssh
修改
/etc/ssh/sshd_config
结尾加上密码登录, 端口等参数- 重启ssh
- 可能出现报错:
sshd: no hostkeys available -- exiting
- 解决方法:
sudo ssh-keygen -A
- wsl启动时,自动启动ssh
- 在
~/.bashrc
或~/.profile
添加以下命令 - 无sudo密码启动ssh服务
3. 自动化windows虚拟网卡ip修改+启动ssh服务
wsl的虚拟网卡在windows重启的时候, ip地址会自动改变. 编写bat文件, 管理员运行.
- 由于每次wsl重启都会重置网卡配置, 所以可以写一个脚本自动修改网卡
- 在 wsl Ubuntu home 目录下添加一个脚本
set_eth0.sh
(注意脚本保存的位置), 桥接网卡到host, 并打开 ssh 服务
- powershell桥接网络脚本
- 注意这里的
Start-Process "$psHome\powershell.exe"
, 需要用终端输入$psHome
查看 powershell 路径, 该路径下是 powershell.exe 还是 pwsh.exe.
在windows中新建开启脚本: wsl-bridge-on.ps1
powershell 取消桥接脚本, 可以不使用
在 windows 中新建关闭脚本: wsl-bridge-off.ps1
- windows 下设置 ps1 文件运行程序
分别右键 wsl-bridge-on.ps1 和 wsl-bridge-off.ps1 这两个脚本, 直接默认powershell运行 (或在打开方式中选择其它应用, 找到powershell安装路径下的可执行文件pwsh.exe, 勾选始终使用此应用打开.ps1文件, 这样就可以直接双击运行了).
不过, 默认情况下 windows powershell 不允许执行自定义脚本, 所以需要修改设置打开执行权限.
管理员方式打开 powershell, 执行 Set-ExecutionPolicy Unrestricted 或 Set-ExecutionPolicy RemoteSigned
- 将 ps1 文件添加到开始屏幕
给 ps1 文件创建一个快捷方式, 复制到
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
文件夹下, 修改文件名.之后, 开始菜单搜索目标文件名, 右键添加开始屏幕即可.
3.1. mirror模式设置网络
‣
注意,设置的时候TUN模式需要关掉,防止wsl虚拟机的首选网卡从连接互联网的口变成TUN的虚拟网卡的口。可以通过
ip addr
来查看。4. WSL 安装 ubuntu 之后, ubuntu 内使用 nvidia-smi 失效
加入 .bachrc 文件中
5. WSL 无法 ping 通 Windows 宿主机
因为 windows 防火墙屏蔽了外来的 icmp 包, 需要给防火墙添加规则
6. 安装图形化界面
7. WSL 中的cuda驱动是和宿主机共享
由于 CUDA 驱动的地址在 Windows 路径下, 所以安装 opencv 等 python 库关联的模块会出现各种环境问题. 如果需要做开发用的话, 不建议使用 WSL.
如果安装了图形化界面,再图形化界面使用终端会发现
nvidia-smi
不能用。所以需要安装cuda驱动
8. WSL 安装smb挂在ext4磁盘
- 挂载磁盘