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,我目前还是看不懂的。不然会更方便。

windows11配置wsl2虚拟linux环境的更多相关文章

  1. keras安装配置指南【linux环境】【转】

    本文转载自:https://keras-cn.readthedocs.io/en/latest/for_beginners/keras_linux/#kerasmnist 本教程不得用于任何形式的商业 ...

  2. linux环境下配置虚拟主机域名

    linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...

  3. LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2

    LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照 ...

  4. Linux下FTP虚拟账号环境部署总结

    vsftp的用户有三种类型:匿名用户.系统用户.虚拟用户.1)匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous.2)本地用户登录:使用系统用户登录,在/etc/passwd中 ...

  5. 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)

    原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage)   熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...

  6. Linux下配置Hadoop伪分布式环境

    1. 准备Linux环境 提示:我用的系统是CentOS 6.4. 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host- ...

  7. WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

    版本:win10系统 virtualbox:5.1.26 vagrant :1.9.7 centos 7.0 xshell/git 首先下载好对应版本的软件 配置vagrant和virtualbox ...

  8. linux环境配置nginx导致页面不刷新

    在linux环境下,配置了nginx负载均衡,由于可能在虚拟主机的配置文件nginx.conf中,对缓存机制未配置成功,导致页面不刷新,仍然显示缓存中的内容. 最后通过注释nginx.conf文件中的 ...

  9. linux环境下jdk安装以及配置

    linux 环境安装jdk和配置环境变量: (此处以root用户安装,此方式安装一台虚拟机装一个jdk即可,所有普通用户可以共用) 1.下载安装jdk 链接: https://pan.baidu.co ...

  10. 每日所学之自学习大数据的Linux环境的配置

    今天开始配置环境,因为下载镜像文件需要很长时间,加上训练,所以Linux环境之配置了一半 VMware下载及安装教程(Window) 在安装虚拟机时需要下载镜像文件 下面是我下载的镜像文件的地址 Ce ...

随机推荐

  1. linux文本编辑YCM报错

    linux文本编辑YCM报错 刚从github安装了vimplus,可是发现存在不少的问题.索性给直接记录一下. The ycmd server SHUT DOWN (restart with ':Y ...

  2. Cilium系列-14-Cilium NetworkPolicy 简介

    系列文章 Cilium 系列文章 前言 今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容. 网络策略(N ...

  3. nodejs端模块化方式comomjs详解

    nodejs端实现模块化的方式通常是通过commonjs,使用模块化可以复用js代码,使得逻辑结构更为清晰. commonjs的语法规则如下通过 module.exports 或者 exports 导 ...

  4. go接收alertmanager告警并发送钉钉

    前言 功能:作为 alertmanager 的 webhook receiver,提取需要的数据转发到钉钉群机器人的webhook web框架:gin alertmanager版本:0.24 系统版本 ...

  5. [python]格式化字符串的几种方式

    目录 方式一:C风格%操作符 方式二:内置的format函数与str类的format方法 方式三:插值格式字符串 python中有以下几种方法可以格式化字符串 方式一:C风格%操作符 这种方法偏C语言 ...

  6. HDU 3829 Cat VS Dog 猫和狗(二分图)结题报告

    听学长说这道题很ex,但是思路想到的话还是挺简单的. 可能是受上一道题(放置机器人)的启发,也是找互相冲突的点连线. 但是并不是完全一样(废话)放置机器人那道题是找到冲突点连线后直接求最大匹配即可. ...

  7. 【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失

    问题起因 最近公司有个甲方项目参加竞赛,要求在(基于kubeflow/arena)平台上部置应用,可以将MySQL打包在应用一起,也可以分开部署,没有提供volume相关的支持.大意是可以把初始好的数 ...

  8. TCP 粘包

    TCP(Transmission Control Protocol,传输控制协议)是一种传输层协议. TCP提供了以下主要功能: 可靠性:TCP使用确认.重传和校验等机制来确保数据的可靠传输.它能够检 ...

  9. 简单了解PyCharm

    简单了解PyCharm PyCharm的简单使用 修改主题 1 2 切换解释器 1 如何创建pythin文件 1 2 3 4 注释语法 行注释 这里是注释 块注释 '''这里是注释''' 常量和变量的 ...

  10. Iphone通过ssh进行访问

    Iphone通过usb进行ssh访问文件系统 在公司里wifi很不给力,而我又想通过ssh访问我的iphone,进行一些权限访问,这时我们该 itunnel_mux_rev71这个工具可以帮我们的忙 ...