【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的环境。

相关推荐
A小辣椒18 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式