查看: 12|回复: 0

使用Qemu运行arm麒麟V10服务器系统

[复制链接]

2

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-7-27
发表于 2025-11-9 14:28:00 | 显示全部楼层 |阅读模式

之前一直按照网上其他文章教程使用Qemu运行arm下的麒麟Desktop系统,除了非常卡顿之外没有其他任何问题,近期因为项目需要,使用Qemu运行安装服务器系统的时候一直无法进入安装程序,甚至无图形界面的安装都进不去,最后一番捯饬终于成功

一、下载银河麒麟服务器镜像

  1. 这里不提供任何镜像,请联系银河麒麟官方客服申请试用或在互联网查找相关资源
  2. 将下载的镜像放入一个新建的文件夹,这里以Kylin-Server-V10-GFB-Release-030-ARM64.iso为例

二、下载安装qemu,配置环境变量(可选)

  1. 下载下方最新版即可,安装过程省略
    https://qemu.weilnetz.de/w64/
  2. 将安装目录(C:\Program Files\qemu)添加到系统环境变量Path中,方便后续使用,如果不添加的话后续qemu-system-aarch64.exe都要在前面添加目录,例如C:\Program Files\qemu\qemu-system-aarch64.exe
    Linux同理,这里不赘述
    image

三、创建BIOS相关文件

  1. 从C:\Program Files\qemu\share目录中复制edk2-aarch64-code.fd到镜像相同目录中
  2. 在文件夹内打开终端,使用下列命令创建变量区文件:
fsutil file createnew edk2-aarch64-vars.fd 67108864

Linux系统使用:

dd if=/dev/zero of=edk2-aarch64-vars.fd bs=1M count=64

四、创建磁盘文件

  1. 在文件夹内打开终端,使用下列命令创建磁盘文件,最后的170G可以自行调整:
qemu-img.exe create -f qcow2 kylinbat.qcow2 170G

如果没有配置环境变量,这里的qemu-img.exe要添加目录前缀“C:\Program Files\qemu\”

五、开始安装系统

  1. 在镜像文件夹新建一个文本文档,将文件名改成install.bat,粘贴下列安装脚本
qemu-system-aarch64.exe ^
    -m 16G ^  ::内存大小,建议不要超过本机物理内存的1/2
    -cpu cortex-a72 ^
    -smp 16,cores=8,threads=2,sockets=1 ^  ::-smp x,cores=m,threads=n,sockets=k x=m*n*k,根据电脑性能自行调整,如果无法正常启动就调小
    -M virt ^
    -pflash "edk2-aarch64-code.fd" ^
    -pflash "edk2-aarch64-vars.fd" ^
    -rtc base=localtime ^
    -display sdl,gl=on ^
    -device virtio-gpu-pci ^
    -device nec-usb-xhci ^
    -device usb-tablet ^  ::tablet是因为usb-mouse会有鼠标漂移bug
    -device usb-kbd ^
    -drive if=none,file="kylinbat.qcow2",id=hd0,format=qcow2 ^  ::磁盘文件
    -device virtio-blk-pci,drive=hd0 ^
    -drive if=none,file="Kylin-Server-V10-GFB-Release-030-ARM64.iso",id=cdrom,media=cdrom ^  ::改成自己下载的镜像文件名
    -device virtio-scsi-pci ^
    -device scsi-cd,drive=cdrom
  1. 正常用UI安装系统,这里不再赘述,GRUB的界面可能会出现闪烁问题,我没有尝试解决,不影响使用
  2. 安装结束后,直接关闭窗口

六、安装tap网卡驱动

  1. 下载链接(第三方整理,不负责安全)
    https://gitcode.com/open-source-toolkit/a3aea
  2. 安装后打开控制面板-网络和 Internet-更改适配器设置,修改TAP-Windows Adapter V9的名称为tap0
    image

七、启动系统

  1. 在镜像文件夹新建一个文本文档,将文件名改成startup.bat,粘贴下列启动脚本
qemu-system-aarch64.exe ^
    -m 16G ^  ::内存大小,建议不要超过本机物理内存的1/2
    -cpu cortex-a72 ^
    -smp 16,cores=8,threads=2,sockets=1 ^  ::-smp x,cores=m,threads=n,sockets=k x=m*n*k,根据电脑性能自行调整,如果无法正常启动就调小
    -M virt ^
    -pflash "edk2-aarch64-code.fd" ^
    -pflash "edk2-aarch64-vars.fd" ^
    -rtc base=localtime ^
    -display sdl,gl=on ^
    -device virtio-gpu-pci ^
    -device nec-usb-xhci ^
    -device usb-tablet ^  ::tablet是因为usb-mouse会有鼠标漂移bug
    -device usb-kbd ^
    -drive if=none,file="kylinbat.qcow2",id=hd0,format=qcow2 ^  ::磁盘文件
    -device virtio-blk-pci,drive=hd0 ^
    -net nic -net tap,ifname=tap0 ^

八、连接互联网

  1. 打开控制面板-网络和 Internet-更改适配器设置,双击打开连接互联网的网卡,共享到tap0
    image
  2. 这时理论上虚拟机可以联网,在虚拟机内查看本机ip,即可ssh和sftp连接虚拟机进行远程操作

总结

关键在于使用了qemu提供的edk2BIOS,网上分享的QEMU_EFI.fd不知道为什么底层不支持,反正能用就行(



来源:https://www.cnblogs.com/spi4pig/p/19204224
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部