Skip to content

Latest commit

 

History

History
91 lines (90 loc) · 4.47 KB

readme.md

File metadata and controls

91 lines (90 loc) · 4.47 KB

简介

wsl为window子系统工具

安装WSL2

  • dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart(PowerShell)
  • 等待重启系统即可

安装WSL2

  • 执行命令开启系统虚拟化:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart(PowerShell)
  • 等待重启系统
  • wsl --set-default-version 2设置wsl默认版本,也就是新子系统安装时使用的wsl版本
  • wsl -l -v查看所有已安装子系统及其wsl版本
  • wsl --set-version UbuntuXX 2设置某个已安装子系统的wsl版本

使用ubuntu子系统

  • 下载安装文件4
  • Add-AppxPackage .\app_name.appx使用PowerShell安装该文件q1
  • or 直接鼠标点击打开q1
  • 等待系统初始化完成
  • 设置用户名和密码
  • sudo su切换到root用户(可选)
  • sudo apt-get update(apt更新)

wsl常用命令1

  • wsl --list列出所有已安装系统
  • wsl --unregsiter {system name}卸载指定系统(system name即是上面命令返回的列表字符串)

remoteWSL工具(vscode插件)

  • vscode搜索即可下载,安装完后点击左下角的图标(类似这样“><“的图标)
  • 在子系统里进入到项目目录
  • code .q2
  • 等待自动打开vscode
  • 编写代码

linux访问window目录

  • cd /mnt/
  • 即可看到挂载的目录

开启子系统全局代理

wsl1

  • export ALL_PROXY="http://127.0.0.1:10809"

WSL修改子系统目录

wsl -l -v
wsl --export Ubuntu-20.04 d:\ubuntu20.04.tar
wsl --unregister Ubuntu-20.04
wsl --import Ubuntu-20.04 d:\ubuntu d:\ubuntu20.04.tar --version 2
del d:\ubuntu20.04.tar

切换账户

  • 切换到root账户sudo su
  • root账户切换到普通账户su - username

WSL2设置全局代理

#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:10809"
export HTTP_PROXY="http://$host_ip:10809"
export HTTPS_PROXY="https://$host_ip:10809"
export https_proxy="https://$host_ip:10809"
export http_proxy="http://$host_ip:10809"
export all_proxy="http://$host_ip:10809"
echo "proxy ip:$ALL_PROXY"

执行时需用source执行,否则无法生效

使目录大小写敏感

  • 管理员方式执行fsutil.exe file setCaseSensitiveInfo <path> enable
  • 禁用则执行fsutil.exe file setCaseSensitiveInfo <path> disable
  • 查询则执行fsutil.exe file queryCaseSensitiveInfo <path>

问题

q1.The system can not find the file specified.

If you have downloaded the Appx file then extract it with any unzipping tool (for example 7zip) in a folder and run the ubuntu.exe in it.

q2.linux系统默认没有导入window path问题,导致一些window下的命令在子系统里找不到

在/etc/wsl.conf文件(没有则touch一个)里加入如下代码:

[interop]
enabled = true
appendWindowPath = true

q3.vscode 的remoteWSL 不能编辑root权限的文件3

ubuntu.exe config --default-user root

q4.参考的对象类型不支持尝试的操作(WSL2)

  • 下载NoLsp.exe
  • 管理员CMD/PowerShell执行NoLsp.exe C:\windows\system32\wsl.exe

q4. error: chmod on /aosp/.repo/repo/.git/config.lock failed: Operation not permitted

参考docker/for-win#6284
参考https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/

  • 第一个方案就是把文件放在WSL自己的文件系统里
  • 第二个就是采用官方的Chmod支持插件

q5.请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。

执行bcdedit /set hypervisorlaunchtype auto然后重启系统即可

参考