本人小白一枚,因为生信分析的需要开始学习Linux。使用visualbox等虚拟机运行Linux有时会没有那么流畅,想试试看WIN10自带的WSL2来使用linux。这里总结一下WSL2安装、ubuntu的安装、自己遇到的问题以及修改安装位置(以免C盘占用过多)。下面的安装流程是手动安装,而非通过Powershell的wsl --install命令。
1.前提条件
需要Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。
Windows系统中使用“win+r”,输入“winver”回车,查看系统的版本。
2.启动“适用于linux的windows子系统”和“虚拟机”两个功能
方法一:
可以在powershell中输入命令来开启这两个功能。
①找到powershell
②以管理员身份运行
③输入代码
启用适用于Linux的Windwos子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
方法二:
①搜索“启用或关闭windows功能”
②运行该应用,进度条拉到底,勾选所需的选项
3.重启电脑
3.1在bios中开启虚拟机功能(2023-01-08补充)
我在另一台电脑上安装ubuntu2204,在 step7 安装ubuntu 时会遇到提示说bios的虚拟机功能未打开,无法安装。这一项也算是安装前置条件,所以这里以华硕B550M的bios简要说明如何处理。
开机 → F2进入bios界面 → F7进入高级设置 → 点击上方菜单栏中的“高级”选项 → 点击“CPU设置” → 找到SVM mode → 设置成enable → F10后正常开机
4.下载Linux内核更新包,并安装(适用于 x64 计算机的 WSL2 Linux 内核更新包)
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Linux内核更新包可以在旧版 WSL 的手动安装步骤 | Microsoft Learn中的步骤4下载
5.将wsl2版本设置为默认版本
在powershell中输入命令并回车
wsl --set-default-version 2
6.通过microsoft store安装ubuntu
本文是安装了ubuntu22.04,下文都以该版本为例
本人在使用微软商店安装ubuntu时遇到无法下载和微软商店无法更新的问题,提示是“0x80080005”,也就是说windows系统自动更新功能被关闭了。想起之前使用联想的关闭win更新软件把自动更新给关了...只好又把更新功能打开,并在“服务”中开启了win自动更新。然后就顺利地安装了ubuntu。
7.下载完成后,安装ubuntu
在开始菜单打开或者微软商店点击 启动 都可以,如果事先没有吧bios中的虚拟机功能打开,该步骤会提示你bios中虚拟机功能需要打开,方法在上面step 3.1提到。
8.设置用户名和密码
这里我没截图,就上一个参考视频里的截图吧,ubuntu2204的界面跟这个风格差不多,根据提示输入用户名、密码就可以了。
设置完成后还有个默认设置mount location之类的,我没搞懂就直接一路done过去(最下方有个done选项,用方向键控制选择然后回车就行),也没什么问题(注:后来我在另一台电脑上按照这个步骤安装ubuntu2204.5,输完用户名和密码就完事儿了)。
9.安装完成,可以使用了
10.修改安装路径
因为默认是安装ubuntu在C盘,那我一般不喜欢在C盘装软件,所以把ubuntu该到了H盘。
①查看wsl运行状态,将其保持在关闭状态
在powershell中输入代码:
wsl -l -v
图中STATE显示Running,就需要使用
wsl --shutdown
将其关闭,再次使用"wsl -l -v"确认状态
发现已经不在运行了
②导出当前Linux的镜像
在H盘根目录创建了新文件夹“Ubuntu2204”作为之后ubuntu的安装位置
在Powershell中输入代码:
wsl --export Ubuntu-22.04 H:\ubuntu22.04.tar
其中,"Ubuntu-22.04"是使用"wsl -l -v"查看到的linux系统的名字和版本
“H:\ubuntu22.04.tar ”是在H盘的根目录下创建名为“ubuntu22.04.tar”的镜像
③注销之前的系统并检查
Powershell中输入:
wsl --unregister Ubuntu-22.04
再通过“wsl -l -v”,发现子系统已删除
④导入镜像
wsl --import Ubuntu-22.04 H:\Ubuntu2004 H:\ubuntu20.04.tar
Ubuntu-22.04 Linux系统名称和版本
H:\Ubuntu2204 安装路径
H:\ubuntu22.04.tar 镜像所在位置
等待系统处理,在文件夹中看到vhdx文件即为导入成功
⑤配置先前设置的默认登录用户
ubuntu2204.exe config --default-user gyspace
“gyspace”是我之前设置的用户名,可以替换为root
至此ubuntu22.04迁移完成~!
导出到H盘的ubuntu22.04.tar可以删除,但是微软商店下载的ubuntu2204依然存放目录在C:\Program Files\WindowsApps\中,占据着C盘空间。我没有权限打开这个文件夹,暂时没有找到删除安装包的方法(其实是懒,啊哈哈)
遇到的问题:
①通过微软商店安装ubuntu后,打开ubantu发现没有让我设置用户名和密码的步骤,直接显示"root@计算机名:~#"的字样,百度不到解决方法。卸载了ubuntu,按照参考文章中的教程,从头开始设置了一遍,打开ubuntu后就能设置用户名和密码了...也许是步骤4(安装linux内核更新包)?不清楚
②过程中出现了“显示参考的对象类型不支持尝试”(应该是设置用户名时我输入用户名后回车,给出的报错提示),我参考了https://blog.csdn.net/qq_42361881/article/details/121500438这个文章中后半部分,使用nolsp解决了该问题。
③需要打开开发者选项。安装过程中我不太记得哪一步有问题需要打开这个了,建提前打开
参考
文中部分图片来自以下参考文章
安装:
①https://learn.microsoft.com/zh-cn/windows/wsl/install
②https://wwwxz.blog.csdn.net/article/details/124285018?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2defaultCTRLISTRate-1-124285018-blog-122741040.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultCTRLISTRate-1-124285018-blog-122741040.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=2
③https://blog.csdn.net/RenLJ1895/article/details/122741040
④https://blog.csdn.net/qq_42361881/article/details/121500438
迁移:
①https://upload-images.jianshu.io/upload_images/28344286-b99feebe29ec7694.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
②https://upload-images.jianshu.io/upload_images/28344286-1b4cddec38f6985e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240