window 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:设置linux代理

由于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

修改文件: C:\Users{用户名}.wslconfig

如果没有.wslconfig文件,则新建 .wslconfig文件

[wsl2]
memory=8GB
processors=8
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
sparseVhd=true

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

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

TODO

使用VScode连接到WSL2

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

四、常用总结

wsl安装包实际安装位置安装都D盘

方法1:新安装方式

wsl默认安装在c盘,随着系统的使用,会占用我们C盘的空间。

wsl的硬盘映像文件名为 ext4.vhdx, 以 Ubuntu20.04 为例,路径默认在C:\Users\<你的用户名>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LOCALS~1\ext4.vhdx

先打开cmd,输入wsl --list,查看你安装的版本,然后输入wsl --unregister <要卸载的发行版>,之后删掉目录下的那个子系统就可以了

第一步:
从官网页面可以下载想要安装的 Linux 发行版:下载发行版

第二步:
以我下载的 Ubuntu 22.04 LTS 为例,把下载后得到的 .appx 文件放到 D 盘目录下,然后修改后缀名为 zip ,即 Ubuntu2204-220620.appx -> Ubuntu2204-220620.zip

然后把它解压,得到一个文件夹,如果文件夹中有 ubuntu****.exe ,那就可以了;但是 22.04 版本解压后应该是有若干个 appx ,这时候根据自己的平台把 Ubuntu_2204.0.10.0_x64.appx 或 Ubuntu_2204.0.10.0_ARM64.appx 修改后缀为 zip,然后再一次解压,这一次就可以得到 .exe 了。

第三步:
双击 ubuntu2204.exe 开始安装,如果出现错误,那么大概率是没有更新 WSL2 的内核,回到前面一节 “设置默认安装 WSL2” 更新内核。

方法2:

How can I move my WSL distribution to a different drive or location?
官方链接: https://learn.microsoft.com/en-us/windows/wsl/faq

您可以使用 PowerShell 执行此操作。以下是每个步骤的必要命令和说明。

# Create a folder where you would like to store your distro
New-Item -ItemType Directory -Path <Install location, e.g: D:\WSLDistros\Ubuntu>

# Export your distro to that folder as a VHD
wsl --export --vhd <Distroname, e.g: Ubuntu> <Install Location with filename, e.g: D:\WSLDistros\Ubuntu\ext4.vhdx>

# Unregister your old distro
# Please note this will erase your existing distro's file contents, please ensure the backup file you created in the 2nd step is present at the location and that the export operation completed successfully.
# Please exercise caution when using this command, as it is destructive and could cause data loss.
wsl --unregister <Distroname>

# Import your VHD backup

wsl --import-in-place <Distroname> <Install Location with filename>

# Set your default user account

You can set up your default user account by [setting a wsl.conf value of user.default=<name>](/windows/wsl/wsl-config#user-settings)

vscode远程wsl时默认用root登录

  1. 以管理员身份启动powershell

  2. 先查看电脑上的wsl版本:
    输入下面命令

wsl -l
  1. 然后根据对应的版本的wsl系统设置默认用户(我这里是Ubuntu 所以就是Ubuntu.exe)
Ubuntu.exe config --default-user root
你可以使用以下步骤在Windows Subsystem for Linux (WSL)中安装Ubuntu: 1. 首先,你需要下载Ubuntu安装包。你可以从Ubuntu官方网站下载适用于WSLUbuntu镜像文件。 2. 将下载的Ubuntu安装包放置在你想要的位置,确保该位置有足够的空间。通常情况下,Ubuntu会被安装在C:\Program Files\WindowsApps目录下,但是该目录无法直接访问。你可以使用PowerShell进入该目录,并找到对应的Ubuntu目录。 3. 打开PowerShell,输入以下命令来导入Ubuntu安装包并创建一个新的Ubuntu实例: ```shell wsl --import Ubuntu-18.04 <安装包所在路径> <安装目录路径> ``` 其中,`Ubuntu-18.04`是你给该实例起的名称,`<安装包所在路径>`是你之前下载的Ubuntu安装包的路径,`<安装目录路径>`是你希望安装Ubuntu的目录路径。 4. 完成导入后,你可以通过以下命令查看已安装Linux系统列表: ```shell wsl --list ``` 这将显示安装Ubuntu实例的名称。 5. 在安装完成后,你可以使用以下命令启动该Ubuntu实例: ```shell wsl -d Ubuntu-18.04 ``` 其中,`Ubuntu-18.04`是你创建的Ubuntu实例的名称。 请注意,安装过程可能需要一段时间,并且如果遇到任何错误,建议根据错误代码在网上进一步查询解决方法。安装完成后,你可能需要设置账号和密码来登录Ubuntu实例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [wsl安装ubuntu](https://blog.youkuaiyun.com/qq_39942341/article/details/121512900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Linux基础】WSL安装Ubuntu](https://blog.youkuaiyun.com/jiangwei0512/article/details/132004252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值