window wsl安装ubuntu

wsl安装ubuntu

什么是wsl

官网:https://learn.microsoft.com/zh-cn/windows/wsl/about

适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。

安装wsl

官方文档:
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-1---enable-the-windows-subsystem-for-linux

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。

以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

检查运行 WSL 2 的要求

  • 若要更新到 WSL 2,需要运行 Windows 10。
    对于 x64 系统:版本 1903 或更高版本,内部版本为 18362.1049 或更高版本。
    对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本或 Windows 11。

低于 18362 的版本不支持 WSL 2。

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 更新到“设置”菜单中的最新 Windows 版本。

将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

WSL 2 仅在 Windows 11 或 Windows 10 版本 1903、内部版本 18362 或更高版本中可用。 通过按 Windows 徽标键 + R,检查你的 Windows 版本,然后键入 winver,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 你可能需要更新到最新的 Windows 版本。 低于 14393 的版本完全不支持 WSL。

官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions?source=recommendations

查看并安装linux

运行 wsl --list --online 以查看可用发行版列表并运行 wsl --install -d <DistroName> 以安装一个发行版。

然后通过 wsl --install -d Ubuntu-20.04 选择 Ubuntu 20.04 进行安装。

WSL2的使用

如何查看linux文件

Windows系统下,在我的电脑中可以找到Linux子系统的文件夹,可以直接进行访问,并与Windows系统下的文件进行相互操作。

wsl如何使用代理

方法1:

由于WSL采用的是NAT模式,不能直接与本机localhost共享代理端口。
以往采取的方式就是设置http_proxy和https_proxy.
但,不方便的地方在于每次重启wsl后,由于IP会变化,很有可能需要重新进行配置。
也有办法,可以通过读取/etc/resolve.conf,提取其中的nameserver,自动提取IP,这样就可以自动化配置了。

有两个关键步骤:

  1. WSL2 中配置的代理要指向 Windows 的 IP;
  2. Windows 上的代理客户端需要允许来自本地局域网的请求;

由于 Linux 子系统也是通过 Windows 访问网络,所以 Linux 子系统中的网关指向的是 Windows,DNS 服务器指向的也是 Windows,基于这两个特性,我们可以将 Windows 的 IP 读取出来。

使用
cat /etc/resolv.conf 查看DNS

再输入

export ALL_PROXY="http://{DNS中的地址}:7890"

就可以使用了, 7890 是 Windows 上运行的代理客户端的端口,记得要在 Windows 代理客户端上配置允许本地局域网请求。

一键配置脚本
将上面的过程写入一个 bash 脚本,可以轻松的实现一键配置代理:

#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:7890"

WSL 每次启动的时候都会有不同的 IP 地址,所以并不能直接用静态的方式来设置代理。WSL2 会把 IP 写在 /etc/resolv.conf中,因此可以用 cat /etc/resolv.conf | grep nameserver | awk ‘{ print $2 }’ 这条指令获得宿主机 IP 。

WSL2 自己的 IP 可以用 hostname -I | awk '{print $1}' 得到。**

方法2:通过 DNS 隧道来配置 WSL 的网络

官方解决方案:networking-considerations-with-dns-tunneling

wsl --shutdown
[wsl2]
memory=8GB
processors=8
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=false
autoProxy=true
sparseVhd=true
镜像模式网络

官方: 使用 WSL 访问网络应用程序: https://learn.microsoft.com/zh-cn/windows/wsl/networking

在运行 Windows 11 22H2 及更高版本的计算机上,可以在 .wslconfig 文件中的 [wsl2] 下设置 networkingMode=mirrored,以启用镜像模式网络。 启用此功能会将 WSL 更改为全新的网络体系结构,其目标是将 Windows 上的网络接口“镜像”到 Linux 中,以添加新的网络功能并提高兼容性。

如何将 WSL 接入局域网并与宿主机同网段

Windows Subsystem for Linux (WSL) 是一个非常实用的工具,它允许在 Windows 系统上原生运行 Linux 环境。默认情况下,WSL 使用 NAT 网络模式,与宿主机处于不同的网段

TODO

使用VScode连接到WSL2

VS Code 利用 Remote-WSL 扩展使你能够直接从 VS Code 使用 WSL2 作为实时开发环境

WSL 修改默认登录用户

首先,你需要知道你的 Linux 发行版的名称。你可以通过运行以下命令来列出所有安装的 WSL 发行版及其状态:

wsl -l -v

确定你想要更改默认用户的发行版名称后,运行以下命令,将 替换为你的发行版名称(例如,如果你的发行版是 Ubuntu,则替换为 Ubuntu):

<DistributionName>  config --default-user root
C:\Users\XXX\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe   config --default-user root

相关推荐

  1. ubuntu 安装Nvidia驱动

    2024-07-09 18:24:08       49 阅读
  2. ubuntu安装docker

    2024-07-09 18:24:08       44 阅读

最近更新

  1. 数据结构---数组

    2024-07-09 18:24:08       0 阅读
  2. 【windows】网络信息相关命令

    2024-07-09 18:24:08       0 阅读
  3. python3.11SSL: SSLV3_ALERT_HANDSHAKE_FAILURE

    2024-07-09 18:24:08       0 阅读
  4. 最短路径算法——A*算法

    2024-07-09 18:24:08       0 阅读
  5. Vue进阶之Vue无代码可视化项目(七)

    2024-07-09 18:24:08       0 阅读
  6. Gmsh教程

    2024-07-09 18:24:08       0 阅读
  7. 在 Ubuntu Server 22.04 上安装 Docker 的详细步骤

    2024-07-09 18:24:08       0 阅读

热门阅读

  1. 5、Redis 缓存设计相关知识点

    2024-07-09 18:24:08       6 阅读
  2. 面试题 14- I. 剪绳子

    2024-07-09 18:24:08       7 阅读
  3. 机器学习 - 比较检验

    2024-07-09 18:24:08       7 阅读
  4. Mac OS系统中Beyond Compare 4破解方式

    2024-07-09 18:24:08       6 阅读
  5. Mongodb索引的创建与命名

    2024-07-09 18:24:08       4 阅读
  6. 搭建纯净的SpringBoot工程

    2024-07-09 18:24:08       5 阅读
  7. 新型开发语言的试用感受-仓颉语言发布之际

    2024-07-09 18:24:08       11 阅读