Linux学习笔记1---Windows上运行Linux

发布于:2024-05-10 ⋅ 阅读:(22) ⋅ 点赞:(0)

在正点原子的教程中学习linux需要安装虚拟机或者在电脑上安装一个Ubuntu系统,但个人觉得太麻烦了,现在linux之父加入了微软,因此在Windows上也可以运行linux 了。具体方法如下:

一、 在Windows上的设置

  1. 在window的搜索框内(所有你找不到的应用都可以用这个搜索功能),搜索"Windows功能",出现了“启用或关闭Windows功能”,双击打开。

2. 勾选"适用于Linux的Windows子系统",“虚拟机平台”,“Windows虚拟机监控程序平台”,点击"确定"。点击"立即重新启动"。

 勾选适用于Linux的Windows子系统,虚拟机平台,Windows虚拟机监控程序平台,点击 确定。

点击 立即重新启动

二、安装 Ubuntu

打开Microsoft Store,单击搜索框,搜索 "wsl2" 。然后单击“免费下载”进行下载和设置。(WSL2- Windows Subsystem for Linux)

下载后,打开,输入用户名和密码

这样,Ubuntu-20.04 系统就安装好了!

如果报错:

  1. WslRegisterDistribution failed with error: 0x800701bc

造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包即可。

下载链接:https://wslstorestorage.blob.core.windows.net

如果需要安装GUI界面应用,可以参考:超简单,不安装虚拟机,Windows11运行Linux - 知乎 (zhihu.com)

Windows中安装linux子系统(Ubuntu) - 知乎 (zhihu.com)

我这里暂时不安装了。

三、 Linux访问Windows

cd /mnt

/mnt文件夹中包含了windows10中所有的盘符。例如需要访问D盘,则只需输入:cd /mnt/d

四、安装GCC

原始的Ubuntu软件下是不带gcc的,所以还需要自行安装一下。

打开Ubuntu后输入以下命令即可自行安装gcc。

apt install gcc

假如在安装失败并提示:Err:1 http://security.ubuntu.com/ubuntu focal-updates/main amd64 binutils-common amd64 2.34-6ubuntu1.5

可以采用如下命令即可解决:

sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start

再运行如下命令:

sudo apt-get update

然后再次安装gcc即可:

apt install gcc

 安装成功后可以运行以下命令查看gcc的版本:

gcc -v

五、利用Ubuntu输出hello  world

1、进入d盘创建一个Linux文件夹

cd ../mnt/d
mkdir Linux

2、进入Linux文件下创建一个main.c文件

cd Linux
vim main.c

3、单击i切换到输入模式,在文件中编写一下代码

#include <stdio.h>
int main(void)
{
        printf("hello world!!!\r\n");
}

关于vim编译器的相关命令可以查看:【Linux】VIM命令(全面详解)_linux vim-CSDN博客 

4、按ESC退出输入模式,然后键盘敲击:wq,保存文件并退出

可以利用 cat main.c 查看文件是否输入成功

4、利用gcc编译main.c文件,并输出一个out文件

 gcc main.c -o main

 

5、运行main文件(即运行程序)

./main

 

六、建立快捷方式

每次打开Ubuntu都需要重新进入需要的目录下,为了方便使用可以建立个快捷脚本

1、创建hzz文件(名称自定义)

vim hzz

2、按下i键进行编码

#"../mnt/d/STM32CubeMX/Linux" 是你所要进入的文件目录
cd ../mnt/d/STM32CubeMX/Linux

3、按Esc键,输入:wq (英文模式下输入),按回车键,保存文件并退出

4、利用source命令执行hzz 文件即可进入所需要的目录底下

source hzz