Windows10使用Linux子系统实现轻松安装多个linux

 更新时间:2023年08月02日 08:52:33   作者:Hann Yang  
这篇文章主要为大家学习介绍了Windows10如何使用Linux子系统实现轻轻松松安装多个linux,本文通过图文为大家进行了详细介绍,需要的可以收藏一下

WSL

Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。如果使用Windows10 2004以上,可以通过WSL2来窗口化运行桌面应用,也不需要另外安装其他的X服务器。该子系统不能运行所有Linux软件,但学习大多数内部命令的使用绝对方便!

准备工作

检查Window10版本,低于 18362 的版本不支持 WSL。运行 winver 的结果: 

或者在 Windows 命令提示符下输入 ver 命令:

C:\Users\hann>ver
Microsoft Windows [版本 10.0.23511.1000] 

检查一下Windows Terminal是否为“已初装”状态:

打开Terminal,并按快捷键 Ctrl , (Ctrl键和逗号)调出启动设置界面

照下图所示设置,保存退出: 

安装Linux子系统

打开MicrosoftStore,搜索Linux,然后安装自己喜欢的发行版,我安装了Ubuntu和Debian。

如还无法正常安装,可以试试以下步骤:

  • 打开子系统功能
  • 以管理员身份启动PowerShell,输入如下内容,以启用Windows子系统功能:
  • dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart
  • 然后输入如下内容,以启用虚拟机平台功能:
  • dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart
  • 完成之后,重启计算机。
  • 下载Linux内核更新包
  • 点击此链接,以下载适用于x64计算机的WSL2Linux内核更新包。
  • 下载完成后,安装。
  • 然后以管理员身份运行PowerShell,输入如下内容,以设置WSL2为默认版本:
  • wsl--set-default-version2

设置Unix用户名和密码

安装成功后,进入设置用户:

查看帮助 help

Ubantu的帮助:

hann@HannYang:~$ help
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

Debian的帮助:

hann@HannYang:~$ help
GNU bash, version 5.2.15(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list. 

两者列出的内部命令列表基本相同:

 job_spec [&]                                   history [-c] [-d offset] [n] or history -an>
 (( expression ))                               if COMMANDS; then COMMANDS; [ elif COMMANDS>
 . filename [arguments]                         jobs [-lnprs] [jobspec ...] or jobs -x comm>
 :                                              kill [-s sigspec | -n signum | -sigspec] pi>
 [ arg... ]                                     let arg [arg ...]
 [[ expression ]]                               local [option] name[=value] ...
 alias [-p] [name[=value] ... ]                 logout [n]
 bg [job_spec ...]                              mapfile [-d delim] [-n count] [-O origin] [>
 bind [-lpsvPSVX] [-m keymap] [-f filename] [>  popd [-n] [+N | -N]
 break [n]                                      printf [-v var] format [arguments]
 builtin [shell-builtin [arg ...]]              pushd [-n] [+N | -N | dir]
 caller [expr]                                  pwd [-LP]
 case WORD in [PATTERN [| PATTERN]...) COMMAN>  read [-ers] [-a array] [-d delim] [-i text]>
 cd [-L|[-P [-e]] [-@]] [dir]                   readarray [-d delim] [-n count] [-O origin]>
 command [-pVv] command [arg ...]               readonly [-aAf] [name[=value] ...] or reado>
 compgen [-abcdefgjksuv] [-o option] [-A acti>  return [n]
 complete [-abcdefgjksuv] [-pr] [-DEI] [-o op>  select NAME [in WORDS ... ;] do COMMANDS; d>
 compopt [-o|+o option] [-DEI] [name ...]       set [-abefhkmnptuvxBCHP] [-o option-name] [>
 continue [n]                                   shift [n]
 coproc [NAME] command [redirections]           shopt [-pqsu] [-o] [optname ...]
 declare [-aAfFgilnrtux] [-p] [name[=value] .>  source filename [arguments]
 dirs [-clpv] [+N] [-N]                         suspend [-f]
 disown [-h] [-ar] [jobspec ... | pid ...]      test [expr]
 echo [-neE] [arg ...]                          time [-p] pipeline
 enable [-a] [-dnps] [-f filename] [name ...>   times
 eval [arg ...]                                 trap [-lp] [[arg] signal_spec ...]
 exec [-cl] [-a name] [command [arguments ...>  true
 exit [n]                                       type [-afptP] name [name ...]
 export [-fn] [name[=value] ...] or export ->   typeset [-aAfFgilnrtux] [-p] name[=value] .>
 false                                          ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
 fc [-e ename] [-lnr] [first] [last] or fc -s>  umask [-p] [-S] [mode]
 fg [job_spec]                                  unalias [-a] name [name ...]
 for NAME [in WORDS ... ] ; do COMMANDS; don>   unset [-f] [-v] [-n] [name ...]
 for (( exp1; exp2; exp3 )); do COMMANDS; don>  until COMMANDS; do COMMANDS; done
 function name { COMMANDS ; } or name () { CO>  variables - Names and meanings of some shel>
 getopts optstring name [arg]                   wait [-fn] [id ...]
 hash [-lr] [-p pathname] [-dt] [name ...]      while COMMANDS; do COMMANDS; done
 help [-dms] [pattern ...]                      { COMMANDS ; }

日常使用

打开后的样子: 

键几个linux命令试试:

到此,安装结果就能正常使用了。

exit

以上就是Windows10使用Linux子系统实现轻松安装多个linux的详细内容,更多关于Windows10安装linux的资料请关注脚本之家其它相关文章!

相关文章

  • Linux service无法使用系统环境变量的问题及解决

    Linux service无法使用系统环境变量的问题及解决

    这篇文章主要介绍了Linux service无法使用系统环境变量的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Linux切换到Root用户的方式及区别详解

    Linux切换到Root用户的方式及区别详解

    在 Linux 系统中,切换到 root 用户是执行系统管理任务的常见需求,su(substitute user)和 sudo(superuser do)是实现这一目标的核心工具,文将详细解析 su 的选项、sudo 与 su 的配合效果,需要的朋友可以参考下
    2025-09-09
  • RHEL 7中防火墙的配置和使用方法

    RHEL 7中防火墙的配置和使用方法

    下面小编就为大家带来一篇RHEL 7中防火墙的配置和使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • CentOS7下Docker的安装教程

    CentOS7下Docker的安装教程

    本篇文章主要介绍了CentOS7下Docker的安装教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Linux服务器网卡流量查看方法 shell和Python各一枚

    Linux服务器网卡流量查看方法 shell和Python各一枚

    这篇文章主要为大家详细介绍了Linux服务器网卡流量查看方法,shell和Python各一例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • linux中如何修改打开文件数限制open file limit

    linux中如何修改打开文件数限制open file limit

    这篇文章主要介绍了linux中如何修改打开文件数限制open file limit问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Linux系统如何修改主机名称

    Linux系统如何修改主机名称

    Linux系统中修改主机名称可以临时或永久进行,临时修改仅在当前会话有效,永久修改则需编辑系统配置文件,使用systemd的系统可通过hostnamectl命令更新主机名,同时更新/etc/hosts文件确保一致性
    2024-11-11
  • Git 命令详解及常用命令整理

    Git 命令详解及常用命令整理

    这篇文章主要介绍了Git 命令详解及常用命令整理的相关资料,需要的朋友可以参考下
    2016-12-12
  • CentOS 8设置自动更新的完整步骤

    CentOS 8设置自动更新的完整步骤

    这篇文章主要给大家介绍了关于CentOS 8设置自动更新的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用CentOS 8具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • linux mount挂载共享目录详解

    linux mount挂载共享目录详解

    本篇文章主要介绍了linux mount挂载共享目录详解,详细的介绍mount命令的使用,具有一定的参考价值,有兴趣的可以了解一下。
    2017-03-03

最新评论