Win10/Win11子系统(一)——wsl2+Ubuntu20.04安装记录

2023-11-17


前言

       我和我最后的倔强——坚持不换windows的口号被现实打败了,装双系统会影响到已经做好的深度学习部分,装虚拟机又用不了硬件GPU,偶然间发现原来windows有这么个东西,而且好多人已经在用了。

PS:本来安装完发现默认是C盘,然后卸载准备装到其他盘符,搞来搞去行不通,只好先装在C然后迁移到其他盘。


一、安装前准备

       1. 设置-Windows更新-windows预览体验计划-加入Dev渠道,安装最新的开发版本windows(Win10 21H2版本或Win11版本)

       2. 设置-隐私和安全性-开发者选项-打开开发人员模式;

       3. Microsoft Store中下载Windows Powershell;

二、开始安装

       4. 控制面板-程序和功能-启用或关闭Windows功能-勾选【适用于 Linux 的 Windows 子系统】和【虚拟机平台】这两项-立即重新启动;

(Win10系统需要额外勾选Hyper-V,如果安装Ubuntu的时候还是报错,需要重启电脑,进入 BIOS 开启虚拟化技术)

       5. 下载WSL内核升级包:打开微软官方文档在Step 4那里下载(如下图),或者直接点这个链接下载

请添加图片描述
在这里插入图片描述

操作很简单,一路Next就可以啦!

       6. 设置WSL的版本为WSL2,开始菜单中搜索Windows powershell,然后输入:

wsl --set-default-version 2

查看Ubuntu可安装版本:

wsl --list --online

在这里插入图片描述

       7. 安装Ubuntu(方式一、二默认安装C盘,方法三被我删了)

方式一(C盘):

在Windows powershell中输入以下命令安装Ubuntu-20.04:

wsl --install -d Ubuntu-20.04

方式二(C盘):

在【Microsoft Store】中搜索 Ubuntu,然后选择要安装的系统,安装完成后点击启动

在这里插入图片描述

(PS:这里有个错误,说明没有操作第5步)

       8. 设置Ubuntu用户名和密码

在这里插入图片描述

密码只管输就行了,默认不显示,然后回车,完成界面:

在这里插入图片描述

然后就可以关掉这个界面了啦!

三、更换镜像源

       9. 开始菜单中,双击打开Ubuntu20.04 LTS图标,在命令行中输入以下命令,用来备份镜像源防止以后用到:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑软件源,接着输入:

sudo nano /etc/apt/sources.list

在这里插入图片描述

将上面这些内容删掉,替换为阿里源地址:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

还可以更换为其他的源(一定要跟自己Ubuntu版本匹配):

清华源:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse

然后按Ctrl + O,再按回车键,再按Ctrl + X退出编辑模式,然后更新源:

sudo apt update

修复损坏的软件包,尝试卸载出错的包,重新安装正确的版本:

sudo apt-get -f install

更新软件:

sudo apt-get update

然后可以关掉窗口。

四、安装图形化界面

       10. 下载图形化界面程序VcXsrv,浏览器下载速度超慢,可以右键复制链接用迅雷下载

在这里插入图片描述
在这里插入图片描述

一路next,安装路径可以改一下

在这里插入图片描述

双击桌面上的XLaunch图标,开始设置(根据自己喜好设置):

在这里插入图片描述

注意:Display number默认设置为-1,有的地方说要设置为0

在这里插入图片描述

直接下一步:

在这里插入图片描述

选择Save configuration 省的下次重新设置(推荐保存到桌面,然后每次使用直接双击config.xlaunch就可以了),点击完成,蹦出来个全黑界面(Display number设置为0的话可能不蹦出来,但是可以看到已经在后台运行了):

在这里插入图片描述

放后台不用管,开始菜单中找到并打开windows Terminal,

在这里插入图片描述

点击向下的箭头,选择Ubuntu-20.04,然后是如何让黑屏界面显示,桌面环境有xfce4、gnome各种各样的,自己选择安装:

sudo apt install xfce4

好长一段时间之后,报错不要慌,重新跑一下就好了:

sudo apt-get update
sudo apt install xfce4

随便选一个:

在这里插入图片描述

又是很长的一段等待时间,安装完成输入:

nano ~/.bashrc

通过键盘方向键移动光标到末尾,添加一行:

export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"

然后按Ctrl + O,再按回车键,再按Ctrl + X退出编辑模式,输入:

source ~/.bashrc
startxfce4

就可以看到黑屏的那个界面已经显示出来了。IP地址不变的话每次输入startxfce4就可以,IP变的话每次输入下面这两句命令就可以显示界面了:

sudo service dbus restart
  
sudo DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0 XDG_SESSION_TYPE=x11 xfce4-session

五、警告处理

显示图形化界面的时候可能会出现一些警告或者错误,开始解决

第一个

_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root

输入下面命令查看临时目录权限:

ls -al /tmp/

在这里插入图片描述

可以看到这里的用户是我自己的用户名而不是root,我的话是输入下面命令(按照自己的用户名照着修改就可以):

sudo chown root:weizj0328 /tmp/.ICE-unix

然后再次查看目录权限,发现已经变成root权限:

在这里插入图片描述

第二个
一堆警告里面包含有下面这句话:

failed to connect to system D-Bus

好像是因为电脑防火墙的原因吧,去防火墙设置那里把VcXsrv权限全设置成允许,然后装一个不知道有用没用的东西:

sudo apt install dbus

其实吧,有些警告无关紧要,但是强迫症表示受不了,遇事不决重启电脑,基本能搞定大部分问题,不信试一下!!!

第三个

进去桌面之后,打开浏览器显示如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ax2CwR53-1646897065885)(image/image_18.png "")]

解决办法One:在界面左上角 Applications -> Settings -> Xfce 4 setting manager -> Preferred Applications -> Web Browser,修改设置:

在这里插入图片描述

解决办法Two:在图形化界面中打开Terminal Emulator,输入:

sudo apt-get update
sudo apt-get upgrade

下载安装火狐浏览器:

sudo apt install firefox

六、迁移子系统

休想占用C盘资源,把它弄走

1.下载迁移工具LxRunOffline,这里下载的是LxRunOffline-v3.5.0-msvc,然后解压缩;

2.在LxRunOffline解压缩目录按住SHIFT并右键鼠标,选择“在此处打开Powershell窗口”,进入界面后输入:

.\LxRunOffline.exe list

即可查询目前本机有的子系统以及位置,输入:

whoami

可以查询当前用户名

在这里插入图片描述

3.使用命令关闭wsl:

wsl --shutdown
wsl -l -v

在这里插入图片描述

4.在要迁移到的盘符新建文件夹(我是在F盘新建Ubuntu文件夹),然后修改文件夹权限,按住win+R,输入cmd,再打开的命令行窗口中输入:

icacls F:\ubuntu /grant "weizj:(OI)(CI)(F)"

其中F:\Ubuntu是我的目标迁移路径,weizj是我的用户名(上面使用whoami查到的)

在这里插入图片描述

5.使用 lxrunoffline move 进行迁移 , -n 指定要迁移的系统名 ,-d 指定你新系统的迁移路径:

lxrunoffline move -n Ubuntu-20.04 -d F:\Ubuntu

这里可能会蹦出一串警告,不用理睬就可以了,但是当出现下面这种错误的时候

$  .\LxRunOffline move -n Ubuntu-20.04 -d F:\Ubuntu
[ERROR] Couldn't set the case sensitive attribute of the directory "\\?\C:\Users\*****\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\".
Reason: Indicates that the directory trying to be deleted is not empty.

解决办法就是:下载这个版本的LxRunOffline,然后重复上面操作就可以啦。

6.使用以下命令查看当前子系统安装目录:

lxrunoffline get-dir -n Ubuntu-20.04

在这里插入图片描述


差不多就这样子了,后续使用有什么问题的话再补充!

图形化桌面美化研究ing…

下一篇预告:搭建深度学习环境,安装cuda和pytorch。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win10/Win11子系统(一)——wsl2+Ubuntu20.04安装记录 的相关文章

随机推荐

  • 项目管理:要做一项任务,不要做一堆事儿

    作为项目经理 我们最终的任务和目标是把项目高标准的完成 在完成最终目标的过程中离不开项目成员的协作配合和任务工作的分配 只有项目组成员各司其职 高效的完成各自的工作 才能保证项目的效率和质量 那么如何保证项目组成员在完成各自任务的时候既能保
  • 打包vue前端docker镜像

    1 安装好docker环境 docker v 查看是否成功 2编写Dockerfile文件 下面这个dokcerfile的RUN指令不好 当有多个命令需要执行的时候 可以用换行符和连接符隔开 而不是写多个RUN指令 因为那样会增加镜像的构建
  • Go基础(包、变量和函数):开启Go语言之旅

    开启Go语言之旅 Go编程语言是一个开源项目 可以让程序员提高工作效率 Go是富有表现力 简洁 干净和高效的 其并发机制使编写充分利用多核和联网机器的程序变得容易 而其新颖类型系统则可实现灵活的模块化程序构建 快速编译为机器代码 但具有垃圾
  • apple资讯

    6 月 10 日消息 macOS 12 Monterey 支持通过 AirPlay 将内容发送到第二台 Mac 上 用户还可以使用该功能进行屏幕镜像 将一台备用机器变成一个外部显示器 除了使用 AirPlay 无线方式外 macOS 12
  • MATLAB雷达空时自适应处理

    空时自适应处理是一个用来描述同时处理空域和时域的自适应阵列的术语 信号的空域分量由阵列传感器收集 与所有阵列工作相同 而信号的时域分量用每个阵列传感器后等间隔延时单元产生 为此目的 一个尺寸N阵列有N个子通道 每个传感器后面对应一个 在每个
  • Java Servlet生成Json格式数据

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Java Servlet生成Json格式数据 分类 Web JAVA2013 09 17 14 38 4805人阅读 评论 1 收藏 举报 在Servlet中覆写doGet
  • java 提交表单_http常见的form表单请求方式

    在Web开发中 我们使用的比较多的HTTP请求方式基本上就是GET POST 一 http请求常见的表单文件上传形式 首先了解下application x www form urlencoded和multipart form data的区别
  • 渗透测试-木马免杀的几种方式

    前言 免杀 又叫免杀毒技术 是反病毒 反间谍的对立面 是一种能使病毒或木马免于被杀毒软件查杀的软件 它除了使病毒木马免于被查杀外 还可以扩增病毒木马的功能 改变病毒木马的行为 免杀的基本特征是破坏特征 有可能是行为特征 只要破坏了病毒与木马
  • Ubuntu18.04 编译安装llvm-clang

    背景知识 LLVM和GCC的区别 传统编译器 传统编译器的工作原理基本上都是三段式的 可以分为前端 Frontend 优化器 Optimizer 后端 Backend 前端负责解析源代码 检查语法错误 并将其翻译为抽象的语法树 Abstra
  • ASP.NET WebApi + Autofac 实现依赖注入

    一 项目情况 框架 NET Framework 4 5 Autofac 3 5 0 Autofac WebApi2 4 3 0 二 定义接口与对应实现 接口1 public interface IBaseUserService List
  • 用Jupyter完成numpy、pandas、matplotlib三个库的例题

    文章目录 实验环境 一 numpy例题 二 pandas例题 三 matplotlib例题 四 总结 实验环境 jupyter notebook 一 numpy例题 生成一个一维数组 起始值为5 终点值为15 样本数为10个 import
  • 【转载】使用jsoup替换HTML标记

    原始代码 String html font fsdfs font dfsdf font dasdasd font Document doc Jsoup parse html Elements elements doc select font
  • 【frida逆向开发】frida-rpc远程调用某安app方法获取token

    目录 一 使用fiddler对app进行抓包 二 反编译app定位关键代码 三 frida rpc调用相关方法 一 使用fiddler对app进行抓包 通过抓包可以看到请求参数中X App Token e8f1c71569a7166b6aa
  • AD隐藏元件标号

    1 右键点击元件 不是标号 2 查找相似对象 3 点击应用 4 再点确定 5 把Show Name右边的勾取消
  • Go 语言进阶(一) -- Go hertz http框架、kitex RPC微服务框架、gorm 数据库框架三件套用法详解

    Go 框架三件套 1 概论 Gorm Gorm 是一个已经迭代了10年 的功能强大的 ORM框架 在字节内部被广泛使用并且拥有非常丰富的开源扩展 Kitex Kitex 是字节内部 Golang 微服务 RPC 框架 具有高性能 强可扩展的
  • 必看的知识

    学习路线 必看的知识 Spring实战 Spring 4 x企业应用开发实战 深入分析Java Web技术内幕 修订版 Effective Java Thinking in Java Java核心技术 Core Java Thinking
  • 赫拉(hera)分布式任务调度系统

    相关介绍 赫拉 hera 分布式任务调度系统之架构 基本功能 一 赫拉 hera 分布式任务调度系统之项目启动 二 赫拉 hera 分布式任务调度系统之开发中心 三 赫拉 hera 分布式任务调度系统之版本 四 赫拉 hera 分布式任务调
  • 修正了一个通信bug

    该BUG导致用户在打开webchat使用界面时不会读取联系人UPT 有时候刷新界面后会解决这个问题 经过发现是判断webchat是否存在在线用户以便于打印在线和离线联系人的分支结构出错 现在bug已经解除 同时解决了一个UPT串截断出错的b
  • java实现文件的断点续传的下载

    java的断点续传是基于之前java文件下载基础上的功能拓展 首先设置一个以线程ID为名的下载进度文件 每一次下载的进度会保存在这个文件中 下一次下载的时候 会根据进度文件里面的内容来判断下载的进度 package com ldw mult
  • Win10/Win11子系统(一)——wsl2+Ubuntu20.04安装记录

    windows子系统Ubuntu20 04安装过程记录 前言 一 安装前准备 二 开始安装 三 更换镜像源 四 安装图形化界面 五 警告处理 六 迁移子系统 前言 我和我最后的倔强 坚持不换windows的口号被现实打败了 装双系统会影响到