【Linux】wsl2安装ubuntu并移动安装位置

本文首发于 ❄️慕雪的寒舍

1.启用wsl

首先是启用你的wsl,参考本站wsl安装centos8中的教程;

启用wsl后,更新一下,并设置版本为2;

bash 复制代码
wsl --update
wsl --set-default-version 2 # 设置wsl版本为2,不然可能安装失败

2.安装ubuntu

在微软商店搜索ubuntu,根据你的需要安装指定的版本,我选择的是表明了版本号的Ubuntu 22.04.3 LTS版本。

下载完毕后,在微软商店里面点击打开,会弹出一个新的终端,进行安装流程。

随后会提示你输入一个用户名,以及该用户名的密码。为了方便辨识不同的虚拟机,我直接将用户名设置为wsl了。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: wsl
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 4.4.0-22621-Microsoft x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This message is shown once a day. To disable it please create the
/home/wsl/.hushlogin file.
wsl@7945R9P:~$

在windows的终端里面使用wsl命令可以看到当前安装的ubuntu

PS C:\Users\S2522> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Running         1

3.移动安装位置

参考: Site Unreachable

此时先不要急着做下一步,因为默认情况下这个wsl主机是安装在C盘的,对于Linux系统而言,后续用久了容易涨到30GB甚至更大的存储空间消耗。除非你的C盘有非常非常非常多的剩余空间,不然还是建议移动到其他盘去重新安装。

首先用shutdown命令关闭虚拟机

wsl --shutdown

随后用export导出命令将该虚拟机打包导出到一个存储路径中

wsl --export 虚拟机名字 导出文件路径

稍等片刻即可成功导出。

PS C:\Users\S2522> wsl --export Ubuntu-22.04 d:\wsl-ubuntu22.04.tar
正在导出,这可能需要几分钟时间。
操作成功完成。

删除当前的虚拟机

wsl --unregister Ubuntu-22.04

把刚刚导出的tar文件,导入wsl中。此时可以选择我们需要的安装路径,并且指定wsl版本为2(在这之前需要执行wsl --update

wsl --import 虚拟机名字 安装路径 tar包路径 --version 2

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

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

PS C:\Users\S2522> wsl --unregister Ubuntu-22.04
正在注销。
操作成功完成。
PS C:\Users\S2522> wsl --import Ubuntu-22.04 "D:\Program Files\WSL" "D:\Program Files\WSL\wsl-ubuntu22.04.tar" --version 2
正在导入,这可能需要几分钟时间。
操作成功完成。
PS C:\Users\S2522> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Stopped         2

查看一下这个安装路径,能在里面找到一个vhdx虚拟磁盘文件,这就代表我们移动安装目录成功了。不用担心自己的C盘被挤爆了。

使用wsl命令即可进入该虚拟机。因为不是从微软商店直接安装的,所以默认进入的是root用户。

PS C:\Users\S2522> wsl
^EWelcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.133.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


This message is shown once a day. To disable it please create the
/root/.hushlogin file.
root@7945R9P:/mnt/c/Users/S2522#

回到windows的命令行,使用如下命令配置默认用户为刚刚我们初始化时设置的用户(当时我设置的用户名是wsl)

ubuntu2204 config --default-user 用户名

这样配置了之后,wsl命令默认进入的用户就是你刚刚从微软商店下载时初始化的子用户了。

PS C:\Users\S2522> ubuntu2204 config --default-user wsl
PS C:\Users\S2522> wsl
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

wsl@7945R9P:/mnt/c/Users/S2522$

4.安装软件包

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

bash 复制代码
sudo apt -y update && sudo apt -y upgrade

这里列出我自己需要使用的软件包的安装命令。

bash 复制代码
sudo apt -y install vim git net-tools cmake make automake doxygen unzip wget curl g++ gcc

The end

后续就是Ubuntu的正常使用和Linux环境安装过程了,祝你使用愉快!

相关推荐
舞动CPU4 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
皮锤打乌龟5 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
钰@5 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo5 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
秦jh_6 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
yaosheng_VALVE7 小时前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
看山还是山,看水还是。7 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
扣得君7 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go8 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求8 小时前
Linux中给普通账户一次性提权
linux·运维·服务器