qemu: mac m3芯片模拟x86_64芯片安装飞牛os

背景: 想尝试下国产nas操作系统飞牛os,然后决定要不要上实体硬件. 手头就一台mac, m3芯片.
尝试了 virtualBox, 行不通: 当前版本(7.1.6)虽然支持了苹果m3芯片, 但是只能模拟出arm芯片. 而飞牛os(0.8.41)当前只支持x86芯片. 有资料说virtualBox在哪里能打开x86的支持,但是一番折腾后没找到,放弃. 过程中查到qemu能在arm芯片上模拟出x86.
是时候接触一下大名鼎鼎的 qemu了

1. 安装 qemu

brew install qemu

2. 下载飞牛os的iso

地址: https://www.fnnas.com/download
这里得到的版本是 TRIM-0.8.41-756.iso

飞牛os是专为nas场景设计的操作系统,基于x86版本的Debian系统.

3. 创建虚拟磁盘,作为系统盘

qemu-img create -f qcow2 qemu-fnos/fnos.qcow2 30G

参数含义:
-f qcow2 指定磁盘镜像格式为 qcow2
磁盘镜像文件为 qemu-fnos/fnos.qcow2
大小30G

4. 加载镜像启动虚拟机

qemu-system-x86_64 \
  -m 4096 -smp 2 \
  -hda qemu-fnos/fnos.qcow2 \
  -cdrom TRIM-0.8.41-756.iso \
  -boot d \
  -accel tcg \
  -display cocoa

然后回打开一个窗口,想bios一样,按提示安装飞牛os即可.

参数含义
-m 4096 内存 4096M
-smp 2 模拟2核
-hda qemu-fnos/fnos.qcow2 加载磁盘镜像文件 qemu-fnos/fnos.qcow2
-cdrom TRIM-0.8.41-756.iso 加载cdrom镜像文件
-boot d
-accel tcg 加速方案用 tcg(性能不高,勉强用)
-display cocoa 显示方案用 cocoa

5. 启动已安装的操作系统

qemu-system-x86_64 \
  -m 4096 -smp 2 \
  -hda qemu-fnos/fnos.qcow2 \
  -accel tcg \
  -display cocoa \
  -nic user,hostfwd=tcp::2222-:22,hostfwd=tcp::5666-:5666

参数含义
-nic user,hostfwd=tcp::2222-:22,hostfwd=tcp::5666-:5666 配置端口转发宿主机tcp 2222转发到虚拟机22, 宿主机tcp 5666转发到虚拟机5666

22是ssh登录端口
5666是飞牛os web登录端口

账号后开机界面


image.png
image.png

宿主机web访问: http://127.0.0.1:5666/

装好后,第一次开机, 会要求设置用户名密码

默认不会打开 ssh 服务, 在界面中打开


image.png

开启ssh服务后
宿主机ssh访问: ssh <用户名>@127.0.0.1 -p 2222

6. 创建一块新虚拟磁盘

qemu-img create -f qcow2 qemu-fnos/fnos-disk1.qcow2 30G

7. 加载新创建的虚拟磁盘

qemu-system-x86_64 \
  -m 4096 -smp 4 \
  -cpu Skylake-Server-v1 \
  -hda qemu-fnos/fnos.qcow2 \
  -drive file=qemu-fnos/fnos-disk1.qcow2,format=qcow2,if=virtio \
  -nic user,hostfwd=tcp::2222-:22,hostfwd=tcp::5666-:5666,hostfwd=tcp::19000-:9000,hostfwd=tcp::19001-:9001 \
  -accel tcg,thread=multi \
  -display cocoa

参数含义
-cpu Skylake-Server-v1 模拟的cpu型号
-drive file=qemu-fnos/fnos-disk1.qcow2,format=qcow2,if=virtio 挂载新磁盘

添加新磁盘后接着玩

8. docker里装个 minio 试试应用

测试发现, 界面里启动docker存在一些bug(猜测可能是某些转义没处理好,比如启动命令参数 ":9001" 总是识别不了), 不如ssh进去后bash启动来的麻烦少. 而bash操作的docker结果,也能在界面中同步反应出来

image.png
image.png

在宿主机里,minio客户端 mc 也可以连上虚拟机里的minio server

9. 使用感受

  • 飞牛os做的挺好,界面干净, 功能使用不花哨, 但可能一些功能还有bug.
  • docker支持真实选对了重点,docker支持好了,能用的范围就大大增加了,飞牛对docker的支持比群晖要好太多了.
  • 在mac m3芯片上,用qemu虚拟x86还是太慢了,跑起来是真慢.这可是没有启动操作系统GUI的情况下,操作通过web ui进行, GUI是不敢装了. 当然也可能是新手qemu,参数没选到高效的(有了解的网友请留言交流一下)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容