windows11系统WSL环境Ubuntu安装和配置

前言:

    最近需要使用linux测试一些程序,平时用惯了windows,不得不想想办法。
    使用Windows自带的WSL是一个比较好的选择。而且使用WSL有个非常方便地方可以直接在wsl内的linux系统中操作windows系统下的文件。
    以下是本人在踩了很多坑之后,自己实践、总结并新鲜出炉的实操内容。
    操作系统:
    1)win11
    任务:
    1)wsl内安装ubuntu24.04(本人另外还安装了22.04,做了多个镜像,方便不同场合下加载运行测试)
    2)在默认安装完ubuntu后,还说明了导出镜像和迁移位置、重载镜像。这个非常有用,特别请新手注意。

一、WSL准备

 分个人喜好,可以用命令行方式安装,或图形方式安装。个人推荐命令行方式,省事。

1. 命令行方式安装

以管理员方式打开power shell 并运行:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

运行上面每一句的时候,都会出现如下这样的显示,一共两次
在这里插入图片描述
在这里插入图片描述
wsl官网还有相似的命令功能,我是重复执行了一下,也没啥坏处:

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

运行过程中显示如下:
在这里插入图片描述
到这里要重启计算机
命令行方式不提示重启,但必须要重启才生效。

2. 图形方式安装(使用命令行安装的,可以忽略)

启用Hyper-V和虚拟机平台等三个组件

  1. 打开 控制面版
  2. 访问 “程序和功能”的 左侧“启用或关闭Windows功能”
  3. 选择**“适用于Linux的Windows子系统”与 “虚拟机平台”与“Hyper-V"**。有的操作系统版本中“虚拟机平台”是英文显示的。
  4. 点击“确定”
  5. 重启计算机
    在这里插入图片描述

3. 安装更新

1. 在线更新
wsl --update

更新完显示如下。具体不同时期可能显示的版本不一样。
在这里插入图片描述

2. (或者)下载更新包(下载适用于x64的内核包)并手动安装。选择在线更新成功的可以忽略。

下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

在这里插入图片描述

4. 设置默认WSL版本

我们只使用wsl2,power shell 以管理员方式运行
将 WSL 默认版本设置为 WSL 2

wsl --set-default-version 2

二、安装Ubuntu

wsl --install -d Ubuntu-24.04

三、给Ubuntu搬家,还可以导出镜像

1. 注意事项

默认情况下wsl主机是安装在C盘。
对于 Linux 系统而言,后续用久了容易产生存储空间消耗。建议移动到其他盘去重新安装。

2. 先用shutdown命令关闭虚拟机

wsl --shutdown

3. 再用export将该虚拟机打包导出到一个本地其他存储路径

#使用如下命令导出虚拟机
wsl --export 虚拟机名字 导出文件路径和导出后的镜像名称(这个名称必须有)
#如果不记得虚拟机名字,可以用下面命令查看
wsl --list
#具体操作实例如下:
wsl --export Ubuntu-24.04 d:\wsl\ubuntu24.04.tar
#其中导出后的路径和文件名可以根据自己需要设置
稍等片刻即可成功导出。

4. 删除当前的虚拟机

wsl --unregister Ubuntu-24.04
#检查删除结果
wsl --list

5. 把刚刚导出的tar文件,导入wsl中。

1. 此时可以选择我们需要的安装路径,并且指定wsl版本为2(在这之前需要执行 wsl --update )
wsl --import 虚拟机名字 安装路径 tar包路径 --version 2
#具体操作实例如下:
wsl --import Ubuntu-24.04 D:/wsl D:/WSL/ubuntu24.04.tar --version 2
#解释如下
Ubuntu-24.04是导入后的系统名称
D:/wsl是导入后镜像存入位置
D:/WSL/ubuntu24.04.tar是要导入的镜像压缩包位置
--version 2可加可不加,只要之前指定了版本就无所谓
2. 检查导入结果

注意,如果你的安装路径里有空格(比如 Progarm Files 文件夹),则需要用英文引号将路径给括起来。

#运行下面命令,检查一下wsl中的镜像状态
wsl -l -v
  NAME              STATE           VERSION
* docker-desktop    Stopped         2
  Ubuntu-24.04      Stopped         2
##我有两个版本镜像,这里载入的是24.04版本

导入成功,并且版本为wsl2;
导入后,tar文件可以删除,不会影响虚拟机使用。

3. 查看虚拟机安装路径中的虚拟磁盘文件
 能在指定的导出路径里面找到一个vhdx虚拟磁盘文件,代表移动安装目录成功。
 这个shortcut.ico怎么来的我还真不知道

在这里插入图片描述

6. 启动虚拟机。

#启动操作
wsl -d ubuntu-24.04
#系统初次安装完一般会要求设置一个用户名和密码,之后要进入root需要sudo

四、修复 WSL -Ubuntu的 DNS 配置

   WSL 默认使用 Windows 的 DNS,但有时(经常!!!)会失效。
   !!!如果你发现系统动不动就无法安装软件,或这个安装更新,就很可能是DNS问题。!!!
   需要修改 配置。

1.查看DNS状态(22.04以后)

resolvectl status

它查看的实际是/etc/systemd/resolved.conf运行的内容。
呵呵,看到了又怎么样,它仍然可能让你因为域名无法解析而无法上网。
如果发现下面红框内显示的是“missing”,就大概率上不了网。我这里显示的是配置修改后的。请继续往下看。
在这里插入图片描述

2.几个与DNS有关的文件,实际关系我没搞明白

  • /etc/resolv.conf:此文件定义了系统使用的DNS服务器地址。
  • /etc/systemd/resolved.conf:此文件是systemd-resolved服务的配置文件,它负责处理DNS解析。
  • /run/systemd/resolve:此目录包含一些与DNS解析相关的临时文件。

3. 编辑etc/resolv.conf配置文件,莽吧(22.04下一定行)

手动修改 etc/resolv.conf配置文件,莽就得了。(24.04好像这个文件默认用户就不能改,大家可以自己试试)

sudo nano /etc/resolv.conf
删除原有内容,替换为:
nameserver 8.8.8.8   # Google DNS
nameserver 1.1.1.1  # 国外 DNS
nameserver 4.4.4.4  # 国外 DNS
nameserver 114.114.114.114  # 国内 DNS
按 Ctrl+X → 输入 Y 保存 → 回车退出。

4. 编辑/etc/wsl.conf(22.04下一定行)

#注意加入下面这句。这句话决定了/etc/resolv.conf独立运作,不会被冲。意思就是WSL启动的时候不产生/etc/resolv.conf,这样就不会被冲掉。
generateResolvConf = false  

显示就是这样

[boot]
systemd=true

[network]
generateResolvConf = false  #这个是新加。

重启试试吧,应该可以。OK了。

4.另外一个办法,22.04和24.04版本采用编辑systemd配置文件的办法,但是时灵时不灵:

#使用文本编辑器编辑/etc/systemd/resolved.conf文件:
sudo nano /etc/systemd/resolved.conf

配置DNS:

#找到并取消注释(删除前面的#)以下行:
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1

可根据需要替换DNS服务器地址,我把它改成了这个样子,把IPV6 的DNS也启用了。
在这里插入图片描述
修改完成后,保存并关闭文件。然后重启systemd-resolved服务使配置生效:

sudo systemctl restart systemd-resolved

我看到 ubuntu22.04和24.04内查看域名解析状态命令变了,用下面这个

resolvectl status

在这里插入图片描述
最好的办法不如做个ping域名测试
在这里插入图片描述

五、安装软件包

使用如下命令更新软件源,更新完毕后就可以自行下载需要的软件包。

sudo apt -y update && sudo apt -y upgrade

六、更换软件源(可选)

1.设置软件源(22.04版这样有效,24.04无效。换个版本就要踩坑,满眼都是泪呀!)

如果清华源不稳定,可以改用其他国内源(如阿里云、中科大),然后更新:

sudo sed -i 's|mirrors.tuna.tsinghua.edu.cn|mirrors.aliyun.com|g' /etc/apt/sources.list
sudo apt update

2.codename的用途

这里要多说一句,软件源配置在/etc/apt/sources.list没有错,大家如果自行编辑这个文件,需要考虑到ubuntu的名字codename问题
ubuntu的不同版本对应一个不同的版本codename:
20.04对应focal;22.04对应jammy,24.04对应noble。看看镜像源重点的如下文件结构,您大概就能理解codename用途。
在这里插入图片描述
可以使用如下命令检查操作系统codename:

lsb_release -a
#显示如下
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:        24.04
Codename:       noble
#这里的codename是noble

3.编辑sources.list的示例

  • 如果你需要自己编辑更新列表文件, /etc/apt/sources.list ,你就会发现在 url 的后面紧跟着一个 codename
  • 为啥只说是示例,因为24.04编辑这个版本无效了。所以,即便我像下面这样编辑也不可以。
  • 如果是22.04版本,可以把其中noble换成jammy还是可以的。
    在这里插入图片描述

4.24.04版本修改镜像源文件

镜像源的地址位置改了:

/etc/apt/sources.list.d/ubuntu.sources

编辑镜像源文件:

sudo vim /etc/apt/sources.list.d/ubuntu.sources
#我喜欢用vi,都差不多,看个人习惯
sudo vi /etc/apt/sources.list.d/ubuntu.sources

你会看到文件里显示的镜像源是这样
在这里插入图片描述

添加镜像源,同时把系统默认配置注释掉
在这里插入图片描述

测试结果:

sudo apt-get update
sudo apt-get upgrade

其他国内镜像源:

#中科大源
Types: deb
URIs: http://mirrors.ustc.edu.cn/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
#阿里源
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
#网易源
Types: deb
URIs: http://mirrors.163.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

七、更换python命令指向

在 Linux 系统(比如 WSL)中,直接输入 python 可能无法运行,因为默认情况下,许多现代 Linux 发行版只预装了 python3,而 python 命令可能需要额外配置才会指向 python3。现实是现在基本没人用python2。

1. 直接使用 python3

大多数情况下,系统已经安装了 Python 3,可以直接运行:
python3

2. 安装 python-is-python3,让 python 指向 python3

如果你想直接输入 python 就能运行 Python 3,可以安装这个包:

sudo apt update
sudo apt install python-is-python3

安装后,python 命令就会自动指向 python3。

3. 检查已安装的 Python 版本

python3 --version  # 查看 Python 3 版本
python --version   # 如果安装了 python-is-python3,会显示 Python 3 版本
python2 --version  # 如果安装了 Python 2,查看版本

总结

这是在踩了很多坑之后,自己实践、总结并新鲜出炉的实操内容。
没有实操发帖是没PY的行为!!!鄙视那些粘贴文章骗分的坑爹博主!
### 配置 Windows Subsystem for Linux (WSL) 中的 Ubuntu 为了在 WSL配置 Ubuntu,可以遵循一系列具体的设置操作以确保最佳性能用户体验。 #### 启用 WSL 功能 首先,在开始之前需要确认已启用了 WSL 功能。这可以通过打开 PowerShell 并以管理员身份执行特定命令来完成[^4]: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 此命令会激活必要的组件以便后续安装 Linux 发行版。 #### 安装适用于 LinuxWindows 更新 接着应确保系统拥有最新的更新,这对于获得最新版本的 WSL 至关重要。可通过 Windows Update 或者手动下载官方发布的补丁来进行升级。 #### 下载并安装 Ubuntu 前往 Microsoft Store 搜索 “Ubuntu”,选择所需版本点击获取按钮即可自动部署至本地计算机中。安装完成后首次启动时建议按照提示创建用户名与密码用于登录该虚拟环境内的账户体系[^3]。 #### 初始化与基础设置调整 初次进入新安装好的 Ubuntu 实例之后,可能还需要做一些初始化工作比如更新软件包列表以及安装一些常用的工具集。这些都可以借助于 `apt` 命令轻松实现: ```bash sudo apt update && sudo apt upgrade -y ``` 另外值得注意的是,默认情况下宿主机上的磁盘会被挂载到 `/mnt/` 路径之下,使得两者之间能够方便地共享数据文件[^5]。 #### 进一步优化体验 对于追求更高效率或者特殊需求的人群来说,则可以根据个人喜好进一步定制化自己的开发环境。例如修改默认 Shell、安装图形界面应用(如果硬件条件允许)、甚至利用 Docker 等容器解决方案构建更复杂的项目架构等等[^2]。 通过上述指导方针应该可以帮助顺利完成 WSLUbuntu 的初步搭建过程,并为进一步探索其潜力打下坚实的基础。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值