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

相关推荐
斯普信云原生组21 分钟前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
safestar20121 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
liliangcsdn2 小时前
mstsc不在“C:\Windows\System32“下在C:\windows\WinSxS\anmd64xxx“问题分析
开发语言·windows
来一颗砂糖橘2 小时前
负载均衡的多维深度解析
运维·负载均衡
低频电磁之道2 小时前
解决 Windows C++ DLL 导出类不可见的编译错误
c++·windows
楠奕2 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT2 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!2 小时前
Linux常用指令(2)
linux·运维·服务器
不愿透露姓名的大鹏3 小时前
Oracle归档日志爆满急救指南
linux·数据库·oracle·dba
飞Link3 小时前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化