给window电脑安装Linux系统
2026/7/27 17:33:53 网站建设 项目流程

目录

1.前期准备:

2.安装

3.安装VScode

4.将WSL升级为WSL2

5. 总结:WSL1升级到WSL2的关键步骤与验证

一、升级前的准备工作

二、核心升级步骤

三、验证升级成功的方法

四、常见问题解决

VM虚拟机篇

1、解决虚拟机没有铺满桌面的问题

2、虚拟机和windows互传文件

2.1、开启 Ubuntu 下的 FTP 服务

2.2windows下 FTP 客户端安装

1.2.1、FileZilla 软件设置

2.3文件传输

3、 Ubuntu 下 NFS 和 SSH 服务开启

NFS

SSH

4、安装交叉编译链工具

5、代码烧写

mix6ull


身为小白的我们在安装Linux系统时会遇到很多麻烦,没有接触过的命令,没有实际操作的经验,觉得Linux遥不可及,这篇博客讲述了我安装Linux的经历与安装过程遇到的问题与解决方案。我是为了学习Linux开发而安装,目的不同安装方式不同大家自行选择。

安装Linux一共有三种方式:虚拟机安装,Windows子系统Linux,U盘镜像安装Linux。这篇博客为你带来的是Windows子系统Linux。

对于小白来讲这个方式是十分友好的,这种安装方式既不会影响我们windws与Linux共存还可以方便共享文件。

1.前期准备:

前期安装准备:首先我们打开浏览器搜索微软商店,搜索Ubuntu我安装的是Ubuntu22.04

这样我们就在电脑上安装了Ubuntu

第二步在电脑上找到开发者选项并打开

第三步 在电脑上打开适用于Linux的windows子系统和虚拟机平台

完成后点击重启电脑。

这样前期的准备工作就完成了。

2.安装

这里我看了一个哔站UP主的非常不错,操作到视频的4分20秒即可。

【【WSL2】在你的win10/11电脑上安装Linux子系统+Ubuntu+图形化界面-哔哩哔哩】 https://b23.tv/WiaDY2J

在视频安装时如果有是否确认更新下载什么的直接确认,确认方式:输入Y 再enter。

注意按照视频里选择版本时要和我们第一个步骤安装的Ubuntu是相同版本的。

如果按照视频安装完成后,如果需要图形界面,首先打开保存的图形界面,在命令框只需要输入命令sudo startxfce4

3.安装VScode

经过1,2两步操作在结合上VScode我们的开发将会十分的流畅!

安装VScode很简单网上全是教程,这里我只讲一下VS默认终端配置。

在VScode里设置默认终端为UbuntuWSL。

这样我们就可以在vscode里操作了。

以后的学习我也会基于VScode发布Linux相关博客。

4.将WSL升级为WSL2

1. 先参考
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
2. 以管理员身份打开 PowerShell 并运行:
1 dism . exe / online / enable - feature / featurename : VirtualMachinePlatform / all / norestart
3. 下载最新包 , 并安装
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
4. 打开 PowerShell ,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
1 打开 PowerShell ,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
5. 查看版本号和名称
1 wsl -- list -- verbose
2
3 例如:
4 PS C : \ WINDOWS \system32 > wsl - l - v
5 NAME STATE VERSION
6 * Ubuntu - 18.04 Stopped 1
6. 设置默认使用 WSL 2
1 wsl -- set - version < distribution name > < versionNumber >
2
3 例如:
4 PS C : \ WINDOWS \system32 > wsl -- set - version Ubuntu - 18.04 2
5 正在进行转换,这可能需要几分钟时间 ...
6 有关与 WSL 2 的主要区别的信息,请访问 https : // aka . ms / wsl2
7 转换完成。
7. 检查是否成
1 PS C : \ WINDOWS \system32 > wsl - l - v
2 NAME STATE VERSION
3 * Ubuntu - 18.04 Stopped 2 //2表示升级到版本2
问题: 解决:
使用管理员身份运行 《命令提示符》
输入命令:
1 bcdedit / set hypervisorlaunchtype Auto
重启再设置默认WSL2一次就可以了 <步骤6>
//下面的可以不需要
隐藏终端的路径:
1. 打开
1 vim . bashrc 2. 修改配置脚本
方法1:
在最后一行添加
1 # export PS1 = '\u@\h: '
方法2:
1 if [ "$color_prompt" = yes ]; then
2 # PS1 = '${debian_chroot:+($debian_chroot)}
\033[01;32m
\033[01;32m
\u@\h
\033[00m
\033[00m
:\[\033[01;34
3 PS1 = '${debian_chroot:+($debian_chroot)}
\033[01;32m
\033[01;32m
\033[00m
\033[00m
:\[\033[01;34m\
4 else
5 # PS1 = '${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
6 PS1 = '${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
7 fi
3. 重启终端或者重新生效该脚本
1 $ source . bashrc

5. 总结:WSL1升级到WSL2的关键步骤与验证

从WSL1升级到WSL2虽然步骤较多,但按照以下关键流程操作即可顺利完成:

一、升级前的准备工作

  • 系统要求:确保Windows 10版本1903或更高版本(内部版本18362+)
  • 启用功能:在"启用或关闭Windows功能"中勾选"适用于Linux的Windows子系统"和"虚拟机平台"
  • 重启系统:完成功能启用后必须重启电脑

二、核心升级步骤

  1. 安装WSL2内核更新包:下载并安装Microsoft官方提供的WSL2 Linux内核更新包
  2. 设置WSL2为默认版本:以管理员身份运行PowerShell,执行命令wsl --set-default-version 2
  3. 转换现有发行版:将已安装的Ubuntu从WSL1转换为WSL2,命令格式为wsl --set-version <发行版名称> 2

三、验证升级成功的方法

  • 查看版本信息:在PowerShell中运行wsl -l -v,确认VERSION列显示为"2"
  • 性能对比:WSL2相比WSL1在文件系统性能、完整Linux内核支持等方面有明显提升
  • 功能测试:尝试运行一些依赖Linux内核特性的命令,验证WSL2的完整功能

四、常见问题解决

  • 转换失败:检查是否以管理员身份运行PowerShell
  • 版本显示仍为1:尝试执行bcdedit /set hypervisorlaunchtype Auto后重启再试
  • 网络问题:WSL2使用虚拟化网络,可能与某些VPN软件冲突,需调整网络设置

温馨提示:升级到WSL2后,虽然性能提升明显,但需要注意WSL2使用虚拟化技术,会占用更多内存资源。如果遇到资源占用过高的情况,可以通过WSL配置文件进行内存限制调整。

VM虚拟机篇

目前用到比较舒服的ubuntu是18.04的虚拟机

1、解决虚拟机没有铺满桌面的问题

不需要安装VMtool,执行命令安装

sudo apt install open-vm-tools open-vm-tools-desktop-y

执行完成后自动就铺满了,并可以复制拷贝

2、虚拟机和windows互传文件

与windows共享文件的方式尝试了很多次没有成功,最稳妥的办法就是互传文件

查看是否安装vim
vim -v
安装vim
sudo apt install vim

2.1、开启Ubuntu下的FTP服务

打开Ubuntu的终端窗口,然后执行如下命令来安装FTP服务:
sudo apt-get install vsftpd
等待软件自动安装,安装完成以后使用VI命令打开/etc/vsftpd.conf,命令如下:
sudo vi /etc/vsftpd.conf
打开vsftpd.conf文件以后找到如下两行:
local_enable=YES write_enable=YES
修改完vsftpd.conf以后保存退出,使用如下命令重启FTP服务:
sudo /etc/init.d/vsftpd restart

2.2windowsFTP客户端安装

WindowsFTP客户端我们使用FileZilla,这是个免费的FTP客户端软件,可以在FileZilla
官网下载,下载地址如下:https://www.filezilla.cn/download

1.2.1、FileZilla软件设置
Ubuntu作为FTP服务器,FileZilla作为FTP客户端,客户端肯定要连接到服务器上,打开
站点管理器,点击:文件->站点管理器,打开以后如图 4.1.5 所示:

如果显示的中文目录是乱码的

点击: 服务器(S)->断开连接,然后打开站点管理器,选中要设置的站点“站点名称”,选择“字符集”,设置位UTF-8

2.3文件传输

直接拖到指定文件夹下面即可

3、UbuntuNFSSSH服务开启

NFS

后面进行Linux驱动开发的时候需要NFS启动,因此要先安装并开启Ubuntu中的NFS
务,使用如下命令安装NFS服务:
sudo apt-get install nfs-kernel-server rpcbind
在用户根目录创建一个文件夹用于存放东西
1、创建一个linux文件夹
2、在linux文件夹下创建一个nfs文件夹
配置nfs
sudo vi /etc/exports
/home/自己的用户名/linux/nfs *(rw,sync,no_root_squash)
重启NFS服务,使用命令如下:
sudo /etc/init.d/nfs-kernel-server restart

SSH

开启UbuntuSSH服务以后我们就可以在Windwos下使用终端软件登陆到Ubuntu,比如
使用SecureCRTUbuntu下使用如下命令开启SSH服务:
安装SSH服务
sudo apt-get install openssh-server
ssh的配置文件为/etc/ssh/sshd_config,使用默认配置即可。

4、安装交叉编译链工具

Ubuntu中创建目录:/usr/local/arm,命令如下:
sudo mkdir /usr/local/arm
创建完成以后将刚刚拷贝的交叉编译器复制到/usr/local/arm这个目录中,在终端使用命令
cd” 进 入 到 存 放 有 交 叉 编 译 器 的 目 录 , 比 如 我 前 面 将 交 叉 编 译 器 拷 贝 到 了 目 录 “/home/用户名/linux/tool”中,然后使用如下命令将交叉编译器复制到/usr/local/arm中:
sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f
拷贝完成以后在/usr/local/arm目录中对交叉编译工具进行解压,解压命令如下:
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
修改环境变量,使用VI打开/etc/profile文件,命令如下:
sudo vi /etc/profile
打开/etc/profile以后,在最后面输入如下所示内容:
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
在使用交叉编译器之前还需要安装一下其它的库,命令如下:
sudo apt-get install lsb-core lib32stdc++6
首先查看一下交叉编译工具的版本号,输入如下命令:
arm-linux-gnueabihf-gcc -v
如果没有显示安装可以重启一下,在查看
VScod安装
我们需要按照的插件有下面几个:
1)C/C++,这个肯定是必须的。
2)C/C++ Snippets,即C/C++重用代码块。
3)C/C++ Advanced Lint,C/C++静态检测 。
4)Code Runner,即代码运行。
5)Include AutoComplete,即自动头文件包含。
6)、Rainbow Brackets,彩虹花括号,有助于阅读代码。
7)One Dark ProVSCode的主题。
8)GBKtoUTF8,将GBK转换为UTF8
9)、ARM,即支持ARM汇编语法高亮显示。
10)Chinese(Simplified),即中文环境。
11)vscode-iconsVSCode图标插件,主要是资源管理器下各个文件夹的图标。
12)compareit,比较插件,可以用于比较两个文件的差异。
13)DeviceTree,设备树语法插件。
14)TabNine,一款AI自动补全插件,强烈推荐,谁用谁知道!

之后呢我们就在Windows上写代码,将写好的代码编译好之后,将生成的.o文件传输到ubuntu虚拟机上,进行烧录操作。

5、代码烧写

mix6ull

1、将imxdownload拷贝到工程根目录下

2、给予imxdownload可执行权限
chmod 777 imxdownload
3、确定要烧写的SD
Ubuntu下所有的设备文件都在目录“/dev”里面,所以插上SD卡以后也会出现在“/dev
里面,其中存储设备都是以“/dev/sd”开头的。我们要先看一下不插SD卡的时候电脑都有哪些
存储设备,以防插入SD卡以后分不清谁是谁。输入如下所示命令:
ls /dev/sd*
sda 和sda1是系统磁盘不能烧写!!!
可以执行lsblk进行查看sd卡和内存就大概知道那张卡是内存卡
烧写指令
./imxdownload led.bin /dev/sdd //.bin是要烧入的bin文件,sdd是导入的内存卡

烧写完成后会有一个.imx文件,这个文件就是imxdownload工具烧到内存卡上的文件

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询