Window10安装Linux子系统(Ubuntu20.04)_windows10安装linux
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
在工作中需要用到Ubuntu系统作为支撑系统来编译QT程序和ARM开发板上用的程序一直以来都是用VMware Workstation虚拟机运行Ubuntu。VMware Workstation这玩意儿耗内存相当厉害一般的机器正常情况没事一旦打开VMware Workstation这个软件那是卡得会让人抓狂。后来微软终于拥抱了Linux得以摆脱VMware Workstation直接在Windows下面运行Ubuntu更重要的是不再需要以启动双系统的方式即可在Windows系统里面直接运行Ubuntu系统省时省力省开销。这不得不让我们这些需要和Linux接触的人有些小惊喜。
Windows Subsystem for Linux简称WSL是一个在Windows 10和Windows 11上能够运行原生Linux二进制可执行文件ELF格式的兼容层。它是由微软与Canonical公司合作开发其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机映像内的实用工具能在此子系统上原生运行。适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
子系统这个功能已经在最新版的Windows 10中自带如果你的Windows10比较老旧需要先升级至最新版Windows 10确保Windows10系统版本高于1606。Win + i 组合键打开系统设置然后打开Windos系统更新可以检查更新、升级和查看自己的系统版本号如图
在Windows10系统里安装Linux Ubuntu的步骤如下
一、通过“Windows功能”开启子系统
依次打开控制面板 > 程序和功能 > 启用或关闭Windows功能
勾选“适应于 Linux 的 Windows 子系统”确定
在确定之后Windows系统会自动安装一些所需的文件完成后会提示你重启后才会生效选择“立即重新启动”。
二、安装Linux Ubuntu20作为Windows10子系统
完成上一步的操作并且重新启动之后通过左下角的放大镜搜索应用商店。
打开Microsoft Store搜索Ubuntu会出来一些结果点击需要的版本根据自己需要选择要安装的Ubuntu版本出现安装按钮最后点击安装按钮应用商店会自动下载安装。安装完成会出现打开按钮。
点击“打开”按钮Windows终端会弹出首次安装需要等待几分钟。
安装完成后需要输入用户名和密码用户名和密码自行设置即可。
至此Windows子系统的安装就已经完成了。默认的Linux子系统不具备图形桌面全命令行运行模式。
三、关于WSL1和WSL2
需要注意的是如果你需要用到串口通讯WSL1的串口是与Windows共用的只是叫法与写法不一样比如Windows下面的串口是COM1对应的Linux Ubuntu系统则是/dev/ttyS0。如果因为某些原因您需要升级到WSL2你会发现Ubuntu的串口通讯与Windows串口不能共用了。所以升级需谨慎。
关于WSL1和WSL2的比较可参考微软官方文档
查看本机安装的Windows子系统可以在Windows终端Windows PowerShell使用命令
wsl --status或者wsl -l -v 都可以
我使用了一段时间发现WSL1和WSL2两个版本都有一些不尽如人意的地方有时候不得不需要在WSL版本之间切换的才能达到自己的目的在Windows终端Windows PowerShell使用命令
wsl --set-version Ubuntu-20.04 2
或者
wsl --set-version Ubuntu-20.04 1
在WSL2和WSL1之间切换。比较痛苦的是这种切换是需要一段时间的我等过最久的是30分钟左右。所以后来想了一办法我在Windows中安装了两个Linux子系统一个Ubuntu20使用WSL2一个是Ubuntu18使用WSL1。根据自己不同的需要决定使用哪个子系统必要的时候两个同时打开同时打开两个子系统比一个子系统在两个WSL版本之间切换可省事太多了。
四、安装和配置SSH
默认情况下Windows子系统已经安装SSH但不好用。先卸载再安装打开Ubuntu子系统输入命令
sudo apt-get remove openssh-server
sudo apt-get install openssh-server
配置ssh注意同级目录下可能有ssh_config不要搞错
sudo vim /etc/ssh/sshd_config
我修改了3处
● Port 22
● PasswordAuthentication yes
● PermitRootLogin yes
ssh配置完成之后使用ssh客户端可成功连接到ubuntu子系统
全文完