VirtualBox 安装Armbian x86 虚拟机

步骤

  1. 到Armbian 官网下载Armbian UEFI x86 系统镜像;
  2. 转换img 镜像文件到vdi 虚拟硬盘文件;
  3. 新建并启动虚拟机系统;
  4. 配置命令行字体;
  5. 启动ssh 连接宿主机;

1、系统镜像

听说VirtualBox 不支持在x86 宿主机上运行ARM 系统虚拟机,这种活儿要去用QEMU,所以算了,就用x86 版的Armbian 系统。官方镜像下载地址:https://armbian.com/boards/uefi-x86

注意,它这个x86 的系统实际是64 位的。有好几种系统版本可选,我选了ubuntu 26.04 Minimal 版本,就是只有命令行,没有桌面GUI 环境。反正可以在宿主机上开ssh 遥控,图形界面基本用不上。

下载后是个xz 压缩包,解压出系统镜像img 文件,然后下一步。

2. 转换vdi 虚拟磁盘文件

VirtualBox 不能直接使用img 文件,可以把img 转换成vdi 虚拟磁盘文件。找到本地VirtualBox 的安装位置,默认应该是C:/Program Files/Oracle/VirtualBox,在这里启动终端,调用它自带的VBoxManage.exe。默认这个路径不会加进PATH,所以不能直接在命令行里执行。

下面是把img 转换成vdi 的命令:

shell 复制代码
./VBoxManage convertfromraw --format VDI <Armbian_xxx.img> <Armbian.vdi>

上面两个参数分别对应img 文件的路径和vdi 文件的输出路径。转换之后,再设置一下虚拟硬盘的最大容量:

shell 复制代码
./VBoxManage modifymedium disk <Armbian.vdi> --resize 8192   # 单位 MB,即 8 GB

没有图形界面的话硬盘8G 应该够用了,系统启动以后显示占用46% 空间。有图形界面的话不好说,可能会需要16G 以上吧。vdi 文件是按需动态扩容的,所以这里改最大容量不会立即让文件膨胀成8G。听说还有一条指令可以一次完成转换和扩容,没试过:

shell 复制代码
./VBoxManage clonehd <Armbian_xxx.img> <Armbian.vdi> --format VDI --resize 8192

3. 新建虚拟机

在VirtualBox 先到设置里把界面模式切换到专家模式,不然很多选项就给隐藏了。

然后新建一个Linux 虚拟机,发行版选择Other Linux,版本Linux (64bit)。注意,它这个UEFI x86 的系统实际是64 位的,选了32 位的话会无法启动。不知道发行版能不能选Ubuntu。

之后内存至少分配1G,CPU 至少分配两个核心吧,单核也能用。记得勾选"使用EFI"。把之前转换好的vdi 文件放进虚拟机名称对应的文件夹里,没有的话自己新建一个文件夹。然后选择已有的虚拟硬盘文件,列表里没显示的话先注册介质。

不用管无人值守安装那些菜单,直接取消勾选。这样配置完以后应该就可以启动了。

4、 启动后系统配置

第一次启动系统后会配置一些系统时区之类的东西,可以全部按默认,然后让创建root 密码和一个用户,建议创建完以后把这些信息存到一个txt 里,免得一段时间没玩就给全忘了。我觉得最好别用和宿主机一样的密码,这种地方肯定随便弄个简单的弱密码就行了,比如我设置的是hi。

进系统以后可能会发现字体看着有点小,反正我2k 屏上看着稍微有点不愉快,所以要设置一下字体,用如下命令:

shell 复制代码
sudo dpkg-reconfigure console-setup

打开配置界面,编码默认UTF-8 ,字符集默认Guess optimal character set ,字体可以自己重选一个,听说大家推荐Terminus ,后面选择字体大小,我选了14x28,显示效果很适合老年人。我第一次运行这个的时候报了错没成功,之后重新执行一次就好了。这个设置是永久的,重启后保留。

然后肯定要装个fastfetch:

shell 复制代码
sudo apt install fastfetch

输出的系统信息如下:

5、宿主机ssh 连接

可以先把系统自带的包都升级一下:

shell 复制代码
sudo apt update
sudo apt upgrade

升完以后可能会需要重启系统,建议在这里先关闭虚拟机。为了之后让宿主机能连到ssh,需要把虚拟机的22 端口映射到宿主机。这个当然要在VirtualBox 上设置,开着机设置不了。

打开设置 > 网络,点开端口转发,在里面加一条SSH 的端口映射:

主机端口可以随便设置,只要没被别的东西占用。然后启动虚拟机,启动ssh 服务,并且设置以后系统启动时自动启动ssh:

shell 复制代码
# 安装ssh 服务器,实际应该不用装,已经自带了
sudo apt install openssh-server -y

# 启动 SSH 服务
sudo systemctl start ssh

# 设置开机自启
sudo systemctl enable ssh

这下再打开宿主机上的命令行,就可以连接ssh 了,完工。

shell 复制代码
ssh chris@127.0.0.1 -p 6022
相关推荐
想唱rap1 小时前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
iCxhust1 小时前
微机原理实践教程(汇编篇)---A002流水灯
汇编·单片机·嵌入式硬件·51单片机·微机原理
苏宸啊1 小时前
linux进程控制(一)
linux
资深流水灯工程师1 小时前
UART 通讯DMA+IDLE模式笔记
笔记·单片机·嵌入式硬件
开开心心_Every1 小时前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
the_fat_bird2 小时前
ubuntu install nvidia gpu driver
linux·运维·ubuntu
IMPYLH2 小时前
Linux 的 tac 命令
linux·运维·服务器·bash
计算机安禾2 小时前
【Linux从入门到精通】第50篇:专栏总结与Linux学习之路的未来展望
linux·运维·学习
zhouwy1132 小时前
Linux 内核学习笔记:从零搭建内核开发与调试环境
linux