Windows子系统WSL安装Ubuntu
因为一些特殊情况,部分开源项目仅支持Linux部署方式,但如果我们只为了一个开源项目的使用而为自己的电脑安装Linux系统是不现实的,因为很多软件和游戏都不支持Linux。如果我们使用VM Ware虚拟机来安装Linux系统,却又无法调用GPU,可开源的AI项目90%都是需要GPU加速的。
故此,最佳的解决方式就是使用新版Windows内置的WSL子系统功能,支持快速安装和卸载Linux系统,并且可以调用GPU加速运算。
不过,安装Linux系统还是需要手动自行安装的,因为Windows只是内置了一个虚拟机而已。目前可以一键安装Ubuntu、Debian、kali-linux、OracleLinux、SUSE-Linux-Enterprise-Server、openSUSE等版本。但我们主要面向初学者,所以本站研究了整理了一下关于Windows下通过WSL2安装部署Ubuntu,非常非常简单,五分钟就可以搞定,所以大家放心,几乎没有任何难度的。
组件安装
如果你的系统是第一次使用Windows的WSL功能,那么组件安装这里是必要的操作步骤。如果你之前使用过WSL子系统功能,那么可以跳过组件安装部分。
子系统
以管理员方式
运行CMD
功能,然后执行如下命令,这将会开启Windows的子系统
功能,否则后续所有操作无法正常使用。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
以下是执行完成后的返回内容,可以看到我们所需要的系统功能已经成功被开启。
C:\Windows\System32>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 部署映像服务和管理工具 版本: 10.0.22621.1 映像版本: 10.0.22621.1848 启用一个或多个功能 [==========================100.0%==========================] 操作成功完成。
虚拟机
以管理员方式
运行CMD
功能,然后执行如下命令,这将会开启Windows的虚拟机
功能,否则后续所有操作无法正常使用。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
以下是执行完成后的返回内容,可以看到我们所需要的虚拟机功能已经成功被开启。
C:\Windows\System32>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 部署映像服务和管理工具 版本: 10.0.22621.1 映像版本: 10.0.22621.1848 启用一个或多个功能 [==========================100.0%==========================] 操作成功完成。
重启电脑
别偷懒,完成以上安装之后一定要重启电脑,否则无法完成安装。
站长因为在这里偷懒,自作聪明的只是注销系统,所以耽误了半个小时。
Ubuntu安装
Liunx是开源系统,所以有很多开发者为其提供系统服务支持,我们可以理解为同一个版本的Windows系统,但是存在多个发布商,比如微软、苹果、亚马逊等,每个版本都有各自的优缺点。
目前较为主流的Linux系统为Ubuntu,所以我们直接安装最新版的Ubuntu系统即可。
系统安装
我们理论上应该进入微软商店安装Ubuntu,但是那样做不太优雅,我们可以通过在CMD中执行如下命令行直接安装。
wsl --install -d Ubuntu
等等片刻之后,将会看到如下内容:
C:\Users\openAI>wsl --install -d Ubuntu 正在安装: 虚拟机平台 已安装 虚拟机平台。 正在安装: 适用于 Linux 的 Windows 子系统 已安装 适用于 Linux 的 Windows 子系统。 正在安装: Ubuntu 已安装 Ubuntu。 正在启动 Ubuntu... 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:
用户及密码设置
此时的大致意思为,需要我们输入一个用户名,本站就以openai_wiki
为例。
注意:仅支持小写26个字母以及下划线,不支持特殊字符。
Enter new UNIX username: openai_wiki
然后需要我们输入用户密码:
注意:输入密码过程不可见,正常盲输即可。
New password:openai_wiki
再次输入密码,确认两遍一致即可。
Retype new password:openai_wiki
最后完成返回内容如下:
C:\Users\openAI>wsl --install -d Ubuntu Ubuntu 已安装。 正在启动 Ubuntu... 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: openai_wiki # 用户名 New password:openai.wiki # 用户密码 Retype new password:openai.wiki # 确认密码 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.2 LTS (GNU/Linux 5.15.90.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 /home/openai_wiki/.hushlogin file. openai_wiki@openAI:~$
此时我们已经完成了系统的安装与用户名和密码设置,并且默认直接进入到了wsl系统。
但这并不是root用户,root用户是Linux系统的默认账户,拥有最高权限,我们顺便将root密码重置一下。
输入如下命令就,即可更改root密码。
sudo passwd root
先输入刚刚设置的密码,然后输入想要设置的root密码,最后再输入一次想要设置的root密码,完整的内容如下。
openai_wiki@openAI:~$ sudo passwd root [sudo] password for openai_wiki:<当前账户密码> New password:<root密码> Retype new password:<root密码> passwd: password updated successfully
如果你只是部署一个WSL的子系统,那么到此就已经安装结束了,本文的后续内容仅做了解即可。
相关补充
下面两张截图都是从CMD
中截取的,但上图
是C:\Users\openAI>
,下图
是openai_wiki@openAI:~$
。
这代表我们在左图这样的界面中输入的命令,是用来控制Windows的。在右图这样绿色的命令行内输入的命令是用来控制WSL子系统Linux的。
默认情况下我们打开CMD的时候就像左图这样,如何进入WSL子系统去控制Linux呢?
我们直接在CMD中输入如下命令,就可以进入WSL虚拟机,注意这是小写的。
wsl
执行完如上内容之后,我们会进入到虚拟机内,如何退出虚拟机返回至CMD?
执行如下命令,即可回到CMD,也就是说,你可以通过wsl
和exit
这两个简短的命令非常方便的在Windows和Linux中切换控制权。
exit
依赖更新
在你安装完成WSL的Linux系统之后,我们要做的第一件事,那就是更新当前系统依赖。
我们应该确保自己处于WSL虚拟机内,执行如下命令,更新软件包列表并自动升级:
sudo apt update && sudo apt -y upgrade
执行如上代码后需要等待几分钟,因为这将会获取最新Ubuntu依赖更新。
WSL|基础知识
什么是WSL?你可以理解为是一个完全虚拟出来的系统容器,在你当前的电脑系统里面再安装一个子系统。
以下是一些常用的wsl命令,大家先简单的了解一下即可。
查看已安装的Linux系统
我们可以先查看一下关于wsl的基本信息,在CMD中执行如下命令即可。
wsl -l
如果你已安装过WSL的子系统,那么会显示如下内容:
C:\Users\openA>wsl -l 适用于 Linux 的 Windows 子系统分发: Ubuntu (默认)
如果你未安装过任何子系统,那么将会返回内容如下:
C:\Users\openAI>wsl -l 适用于 Linux 的 Windows 子系统没有已安装的分发。 使用 'wsl.exe --list --online' 列出可用的分发 并使用 'wsl.exe --install <Distro>' 进行安装。 也可以通过访问 Microsoft Store 安装分发: https://aka.ms/wslstore Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND
开启WSL系统
开机方式非常简单,我们可以只需要输入wsl
即可自动开启默认的Linux系统。
wsl
关闭当前Linux系统
也就是最常见的关机命令,非常方便。
wsl --shutdown
更新WSL
更新适用于 Linux 的 Windows 子系统程序包。
wsl --update
列出可安装的Linux系统
wsl -l -o
以下是返回内容:
C:\Users\openAI>wsl -l -o 以下是可安装的有效分发的列表。 使用 '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 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 openSUSE-Leap-15.4 openSUSE Leap 15.4 openSUSE-Tumbleweed openSUSE Tumbleweed
拿Ubuntu系统来举例,我们可以看到其中包含Ubuntu
|Ubuntu-22.04
|Ubuntu-20.04
|Ubuntu-18.04
等多个版本,如果没有特殊要求,我们直接安装第一个Ubuntu
即可,因为这是Ubuntu的最新版本。
重启WSL
执行如下命令,重启WSL虚拟机。
sudo reboot
执行如上命令之后,将会从Linux的终端中退出,返回到CMD命令内,我们重新输入wsl
,进入虚拟机。
wsl
系统快照
熟悉虚拟机的朋友可能听名字就知道这是什么了,其实就是将你现在已经部署好的虚拟机做一个备份,可以让你随时还原到当前虚拟机的状态。
拍摄快照
这个功能非常非常有用,因为你无法确定会不会有时候把虚拟机给搞乱了,所以如果你已经布置好了一个完整的虚拟机,想要备份,那么可以使用如下方式。
我们在CMD
中执行如下命令,将会把你当前状态的虚拟机进行快照拍摄,其中的Ubuntu
是虚拟机的名称
,后面的D:\openai.wiki\WSL\WSL-Ubuntu.tar
是保存的路径
+文件名
,可以自行修改。
wsl --export Ubuntu D:\openai.wiki\WSL\WSL-Ubuntu.tar
执行完成后,等待片刻,可以在D盘
的openai.wiki\WSL
目录下看到WSL-Ubuntu.tar
文件已成功生成。
还原快照
这是本节的重中之重,也就是如何将你下载好的项目备份直接倒入到自己的电脑,站长会给你提供一个较大的系统备份压缩包,下载之后不用解压,直接通过如下方式导入到你的电脑中即可。
在CMD中逐条执行如下命令,即可完成导入虚拟机备份的快照功能,说白了就是恢复备份。
恢复备份需要安装一个虚拟机吗?不需要,你只需要确定你的WSL相关组件已经开启即可,也就是本文中最上面的部分。
关闭WSL虚拟机:
wsl --shutdown
删除名为Ubuntu的虚拟机:
wsl --unregister Ubuntu
首先我们需要确认一个工作目录,用来存放该项目的相关环境依赖文件。本站所选择的目录为D盘
的根目录下openai.wiki\WSL
文件夹,完整路径为:D:\openai.wiki\WSL
。
在CMD中执行如下命令,这将会自动检测D盘
是否在openai.wiki\WSL
文件夹,没有则自动创建
该文件夹
。
if not exist D:\openai.wiki\WSL mkdir D:\openai.wiki\WSL
导入本站所提供的虚拟机,其中Ubuntu
为虚拟机名称,D:\openai.wiki\WSL
为导入虚拟机的路径,D:\openai.wiki\WSL\WSL-Ubuntu.tar
为虚拟机备份文件路径,--version 2
为版本号,关于版本一般来说忽略即可。
wsl --import Ubuntu D:\openai.wiki\WSL D:\openai.wiki\WSL\WSL-Ubuntu.tar --version 2
注意:D:\
openai.wiki\
WSL
这个路径就是你想把导入备份的虚拟机安装到哪里,我们无论指定到哪个路径都是可以正常执行的,只要确认tar文件路径正确即可。
评论 (0)