当前位置:   article > 正文

Windows11+wsl+ubuntu开发环境搭建_win11 wsl ubuntu

win11 wsl ubuntu

Windows11+wsl+ubuntu开发环境搭建

使用 win11 +wsl 构建本地编译环境, 无需虚拟机很方便. win11 自带的商店中输入 linux 找到对应版本的ubuntu 18.04.6, 下载并安装
下载安装

1. 报错 Error: 0x800701bc WSL 2

1.1 打开相关配置重启电脑

在启用或关闭windows功能中打开以下选项,hyper-v,适用于linux的windows子系统,虚拟机平台
在这里插入图片描述

1.2 2 按照官网步骤配置安装linux内核更新包

配置安装linux内核更新包, 注意前 5 步每一步都要按照官网要求安装,完成后即可打开 ubuntu

2. 挂载新的需要大小的磁盘

我第一次直接扩大ubuntu的磁盘大小, 系统损坏导致磁盘损坏, 导致磁盘里的东西都不能用了,因此不能直接扩容, 要将磁盘和系统分开. 即使系统崩溃了也不影响数据.

2.1 申请需要的空间

在这里插入图片描述

输入名字点击保存

在这里插入图片描述
填入对应需要的磁盘大小, 我的磁盘是 1.4t 的预留了0.1t

在这里插入图片描述
等待磁盘创建完成, 创建完成后如下所示创建出一个 vhd 的磁盘.

在这里插入图片描述

使用管理员打开power shell 输入下面命令找到我们添加的磁盘

GET-CimInstance -query "SELECT * from Win32_DiskDrive"
  • 1

在这里插入图片描述
\\.\PHYSICALDRIVE1即为我们添加的磁盘, vhd 是虚拟磁盘.

2.2 将这个磁盘挂载到 wsl

运行下面命令即可挂载磁盘到 wsl

wsl --mount \\.\PHYSICALDRIVE1 --bare
  • 1

2.3 在linux下初始化磁盘并挂载到系统

经过上述挂载之后, 打开 wsl 输入 sudo fdisk -l即可找到对应的磁盘
在这里插入图片描述

运行下面命令初始化硬盘为 ext4 注意盘符可能不一样以自己的为准

sudo parted /dev/sdc mklabel gpt
sudo parted /dev/sdc mkpart primary ext4 0% 100%
sudo mkfs.ext4 /dev/sdc
  • 1
  • 2
  • 3

接着运行

sudo mount /dev/sdc work/
  • 1

挂载硬盘, 至此添加硬完成

3. 备份 wsl

为了避免意外系统崩溃导致系统无法使用, 因此在配置完成之后对我们的系统进行备份.

1) 关闭运行的子系统

关闭所有正在运行的子系统

wsl --shutdown
  • 1

2) 导出子系统

wsl --export Ubuntu-18.04 E:\export-Ubuntu.tar
  • 1

我这里导出到 e 盘

3) 在需要的时候导入WSL环境
如果自己原本的 ubuntu 坏了可以尝试通过此方法恢复.

wsl --import <NAME> <IMPORTLOCATION> <EXPORTFILE> 
wsl --import   Ubuntu-18.041  E:\wsl  E:\export-Ubuntu.tar
  • 1
  • 2

导入完成之后 wsl -l -v 查看结果
在这里插入图片描述

4. 修改 wsl ubuntu 占用物理内存

运行一段时间发现 wsl 快把 c 盘吃光了, 实际虚拟磁盘占用的内存太多了.解决方法参考
缩小 WSL2 VHDX 文件的大小

diskpart> select vdisk file="C:\Users\<Username>\AppData\Local\Packages\<Linux-Distribution-AppPackageName>\LocalState\ext4.vhdx"
diskpart> compact vdisk
  • 1
  • 2

此时应进入到 WSL2 中,运行 zerofree 将 ext4 文件系统内已经不用的块填零,但 zerofree 不能运行在已经挂载为 rw 的文件系统上,那就把文件系统挂载为 readonly 就行了

mount /dev/sda -o remount,ro
zerofree /dev/sda
  • 1
  • 2

运行结束后,在 Windows 下关闭 WSL2

wsl --shutdown
  • 1

然后再运行最开始 diskpart 的 compact

diskpart> select vdisk file="C:\Users\<Username>\AppData\Local\Packages\<Linux-Distribution-AppPackageName>\LocalState\ext4.vhdx"
diskpart> compact vdisk
  • 1
  • 2

问题解决.

5. 报错 Error code: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND

重装wsl报错, 使用一下命令手动安装, 首先通过 --list --online注意需要开科技, 否则无法在线下载.

PS C:\Users\sheng.zhao> wsl.exe --list --online
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumblewee
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

然后下面命令等待安装完成

wsl.exe --install Ubuntu-22.04
  • 1
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号