首页 > 基础资料 博客日记
嵌入式 - 在VMware中安装Ubuntu虚拟机
2026-04-28 16:30:02基础资料围观1次
运行在嵌入式设备上的Linux内核,通常必须在Linux主机环境下完成编译。这一要求的根本原因在于:整个嵌入式Linux的构建工具链(如GCC交叉编译器、Binutils、Make等)以及内核自身的配置与构建系统(Kconfig、Kbuild)均深度依赖Linux的原生环境。这些工具在设计之初就将Linux作为首选运行平台,其对文件系统布局、进程管理、系统调用接口以及Shell脚本执行行为的假设,都与Linux内核行为高度耦合。因此嵌入式开发必须在Linux环境中进行。
Ubuntu是一个基于Debian架构的Linux发行版,界面友好、生态丰富,堪称用户群体最庞大的Linux发行版之一。在实际开发中,我们可以使用运行Ubuntu的PC作为开发终端。然而,日常工作中更常用的仍是Windows系统,那么如何在Windows上完整运行Ubuntu呢?这就需要借助虚拟机技术。本文使用的虚拟机软件为VMware。在VMware中安装Ubuntu主要分为三个步骤:第一,下载Ubuntu镜像文件;第二,在VMware中创建虚拟机并加载所下载的镜像;第三,启动虚拟机并进入Ubuntu,完成初始化系统配置。至此,Ubuntu的安装即告完成。
一、Ubuntu 镜像下载
Ubuntu镜像文件的官方下载地址为:https://releases.ubuntu.com/,但是有时候官网下载速度较慢,可选择在国内镜像站下载,清华大学镜像站地址为:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/。
笔者下载的版本是24.04,如下图所示,读者可根据自己需求选择合适版本下载。

二、在VMware中创建新虚拟机
- 打开VMware,点击创建新的虚拟机。

- 希望使用什么类型的配置,选择默认项“自定义(高级)”

- 虚拟机硬件兼容性,默认即可。

- 安装客户机操作系统,选择“稍后安装操作系统”。

- 选择客户机操作系统:Linux。

- 虚拟机名称和位置,自定义即可。

- 处理器核心数量:这里最关键的是虚拟机分配的处理器核心并不等于这几个核心永久给虚拟机使用,宿主机无法调用。而是虚拟机宿主机统一调用。具体说明如下。
在 VMware 中配置“处理器数量”和“每个处理器核心数”并不是表示物理CPU真实被拆分,而是定义虚拟机的 vCPU 拓扑结构;现实电脑通常只有1个物理CPU(笔者电脑的CPU是4核8线程),VMware 允许模拟多个“CPU插槽”和“核心”,但本质上这些 vCPU 只是操作系统层面的并行调度单位,会被宿主机(Windows)统一调度到物理4核8线程上动态运行,并不会真正独占或切割CPU资源。因此“1×4 vCPU”并不等于占用4个物理核心或4个线程,而是允许虚拟机最多同时运行4个可调度任务。对于4核8线程的主机,vCPU一般建议分配1×2到1×4之间,既保证虚拟机性能,也避免过度挤占宿主机调度资源,从而造成整体卡顿。

- 虚拟机内存分配根据自己电脑配置分配,建议不低于4GB。注意内存分配之后这部分内存宿主机就用不了了。
VMware 虚拟机的内存和硬盘本质上也是“从宿主机借用资源”而不是独立存在的:虚拟机内存是在宿主机物理内存中划出一段连续或分页的空间供虚拟机使用,一旦分配就会被占用(除非开启内存气球或动态回收机制),因此分配时需要预留给宿主机足够内存避免系统变卡。

- 网络类型:使用网络地址转换(NAT)

- IO控制器类型:默认即可。

- 磁盘类型:默认即可。

- 选择磁盘:创建新虚拟磁盘

- 指定磁盘容量,做开发的话,建议64GB以上。建议不勾选立即分配所有磁盘空间。具体说明如下表所示。
| 选项维度 | 选项 | 含义与特点 |
|---|---|---|
| 空间分配 | 立即分配所有磁盘空间 | 这是一种厚置备方式。创建时立刻从物理硬盘划走设定的全部空间(如100GB),无论虚拟机实际用多用少。优点是性能较好,缺点是占用空间大,创建过程也更慢。 |
| 不勾选(默认) | 这是一种精简置备方式。创建时仅占用一个很小的初始空间(如几十MB),之后随着虚拟机内数据增多,文件才会自动增长,直至设定的上限。优点是节省物理硬盘空间,创建速度快,适合大多数个人使用场景。 | |
| 文件存储 | 将虚拟磁盘存储为单个文件 | 虚拟机磁盘只对应物理硬盘上的1个文件。优点是不易产生碎片,读写性能通常更好,文件管理也更简单。这是大多数情况下的推荐选项,尤其是固定在本地使用的时候。 |
| 将虚拟磁盘拆分为多个文件 | 会将虚拟磁盘拆分成多个小文件(例如每个2GB)。主要优点是兼容性好,方便把大虚拟机拷到FAT32格式的U盘里(该格式限制单文件不能超过4GB)。缺点是可能因文件碎片化轻微影响性能。 |

- 这里是虚拟磁盘文件的存储位置。建议跟虚拟机放在一个文件夹中,方便后续打包迁移。

- 点击自定义硬件,导入第一步我们下载的Ubuntu镜像文件。

- 导入镜像文件。

三、启动并初始化Ubuntu
- 点击开启虚拟机开机。

- BootLoader中默认选中 Try or Install Ubuntu。然后回车。

- 进入Ubuntu初始化界面,接下来是一系列的初始化选项。
- 首先是语言,选择中文简体。

- Ubuntu中的可访问性,保持默认,下一步。

- 键盘布局:汉语。

- 连接到互联网,前面我们设置虚拟机的时候网络设置了NAT模式。选择使用有线连接。

- 安装可用更新:跳过。

- 点击安装Ubuntu。

- 选择交互式安装。

- 选择默认集合。

- 安装推荐的专有软件,全部勾选,下一步。

- 选择擦除磁盘并安装Ubuntu。这里不会对我们原本Windows的磁盘数据造成影响。

- 设置账户,读者自行设置即可。

- 选择地区,然后等待安装完成。

- 安装完成!

四、配置软件源
什么是软件源,简单来说就是Ubuntu获取软件包和系统更新的网络仓库地址列表。Ubuntu使用APT包管理器来安装、更新软件。它去哪里下载这些软件呢?就是去“软件源”里指定的服务器。软件源其实是一个记录了各种软件包仓库地址的配置文件,系统里主要是/etc/apt/sources.list这个文件。当你执行sudo apt install或sudo apt update时,系统就会去访问这些地址,拉取软件列表和程序文件。
Ubuntu安装后,默认的软件源是官方的国际服务器(如 archive.ubuntu.com),这些服务器通常部署在欧洲或北美。从国内直接访问,下载速度极慢,连接不稳定甚至失败。将软件源地址改成国内的镜像站(如清华大学、阿里云、中科大等),这些服务器在国内有节点,访问速度和稳定性都会有质的飞跃。
如果你的Ubuntu镜像文件是在清华镜像站下载的,那么软件源已经默认是清华的了。这里我们介绍一下配置方法。
-
备份原有源列表(好习惯)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup -
编辑源列表文件
将里面原有的内容全部删除或注释掉(在行首加
#),然后粘贴以下适合 Ubuntu 24.04 (Noble) 的清华源地址。如果你安装的是其他版本,请自行去清华镜像站复制对应版本的配置。sudo vim /etc/apt/sources.listdeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse -
刷新软件源信息
sudo apt update
五、安装GCC编译器并编译C程序
至此我们已经安装好了Ubuntu虚拟机。本节以简单的HelloWorld程序为例简单介绍一下如何在Linux环境下编译并执行简单的C语言程序。
首先我们需要配置C语言的编译环境。Ubuntu桌面版默认通常没有安装GCC编译器,可以在桌面右键然后打开终端,或者直接按快捷键Ctrl+Alt+T打开命令行。在终端中依次执行以下两条命令:
sudo apt update # sudo 用于获取管理员权限
sudo apt install build-essential # apt 是安装命令
其中第一条命令用于更新软件包。第二条则会安装build-essential套件,其中包含了GCC编译器、必要的库和make工具。安装完成后,可以输入gcc --version来验证是否安装成功,如果显示出GCC的版本信息,就说明环境已经准备就绪。如图所示:

编译器安装完成后就可以编写程序了,程序源码随便用一个文本编辑器写都可以。这里使用在Linux终端中常用的vim编辑器,Ubuntu中默认安装的是老版本的vi编辑器,相比之下vim更好用一些,因此需要先安装一下vim。
sudo apt install vim
安装完成后创建一个文件夹,然后使用vim编辑源码:
cd ~
mkdir C-Code
cd C-Code
vim HelloWorld.c
代码内容如下:
不会使用vim编辑器的可以直接在图形界面右键使用文本编辑器打开。但是做开发还是终端命令用的多,建议入手一下vim,可以在B站搜一下教程,几分钟即可简单使用。
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
接下来将源码编译为可执行文件:
gcc HelloWorld.c -o HelloWorld
./HelloWorld # 执行可执行程序
因为Linux默认不会从当前目录搜索可执行文件,所以需要加上./来明确指定路径。按下回车后,终端就会输出“Hello, World!”。程序执行结果如下图所示。

Steady Progress!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 和风天气 .NET SDK ( Sparrow.Qweather)使用说明
- DeepSeek V4 + GPT-5.5 一手实战,结果很意外!附 Codex 保姆级项目教程
- 从零学习Kafka:生产者分区机制
- 嵌入式 - 在VMware中安装Ubuntu虚拟机
- 代码之外周刊(第174期):游戏为什么比作业更懂孩子?
- 2026最新ios企业开发账号和企业证书申请最详教程
- C# 实现 Excel 页面自定义设置 (页面布局、打印优化)
- FastAPI配置管理避坑指南:从硬编码到 .env 与 pydantic_settings 类,连路由用法都给你捋清楚
- 深入 Open Agent SDK(四):多 Agent 协作——子代理、团队与任务编排
- ArrayPoolWrapper简洁、安全的ArrayPool

