【dl】【WSL2】如何获得“Winux”?Windows 上的 Linux 子系统 —— 比虚拟机更好的选择

准备工作

第一步:确认CPU虚拟化

打开任务管理器------性能,在cpu一栏找"虚拟化",确认其已开启。一般大部分cpu都是默认开启的。没开启的请自行前往bios修改。

第二步:开启两个Windows功能

在任务栏搜索 Windows功能。开启"适用于Linux的Windows子系统" "虚拟机平台"这两个功能,点击确定后会提示重启。

安装和使用

安装WSL与Linux发行版

以管理员身份运行cmd(或者powershell),输入

bash 复制代码
wsl --install

不指定版本的话默认下的Ubuntu某一个LTS版本。

如果指定版本(这里指定22.04 一般做dl用这个版本最稳定)的话则输入

bash 复制代码
wsl --install -d Ubuntu-22.04

如果身处国内网络或者没挂梯子,建议在最后加上--web-download

另外可以通过以下这个命令查看wsl可以下载哪些linux发行版

bash 复制代码
wsl --list --online

接着等待安装,安装好之后还会弹出一个引导界面,先不用管。

另一边,cmd窗口会提示输入用户名和密码(linux的密码输入无明式显示)

wsl对用户名有一些要求

只包含小写字母、数字和下划线

以字母开头

长度在1到32个字符之间


出现到这一步就安装完毕了。安装的版本是 Ubuntu 22.04.5 LTS。

查看

显示当前机器上所有下载的linux子系统

bash 复制代码
wsl --list -v

可以看到刚刚安装的子系统名字叫 Ubuntu-22.04

STATE Running 代表正在运行,Stopped 未开机.

前面有个*号代表是当前默认的子系统,如果有多个子系统也可以通过以下这个命令修改你的默认子系统。(NAME换成你想换的子系统的名字)

bash 复制代码
wsl --set-default NAME

启动

如何启动子系统?

win11 在终端的下拉界面可以看到几个版本。找到Ubuntu点击即开机,

如果用的是老版本的命令提示符窗口,那么输入

bash 复制代码
wsl -d Ubuntu-22.04

输入pwd 还可以看到当前工作目录

输入 exit 即可退出

卸载

bash 复制代码
wsl --unregister NAME

导出、导入与备份

导出

bash 复制代码
wsl export NAME FILENAME.tar 生成tar文件的地址
# 比如说 wsl export Ubuntu-22.04 ubuntu.tar C:\temp\ubuntu.tar

之后你将在目标地址看到一个FILENAME.tar文件,如果不加地址的话就默认生成在当前工作文件夹。

导入

假设说我现在要把一个tar文件导入到一个新的地址。

bash 复制代码
wsl --import NAME 新的地址 tar文件所在地址
# 比如说 wsl --import Ubuntu-22.04 D:\wsl\ubuntu-22.04 C:\temp\ubuntu.tar

转移

假设说我现在要把安装在c盘的Ubuntu-22.04转移到D盘,一般的流程如下

  • 导出 wsl export Ubuntu-22.04 ubuntu.tar C:\temp\ubuntu.tar
  • 注销 wsl --unregister Ubuntu-22.04
  • 导入 wsl --import Ubuntu-22.04 D:\wsl\ubuntu-22.04 C:\temp\ubuntu.tar
  • 启动检测 wsl -d Ubuntu-22.04

因为安装的时候默认都是装在c盘下,所以说如果c盘容量不够想要转移的话就要通过这个方式。

其他

文件共享

在linux查看windows文件

df,"Disk Free" 的缩写,核心作用是显示文件系统的磁盘容量、已用空间、可用空间等信息

bash 复制代码
df -h

可以看到Windows中的C,D,E盘都是通过挂载的方式挂到子系统的主目录下,这种方式的io性能不好,如果有频繁的io操作建议直接把文件copy过来。

在windows查看linux文件


命令混用

可以在linux命令里混win的命令,在win的命令里混linux的命令......可以说是很逆天了

显卡直通


后续将更新在linux上安装conda环境,在pycharm、cursor等ide接入linux的环境。

相关推荐
卷土重去38 分钟前
第 6 章 Linux 实操篇-Vi 和 Vim 编辑器
linux·编辑器·vim
sukalot2 小时前
windows 驱动实例分析系列: HidHide驱动分析-HidHideClient 篇(中)
windows·驱动开发
en.en..3 小时前
Linux 孤儿进程与僵尸进程
linux·运维·服务器
一只积极向上的小咸鱼7 小时前
Codex Remote SSH / Dev Container 无限转圈与 GPT-6 可用问题排查总结
运维·gpt·ssh
智塑未来7 小时前
自动化立体库工业无线通信:AGV、AMR、RGV、穿梭车、无人叉车、堆垛机全覆盖
运维·自动化
T1mzhou8 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言
Elastic 中国社区官方博客9 小时前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
bwz999@88.com9 小时前
Ubuntu Server 24.04 设置中文
linux·运维·ubuntu
fly-979 小时前
Ubuntu FTP/SFTP 报错:找不到匹配的 hostkey 算法 完整解决
linux·ubuntu