首页 > 系统相关 >windows11配置wsl2虚拟linux环境

windows11配置wsl2虚拟linux环境

时间:2023-11-12 13:55:29浏览次数:35  
标签:linux universe restricted jammy windows11 ubuntu deb main wsl2

windows11配置wsl2虚拟linux环境

wsl( Windows Subsystem for Linux )是microsoft官方为windows开发的模拟Linux方法。避免了虚拟机vmware的性能损耗开销,或者双系统两者不能同时运行的问题。wsl2似乎可以满足大部分Linux需求。方便且优雅!

安装wsl2

安装方法

官方的介绍文档:

WSL 的基本命令 | Microsoft Learn

安装wsl只需要在windows终端输入一条指令

wsl --install

等待几分钟,会安装wsl工具和默认的Linux系统。

也可以指定安装的Linux系统

wsl --list --online  //查看可安装的Linux版本
wsl --list --verbose  //查看已安装Linux
wsl --install <Distro>   //安装指定Linux版本
wsl --set-default <Distribution Name> //设置默认 Linux 发行版

通过wsl运行Linux

wsl --distribution <Distribution Name> --user <User Name>  //运行特定的 Linux 发行版

可能的报错

无法运行Linux

安装完后,运行Linux,一般出现error 0x80370114。

需要在Windows中, “设置”->“应用”->“可选功能” , 下滑至菜单最下面,找到“更多windows功能”选项 。开启“适用于Linux 的Windows子系统”功能。

参考:

WIN11按照官方文档安装WSL2时出现error 0x80370114_半路杀出来的小黑同学的博客-CSDN博客

其他设置

迁移wsl位置

因为wsl默认是在C盘。出于空间问题,移动到d盘。

步骤是:导出系统 ——删除系统——导入系统并重新设置存储位置—— 修改默认登录用户

wsl --export Ubuntu D:\wsl\ubuntu.tar  #即 wsl --export <系统名> <导出文件目录>
wsl --unregister Ubuntu  #删除目录
wsl --import Ubuntu D:\wsl\Ubuntu D:\wsl\ubuntu.tar  --version 2  # 即 wsl --import <系统名>  <新的安装位置>  <tar文件目录> WSL版本号
Ubunatu config --default-user <Username>  //修改默认登录用户

参考:

通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架全过程 - 简书 (jianshu.com)

磁盘挂载

需要和系统盘不一样的磁盘(挂载不同分区不行)。这个没有配置。

Linux配置

apt换源

国内的镜像服务器,有 阿里源 ,清华源,中科大源。

apt镜像源配置文件是 /etc/apt/sources.list 。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak      #备份
sudo vim /etc/apt/sources.list      #编辑源配置文件

不同的Linux版本代号,需要用不同的源。不然后面在apt update和下载软件时,会出现各种问题。(update后有wrong,gedit下载不了,gcc下载后无法编译源文件,报错找不到stdio.h等,实际上是源问题导致下载不兼容的软件)

正常的话,reading后面是没有 wrong的。

查看系统代号

lsb_release -a    #查看系统版本代号
uname -r   #查看内核版本,内核不对可能也有问题

我的Ubuntu的发行版是jammy,下面的换源地址就不行,它的发行版是 bionic。可以直接把bionic 改为 jammy,懒的可以直接百度jammy的镜像源地址。

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

找到的jammy源。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
 
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

卸载换源前下载的软件

sudo apt-get remove XXX
sudo apt-get update

环境配置

一般的话,用apt install 安装 g++,然后用vscode写代码,用Linux工具编译。

编译时需要的硬件驱动,是在物理机(Windows)下安装。

vscode配置

WSL插件

在vscode下载官方的WSL插件。现在已经改名叫WSL了。

连接方法1

vscode中,快捷键ctrl+shift+p,可以打开插件控制面板,调用插件功能,在WSL中重新打开文件夹。

这个的优点是可以打开Windows下的目录,对应的速度慢点。这种方法更灵活。

在终端通过指令方式编译程序并运行。

连接方法2

也可以在远程资源控制器中,选择WSL目标,进入ubuntu。

进入之后的界面如图

但是这个相当于进入了Linux目录中,只能在Linux中建立文件和目录,速度也快些。

其他问题

讲道理,应该是可以直接用vscode的运行按钮,直接编译文件的。但是要处理配置文件,而vscode的配置文件launch.json,我目前还是看不懂的。不然会更方便。

标签:linux,universe,restricted,jammy,windows11,ubuntu,deb,main,wsl2
From: https://www.cnblogs.com/litutu/p/17827098.html

相关文章

  • linux的学习2
    用户管理:id:显示用户以及所属群组的实际与有效ID1.useradd-m用户名(描述:-m自动创建这个用户的主目录/home/用户名)2.useradd-g组名用户名(描述:添加新用户到某个组)3.userdel-r用户名(描述:-r删除用户的时候将他的目录也一并删掉)4.usermod-g用户组用户名(描述:修改用......
  • LINUX 图形界面无网卡,命令行DOWN
    本文只针对部分情况,网卡未加入托管导致本人遇到的问题虚拟机开启ifconfig没有ens33网卡,无法上网,同时图形化模式没有有线连接选项手动启动网卡提示:Connection'ens33'isnotavailableondeviceens33becausedeviceisstrictlyunmanaged1有一种临时方案:dhclien......
  • Linux设备树dtb文件生成问题(make dtbs)
    在makedtbs的时候遇到了无信息提示的问题,正确结果应该是如图所示且移植dtb文件时需要到dts文件夹下进行cp覆盖 ......
  • Linux命令(118)之paste
    linux命令之paste1.paste介绍linux命令paste命令是把每个文件以列对列的方式,一列列地加以合并2.paste用法paste[参数]filename...paste参数参数说明-d使用指定的分隔符进行合并-s以行来指定文件3.实例3.1.使用冒号(:)合并文件命令:paste-d:ztj-1.txtztj-2.txt[root@rhel77zt......
  • Linux命令(117)之split
    linux命令之split1.split介绍linux命令split是按照指定的大小或行数分割文件。输出文件名为“前缀aa”、“前缀ab”。默认前缀以“x”开头,默认文件大小为1000行2.split用法split[参数]filename[前缀]split参数参数说明-l指定输出文件有多少行-a指定长度的后缀,默认:2-b指定输出文......
  • linux useradd命令 添加用户
      [root@MongoDB~]#useraddwww  useradd是添加用户的命令,-s是指定用户登入后所使用的shell。默认值为/bin/bash。如果不想让用户登录系统可以用-s/sbin/nologin.此用户就不可以登录系统useraddftp-s/usr/bin/nologin -M:不要自动建立用户的home目录。-r......
  • linux学习-4
    存储管理存储方式从连接方式上,存储分为:本地存储、外部存储、网络存储;从工作原理上,硬盘分为:固态硬盘、机械硬盘。 在linux系统中,每个设备都被当成一个文件来对待,几乎所有的硬件设备文件都在/dev这个目录内。从硬盘接口上,硬盘分为以下几种类型:IDE----SATA(串行ATA)硬盘SCSI--......
  • 如何在多台Linux系统主机上实现ssh免密访问——成公钥文件id_rsa.pub(数字签名RSA)
     假设共有三台Linux主机,为matser,slave1,slave2,现在要实现master主机可以ssh免密访问master主机自身以及slave1、slave2。 原理:主机 ssh-keygencat/root/.ssh/id_rsa.pub>/root/.ssh/authorized_keysssh-copy-idroot@slave1ssh-copy-idroot@slave2......
  • linux开发基于iMX6ULL-kernel编译环境配置
    先把内核源码仓库下载下来,然后切换到对应版本的分支 切换分支 查看关于官方提供的编译配置文件有那些 只保留自己需要的其他的都删除 在源码根目录下创建脚本添加如下内容 给脚本添加执行权限后开始编译脚本 编译后出错误,安装对应的库 重新编译 至此内核......
  • 初识Windows-linux
    初识Windows-linux二者区别1)开源性:Linux是开源的,任何人都可以查看和修改其源代码,而Windows是闭源的,只有微软拥有其源代码。2)用户界面:Windows的用户界面相对直观易用(易上手),而Linux则需要学些基本命令的认识。3)应用程序:Windows拥有大量的商业软件和游戏,而Linux则更适合开发和运......