VirtualBox中部署Armbian x86虚拟机:镜像转换与配置指南

发布时间:2026/10/24 1:22:31
VirtualBox中部署Armbian x86虚拟机:镜像转换与配置指南 1. 为什么要在 VirtualBox 里装一台 Armbian x86Armbian 这个发行版玩过开发板的人应该都不陌生。它天生是给 ARM 板卡准备的以轻量、稳定、软件源更新及时出名。但很多人不知道的是Armbian 官方其实也发布 x86 版本的镜像也就是说你完全可以在普通的 PC 上甚至在 VirtualBox 里创建一个 Armbian x86 虚拟机。这个组合有个很实际的价值不需要买任何开发板硬件就能提前体验 Armbian 特有的配置体系和软件管理方式在给真实板子部署服务之前可以先在虚拟机里把脚本、依赖、网络配置全部验证一遍再拿到真机上跑。我最早碰 Armbian x86 虚拟机是因为要给一块 ARM 板子做系统适配来回刷机太痛苦而且有些测试动作本身就有风险。后来想到先在 VirtualBox 里建一台同样逻辑的虚拟机把安装流程、软件依赖、脚本行为都确认清楚再平移到真机效率一下子提升了不少。整篇文章会把完整流程写出来从镜像下载、磁盘转换、虚拟机创建到首次登录、分区扩容、网络配置最后是常见问题排查。整个过程没有特别复杂的技术点但很多细节不实际踩过一遍确实容易卡住。在动手之前先理清一个核心认知Armbian 走的不是“用 ISO 引导安装”的路线它更像一个“完整磁盘镜像”下载解压后得到的 .img 文件就是一块完整的系统盘你要做的是把这块盘“放”进虚拟机里让虚拟硬盘直接引导。只要理解这一点后面所有操作都会顺理成章。2. 准备阶段镜像下载与基础环境2.1 镜像版本怎么选打开 Armbian 官网的下载页面在架构选择里找到 x86-64就能看到对应的镜像。文件名一般类似Armbian_25.02.0_X86-64_bookworm_current_6.12.x.img.xz其中几个关键信息值得注意。一是系统基底。镜像会基于 Debian 或 Ubuntu我优先推荐 Debian 版本比如 bookworm。原因很简单Debian 基底更干净、更稳社区维护周期长跑服务器类任务不会出现 Ubuntu 那种频繁升级带来的意外行为。二是内核版本。标注为 current 的是当前稳定内核标注为 lts 的是长期维护内核。在虚拟机里没有硬件兼容性的压力选 current 即可内核新一些对 VirtualBox 虚拟网卡、虚拟显卡的驱动支持也更完整。三是版本类型。Armbian 提供 server、minimal、desktop 几类server 是纯命令行、组件最克制desktop 带 XFCE 桌面环境。我强烈建议选 server 版虚拟机的意义在于验证业务和配置桌面环境既占用资源又增加一层不必要的复杂性。真需要图形界面后面用 armbian-config 一键装一个 XFCE 是非常成熟的做法。下载完成后你拿到的通常是.img.xz压缩文件需要先解压成.img。Windows 下用 7-Zip 就能解压Linux 或 macOS 下用命令xz -d Armbian_25.02.0_X86-64_bookworm_current_6.12.x.img.xz解压出来的.img文件可能有三四个 GB这是一个完整磁盘镜像。可以把它理解为“一张被整体打包的 SD 卡”里面已经分好区、写好了引导程序、装好了基础系统。Argbian 官方对 x86 平台的做法就是把这张卡变成一块硬盘然后启动。2.2 VirtualBox 与常用工具准备VirtualBox 建议使用 6.1 以上版本7.x 更佳。7.x 对 UEFI 引导、VMSVGA 显卡控制器、桥接网络的兼容性都更好遇到问题的概率会低一些。除了图形界面还需要一个命令行工具VBoxManage。它随 VirtualBox 一起安装Windows 下位于 VirtualBox 安装目录内Linux 下通常在/usr/bin/VBoxManage。转换磁盘格式、扩容虚拟磁盘、查看磁盘列表这些操作用命令行比 GUI 直观高效得多。后面我会频繁用到它。另外建议准备一个能编辑文本文件的基础环境。因为 Armbian 安装后你要改软件源、改 SSH 配置、改时区设置这些都离不开文本编辑器。系统自带 nano很多人更习惯 vim后面装一下就行。这里顺便解释一个容易混淆的点.img、.iso、.vdi三者关系。.img是原始磁盘镜像直接对应块设备.iso是光盘镜像虚拟机光驱加载它然后引导安装.vdi是 VirtualBox 的虚拟硬盘格式。“把 .img 当作 .iso 挂载”是新手最常见的错误永远引导不起来。正确做法是先把它转换成.vdi挂到 SATA 控制器上让虚拟机当作硬盘启动。3. 核心操作镜像转换与虚拟机创建3.1 把 .img 转换成 VirtualBox 的 .vdi这一步是整个流程中技术含量最高、也是最多人卡住的地方。用 VBoxManage 转换比较简单VBoxManage convertfromraw Armbian_25.02.0_X86-64_bookworm_current_6.12.x.img armbian.vdi --format VDIconvertfromraw的意思是“从原始镜像转换”它会遍历整个.img文件把里面的数据完整封装进.vdi。转换过程需要一点时间耐心等待即可。完成后可以用下面命令确认新磁盘的信息VBoxManage list hdds这条命令会列出所有 VirtualBox 已知的虚拟磁盘包括刚才生成的 armbian.vdi重点关注它的容量标识是否正常。这里有个必须提前处理的点生成的.vdi大小和原始.img几乎一样。Armbian 官方的 x86 镜像并不大系统分区通常只占其中一部分如果你直接拿这个 vdi 创建虚拟机后续装软件、跑服务、写日志很快就会发现空间不够。所以建议在转换完成后立刻扩容VBoxManage modifymedium disk armbian.vdi --resize 20480这条命令把虚拟磁盘扩容到 20 GB单位是 MB。注意这时候分区表和文件系统还停留在原始大小扩容出来的空间是“未分配”状态需要等 Armbian 启动后手动扩展系统分区。这是正常现象不是错误我会在第四部分详细讲。如果你是命令行爱好者也可以完全通过 VBoxManage 创建虚拟机并挂载磁盘全程不打开图形界面。不过多数人习惯用 GUI那就在 VirtualBox 新建虚拟机然后选“使用已有虚拟硬盘文件”指向刚才生成的 armbian.vdi 即可。3.2 创建虚拟机并完成关键参数配置在 VirtualBox 主界面点击“新建”按下述参数配置名称随意比如 Armbian-x86类型Linux版本Debian (64-bit)因为 Armbian 基于 Debian选这个最贴近内存2048 MB 起步虚拟机内跑编译或容器的话可以给到 4096 MBCPU2 核足够Armbian 本身很轻量虚拟硬盘选择“使用已有虚拟硬盘文件”然后浏览选择 armbian.vdi创建完成后进入“设置”里做两个细节调整。第一个是存储控制器。确保 armbian.vdi 挂在 SATA 控制器下而不是 IDE 控制器。Armbian 镜像里的引导程序默认会探测 SATA 设备如果挂在 IDE 下有概率出现找不到根分区的情况。VirtualBox 默认新建的控制器就是 SATA一般不需要动但值得检查一下。第二个是启动模式。Armbian x86 镜像使用 GRUB 引导同时支持传统 BIOS 和 UEFI。建议先保持默认的传统 BIOS。如果启动后黑屏或者停在“No bootable device”附近再去“设置 - 系统 - 主板”里勾选“启用 EFI”试试。这两种引导模式对应不同的 GRUB 安装方式换一次等于换了引导路径通常两种里有一种能用。如果你更喜欢纯命令行也可以用这几条命令完成同样的效果VBoxManage createvm --name Armbian-x86 --ostype Debian_64 --register VBoxManage modifyvm Armbian-x86 --memory 2048 --cpus 2 VBoxManage storagectl Armbian-x86 --name SATA --add sata --controller IntelAhci VBoxManage storageattach Armbian-x86 --storagectl SATA --port 0 --device 0 --type hdd --medium armbian.vdi这样创建的虚拟机和 GUI 操作完全等价适合批量创建或脚本化部署的场景。3.3 首次启动默认账号与初始密码一切配置就绪后点击“启动”。Armbian 没有传统安装向导开机过程会看到内核日志快速滚动首次启动比后续稍慢因为要生成 SSH 主机密钥、初始化系统服务。看到登录提示后使用默认凭证登录用户名root密码1234第一次登录会强制修改 root 密码。按提示先输入当前密码 1234然后输入两遍新密码。紧接着系统会询问是否创建一个普通用户我建议创建。日常操作用普通用户需要提权时使用 sudo能有效避免在 root 下误操作搞坏系统。到这里实际上已经完成了“安装”这个动作。比想象中简单对吧但这时候系统还处于比较原始的状态网络可能是通的也可能不是时区不对软件源没有优化磁盘空间可能尚未扩展。接下来才是让系统真正好用的关键阶段。4. 初始化配置让 Armbian 真正可用4.1 网络连接与 SSH 远程访问VirtualBox 默认给虚拟机提供 NAT 网络。在 NAT 模式下虚拟机可以访问外部互联网但宿主机和外部设备没法主动连入虚拟机。这种模式适合临时测试但如果你和我一样习惯从宿主机开终端操作虚拟机就需要配置端口转发或者改用桥接模式。配置端口转发的方法VirtualBox 主界面选中虚拟机进入“设置 - 网络 - 高级 - 端口转发”添加一条规则名称ssh协议TCP主机 IP127.0.0.1主机端口2222子系统端口22这样在宿主机执行ssh -p 2222 root127.0.0.1就能连接到虚拟机里的 Armbian。这个玩法不仅限于 SSH如果要在虚拟机里跑 Web 服务、API 服务同样可以通过端口转发把宿主机的 8080 映射到虚拟机的 80直接通过宿主机访问。如果希望虚拟机成为局域网内的一台独立主机被其他设备直接访问更好的办法是把网络模式改成“桥接网卡”。桥接模式下虚拟机会从路由器获取一个与宿主机同网段的 IP其他机器直接访问这个 IP 就行。注意桥接模式对宿主机网卡环境有要求如果宿主机连接的是不稳的 Wi-Fi虚拟机的网络也会跟着波动。进入系统后先确认网络状态ip addr如果在 NAT 模式下拿到的是 10.0.2.x 开头的地址说明网络已经通了。Armbian 默认开启 SSH 服务root 密码修改后即可远程登录。如果想禁用 root 远程登录编辑/etc/ssh/sshd_config将PermitRootLogin改为 no然后重启 sshsudo systemctl restart ssh4.2 软件源优化与系统升级Armbian 的软件源由两部分组成Debian/Ubuntu 的系统源以及 Armbian 自己的源。默认配置指向官方服务器在某些网络环境下速度不太理想建议替换为国内镜像。Debian 系统源一般位于/etc/apt/sources.list。新版可能使用/etc/apt/sources.list.d/下的文件执行ls /etc/apt/sources.list.d/确认一下。用 sed 替换可以避免手工改错sudo sed -i s|http://deb.debian.org|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.listArmbian 自身源一般在/etc/apt/sources.list.d/armbian.list同样可以换成对应的国内镜像地址也可以暂时保持官方源。大部分时候瓶颈在 Debian 源Armbian 源本身的流量压力不大。替换完成后更新缓存并升级系统sudo apt update sudo apt upgrade首次升级可能会拉取不少内核包和依赖包耐心等待。升级完之后建议重启一次让新内核与驱动真正生效sudo reboot这里想多提醒一句Armbian 的升级策略与普通 Debian 略有差异它有可能在apt upgrade时更新内核但不太会主动切换内核版本。如果你看到内核版本更新了但系统没变这是 Armbian 的设计取舍不用慌。4.3 时区、语言与基础工具默认时区不是中国时区时间显示会差好几个小时如果后面要做定时任务或查看日志时间不对会带来很多困扰。设置时区sudo timedatectl set-timezone Asia/Shanghai执行完再用date确认一下。语言环境默认英文如果确实需要中文环境可以用dpkg-reconfigure locales勾选相关语言然后locale-gen。不过我的建议是保持英文环境。原因很实际很多命令行工具、错误日志、开发环境针对英文 locale 做了最佳适配切到中文后偶尔会出现显示错乱或字符编码问题。在服务器场景英文环境是更稳妥的选择。接下来装一批常用工具sudo apt install vim htop curl wget git tree这组工具覆盖了远程编辑、系统监控、网络请求、代码管理等日常操作没有一个是多余的。Armbian 还有一个招牌工具叫armbian-config交互式配置界面可以管理网络、系统服务、软件安装、硬件参数等。第一次使用建议运行看看sudo armbian-config在纯命令行环境里它能省去大量手动编辑配置文件的功夫。比如想安装桌面环境在它的 Software 菜单里可以直接选装 XFCE想配置无线网络、调整 CPU 调优策略也都能在菜单里完成。这是 Armbian 区别于普通 Debian 的重要特色。4.4 分区扩容别让磁盘空间卡死你前面说到官方镜像的磁盘分区通常只有几个 GB而虚拟磁盘已经扩到了 20 GB。查看当前分区状态df -h lsblk大概率会看到/dev/sda1还保持着原始的较小容量而整个/dev/sda已经是 20 GB。这时需要手动扩展系统分区。Armbian 官方镜像的磁盘通常使用 GPT 分区表。扩展根分区的标准流程如下全程需要用 fdisk 操作进入 fdisk 编辑分区表sudo fdisk /dev/sda输入p查看当前分区布局记住根分区的起始扇区这个数字至关重要。输入d删除根分区。注意删除分区不等于删除数据只要后续新建分区的起始扇区保持不变文件系统数据原封不动。输入n新建分区。fdisk 会要求输入起始扇区此时输入刚才记录的起始扇区结束扇区直接回车使用默认值也就是磁盘末尾。如果 fdisk 提示分区类型选择 Linux filesystem对应的类型代码为 20然后写入分区表。上面这组操作有几个容易出错的地方。一是 GPT 分区分区号的选择如果原来的分区号是 1新建时默认可能给 1或者要求指定按原来编号继续用即可二是修改分区表之前强烈建议先做一次快照万一起始扇区填错至少还有回退空间。虚拟机嘛这就是比真机舒服的地方。分区表写入后让内核重新读取sudo partprobe /dev/sda然后扩展文件系统sudo resize2fs /dev/sda1结束后执行df -h根分区容量应该已经变成 20 GB。如果你的 Armbian 版本较新它可能内置了自动扩容逻辑首次启动时就已经完成了分区扩展。先看df -h如果显示的就是完整大小那这一步可以完全跳过。5. 常见问题与排查实录5.1 虚拟机启动后黑屏、卡 GRUB 或找不到引导设备这是转换镜像玩法里出现频率最高的问题我自己第一次操作也栽过跟头。优先检查三个地方虚拟硬盘是否挂在 SATA 控制器下。如果是在 IDE 控制器下改成 SATA 再试。引导模式与镜像是否匹配。传统 BIOS 起不来换成“启用 EFI”EFI 起不来关闭 EFI 再试。显卡控制器设置。如果启动到了 GRUB 菜单但进入系统后黑屏尝试把“设置 - 显示 - 显卡控制器”改成 VMSVGAArgbian 对 VMSVGA 的 framebuffer 兼容性通常更好。顺带说一个很多新手会犯的错拿到 .img 文件后直接把它挂载为虚拟机的“光驱”期待像装 Ubuntu 那样出现安装界面。这是行不通的。.img 是磁盘镜像不是 ISO 光盘镜像必须转换成虚拟硬盘来接。5.2 网络不通怎么一步步排查先确认虚拟机网络模式。NAT 模式下如果宿主机本身不联网虚拟机肯定也上不了网。桥接模式下确认桥接的是正在使用的物理网卡别选成虚拟网卡。然后进系统执行ip addr ip route看是否拿到了 IP有没有默认路由。如果网关不通多半是网络模式或网卡配置的问题如果网关通但外网不通重点排查 DNS。检查/etc/resolv.conf必要时可以临时设置 DNSecho nameserver 223.5.5.5 | sudo tee /etc/resolv.conf还有一个细节VirtualBox 的“网络”设置里如果网卡状态被设置成“未连接”配置再好也不会有网络。每次修改网络设置后检查一下“连接”状态是否勾选。5.3 apt update 报错签名失效或源不可用执行apt update时提示某些仓库缺少数字签名或者拉取某个源失败通常有三种原因源地址写错了。再去/etc/apt/sources.list和/etc/apt/sources.list.d/检查一遍确保没有打错镜像地址。源里加入了不匹配的发行版组件。比如在 Debian bookworm 里混入了 sid 的仓库会出现大量 404 和签名错误把不相关的仓库行注释掉就好。Armbian 公钥过期或缺失。新版 Armbian 使用/etc/apt/trusted.gpg.d/下的独立公钥文件不要再用老式的apt-key。可以试着重新导入sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 你的KEYID不过这是兼容性做法新系统更推荐直接下载 Armbian 的公钥文件放到trusted.gpg.d/。遇到这类问题不要急着全删重来先备份原有源配置再一条一条排除恢复起来会快很多。5.4 时间总是不对虚拟机的时间问题一般有两个原因时区没设置或者时间同步服务没启用。先设置时区sudo timedatectl set-timezone Asia/Shanghai如果只是慢了几分钟多半是 NTP 同步没开启。安装 chronysudo apt install chrony sudo systemctl enable --now chrony时间问题在写日志、做定时任务、联网请求时最为致命尤其是用 cron 做定时采集或备份的场景时间戳错乱会直接导致数据被错误覆盖。建议在 Armbian 刚装完就顺手解决。6. 实操心得与扩展方向整套流程走下来我最大的感受是 Armbian 的 x86 虚拟机比想象中靠谱也比想象中朴素。靠谱在于它和 ARM 板上的 Armbian 几乎保持同样的目录结构、同样的配置命令、同样的包管理逻辑。你在虚拟机里练习的每一套操作都能几乎原样平移到真实的开发板上。对于那些做嵌入式边缘设备、NAS 系统、软路由调优的人来说这个价值非常大。你可以先在一台虚拟机上把部署脚本、依赖关系、驱动加载逻辑全部摸透再交付到真机省下来的调试时间非常可观。朴素在于它没有传统发行版那种“安装向导”的体验整个启动方式更像“把整块盘插上就开机”。默认密码 1234、首次强制改密、无图形配置页面这套交互逻辑本来面向开发板用户第一次接触的人会不太习惯。但只要抓住“镜像就是完整磁盘”这个核心所有怪异感都会消失。后续扩展方面我实际试过几个比较实用的方向把虚拟机模拟成一台轻量内网服务器跑 Nginx、MySQL、frp 这类服务先把配置在虚拟机里验证再迁移到真实设备。在 Armbian 虚拟机里做 ARM 交叉编译。系统依赖干净用 apt 安装工具链很方便比宿主机上折腾跨平台环境舒服很多。通过桥接网络把虚拟机当作局域网主机用来做定时抓取、自动化测试、脚本跑批资源占用很低长期开着也不心疼。最后分享一个实操习惯每次改动系统关键配置之前先在 VirtualBox 里给虚拟机拍个快照。改崩了一键回滚改成功了再删掉旧快照释放空间。在 Armbian 这种高度定制、而且分区表可能被手动调整过的系统里快照比任何事情都让人安心。我自己的经验是一旦把 Armbian x86 虚拟机跑顺了很多原本需要在真机上来回验证的事情都可以丢给它。轻量、干净、可复制这几点让它非常适合作为日常 Linux 实验环境。如果你正打算用 Armbian 做点什么不妨先在这台虚拟机里试一试再上车。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询