算是wsl2的使用总结。

一。启动win10虚拟机模块

  1. 打开控制面板(或开始->运行: control)

  2. 点击最左边的 “启用或关闭windows功能”,会弹出模块勾选界面

  3. 勾上 Hyper-V、适用于Linux的Windows子系统、虚拟机平台

  4. 点击确定按钮即开始安装,安装完后会要求重启电脑,让它重启即可

二。安装ubuntu(wsl2)

  1. 打开Win10应用商店,搜索 "ubuntu 22",
      找到作者是Canonical Group Limited的ubuntu,选一个安装

  2. 安装(获取),此步骤会要求注册登录微软账号

  3. 安装完以后,安装按钮会变成打开按钮,此时先别打开,也别关闭应用商店

      此时打开也运行不了,因为刚安装的ubuntu目录默认处于内容压缩状态

  4. 取消ubuntu目录的压缩选项

      开始,运行:C:\Users\%USERNAME%\AppData\Local\Packages

      会打开ubuntu目录所在的文件夹
    (CanonicalGroupLimited.Ubuntu..... 开头的目录即是ubuntu目录,若没重复安装则只有一个)

      在这个文件夹上点鼠标右键>属性>高级

      取消勾选 "压缩内容以节省磁盘空间"

  5. 回到前面的应用商店界面,点击打开按钮,ubuntu 会开始初始化(必须先在这打开一次)

      过程中会让你设置ubuntu的用户名和密码,整个过程大概一两分钟时间
      如果几分钟后还是没动,就强制关了,重启电脑就算装好了

  8. 如何卸载?

      右击桌面上的 开始 按钮,选择 “应用和功能”
      搜索已经安装的 ubuntu ,选择它,然后点击卸载即可。

  
 

安装好以后,可以通过以下三种方式打开 ubuntu shell:

开始 -> 运行: bash ,

开始 -> 运行: wsl ,

在任意的windows文件夹中,空白处右击,然后选 "在此处打开linux shell"

其它:
windows里面的磁盘都被wsl挂载在 /mnt/ 目录下
windows可以通过这个共享路径 \\wsl$\ 来读取 wsl 系统文件

wsl 中的shell指令,可以直接启动 windows 宿主环境的exe程序,如notepad.exe, qemu.exe
但非utf8汉字可能会显示为乱码。这种情况建议改为通过powershell.exe间接调用:
 

QEMUARG :=-nographic -machine virt-6.2,gic-version=3,secure=on,virtualization=on -cpu cortex-a53 -m 1024 -semihosting
QEMUEXE	?=d:\\Program Files\\qemu\\qemu-system-aarch64.exe

	echo ''                                                                                                 >  ${BULDDIR}/startQemu.ps1	
	echo '[System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8'>> ${BULDDIR}/startQemu.ps1
	powershell.exe ${BULDDIR}/startQemu.ps1

#如果需要,可以这样将Ubuntu shell由dash修改为bash
sudo dpkg-reconfigure dash ,再选择No,确定
echo $BASH

#停止wsl
win10 cmd: wsl --shutdown

#在windows命令行中重启wsl
net stop LxssManager

#打开powershell用命令查看目前wsl的默认distribution
wsl -l -v

#设置一下默认distribution就行了 
wsl --setdefault Ubuntu-22.04

#wsl命令无反应的处理
参考原文
通过以下指令获取进程PID:

tasklist /svc /fi "imagename eq svchost.exe" | findstr LxssManager

然后以管理员权限在任务管理器中杀掉这个进程 

网上其它的处理方法,应该没啥卵用:
netsh int ip reset
netsh winsock reset
sc query lxssmanager
net stop LxssManager
net start LxssManager

然后重启

如果还不行,就:
在启动或关闭Windows功能中,关掉适用于Linux的Windows子系统,
再重新打开。重启后一切恢复正常

#跟其它模拟器的冲突
windows 中的 wsl 基于微软自家的 Hyper-V (ms WHPX 系虚拟化加速)
有些第三方的安卓模拟器,基于 Intel 家的 Haxm (Intel Haxm 系虚拟化加速)
有可能会冲突,此时得禁用一个。参考:win10中WSL与Intel Haxm系列模拟器产生冲突

#将wsl 的代码仓库改成使用清华源
-----------------------------------------------------------------------
sudo cp  /etc/apt/sources.list /etc/apt/sources.list.bak
win10中访问 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 获取软件源列表,保存到 d:\1.txt
sudo cp /mnt/d/1.txt /etc/apt/sources.list
sudo apt update

注意清华的软件源里面没有make!!, 建议切换仓库前,先 sudo apt install make
注意:开始 -> 运行, \\wsl$  可以读取 wslUbuntu 中的 /etc/apt/ 等文件,但没有权限更改】

# cmd.exe 不好粘贴,可以换用 MobaXterm_Personal_21.5 这类带着色显示的终端软件。

Logo

更多推荐