QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler)
一、折腾背景:
我们使用的PC一般都是x86架构的Intel CPU或是AMD CPU,随着随着信创产业发展持续深化,需要使用arm架构的操作系统,但我们无法使用一些常用虚拟机软件(如vmware workstation、virtual box等)进行安装,因为这种类型的虚拟机软件只能安装和宿主机的CPU相同架构的系统。所以,我们需要使用qemu软件,该软件是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备(当然就包含ARM架构的罗),我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。
本文简单介绍如何在windows系统中安装并使用qemu安装arm架构的kylinV10系统(其它类似的操作系统也可以参考),可以在x86架构的 windows上运行arm架构的虚拟机,以便在windows上可以使用其它cpu架构的操作系统进 行开发、编译、验证问题等操作。
本文仅供参考,条件允许的话,还是采购ARM架构服务器比较好。
本次安装后虚拟机上网使用的是tap模式,所以启动命令及上网配置都是采用的tap模式, 如果使用其它模式,安装和启动命令可能稍微有些不同。
宿主机配置 | I9/64G/2TB |
宿主机操作系统 | Windows 10 专业版 |
Qemu软件 | |
麒麟高级服务器版 | Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso |
麒麟引导文件(EFI文件) | QEMU_EFI.fd |
虚拟网卡软件 | tap-windows-9.24. |
说明:
- 测试发现KylinV10SP1,SP2可以引导启动安装,但SP不能启动
- tap-windows不一定非得安装这个软件,安装别的软件也可以,只要能创建虚拟的网卡就可以。
二、步骤
- 安装Qemu软件
- 配置宿主机环境变量
- 安装虚拟网卡
- 使用qemu-img命令创建qemu虚拟机
- 使用qemu-system-aarch64命令安装kylin系统
- 使用qemu-system-aarch64命令启动kylin系统
- 在kylin系统中进行网络配置
1、安装qemu
将下载的资源包解压,双击运行“”,和安装应用程序一样。安装过程中请记住安装的路径,后续配置时需要用到。
2、配置宿主机环境变量
在左下角“搜索”框输入“高级系统设置”
、安装虚拟网卡
双击运行“tap-windows-9.24.”,安装虚拟网卡。安装完成后,网络连接里会出现一个“TAP-Winodws-Adapter V9”的本地连接网卡。
.1修改网卡的名称为tap0
注意:我这里修改为了tap0,其它的名称也可以,建议还是修改为tapXX这种形式,不要用中文名称。
.2共享物理网卡的网络
右击本地物理网卡--属性--共享
选中“允许其它网络通过此计算机的Internet连接来连接”复选框,“家庭网络连接”项选择刚才 新增加的网卡(且是修改过名字后的名称),选中“允许其它网络用户控制或禁用共享的 Internet连接”,确定即可。
4、使用qemu-img命令创建qemu虚拟机
打开cmd界面,为虚拟机创建目录并使用命令创建虚拟机
C:\Users\>mkdir D:\virtualmachines\qemu\kylinV10
C:\Users\>D:
D:\>cd D:\virtual-machines\qemu\kylinV10
D:\virtual-machines\qemu\kylinV10> create -f qcow2 kylindisk.qcow2 120G
Formatting kylindisk.qcow2 , fmt=qcow2 cluster_size=6556 extended_l2=off compression_type=zlib size=128849018880 lazy_refcounts=off refcount_bits=16
注意:镜像大小可以根据自己的需求进行修改。
命令运行完,会在指定的目录下生成kylindisk.qcow2的文件
5、使用qemu-system-aarch64命令安装kylin系统
将EFI文件拷贝到创建的镜像目录中(不拷贝也可以,使用-bios选项指定即可,拷贝是为了方便以后到该文件,防止不小心删除了该文件)。
在cmd界面中,使用命令安装麒麟操作系统
注意:执行命令时-net tap,ifname=tap0中的tap0请修改为前面步骤中自己修改后的网卡名称。-bios参数请更换为自己的路径。-drive if-none,file=xxx请更换为自己创建的镜像路径。-drive if=none,file=xxx/Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso请更换为自己的镜像路径。
D:\virtual-machines\qemu\kylinV10> -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios D:\virtualmachines\qemu\kylinv10\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=D:\virtualmachines\qemu\kylinv10\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=D:\virtualmachines\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net tap,ifname=tap0
主要参数说明:
-m 虚拟机内存的大小,单位是MB
-cpu cpu类型,可以使用qemu-system-aarch64 -M help命令查看支持的类型。
-bios 引导文件的路径
注意:此时千万别去关掉CMD的窗口!!!!!
别急,别急,千万别急,拖一下鼠标,等它飞一会儿才能到点都是可以接受的。安装的时候是很卡,但安装好后,使用是正常的。
6、使用qemu-system-aarch64命令启动kylin系统
D:\virtual-machines\qemu\kylinV10> -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios D:\virtualmachines\qemu\kylinV10\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=D:\virtualmachines\qemu\kylinV10\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -device virtio-scsi-device -net nic -net tap,ifname=tap0
注意:执行命令时-net tap,ifname=tap0中的tap0请修改为前面步骤中自己修改后的网卡名称。-bios参数请更换为自己的路径。-drive if-none,file=xxx请更换为自己创建的镜像路径。
7、在kylin系统中进行网络配置
查看宿主机网络:
在宿主机中查看刚才新增加的tap0网卡的IP地址,右键单击该网卡,选择“状态”>“详细信息。
如下图所示:
这里可以看到,我们在共享宿主机的网络后。tap0网卡的IP地址变为了192.168.17.1(这个地址即是虚拟机网络的网关地址),子网掩码是255.255.255.0。
在启动进入kylinV10虚拟机后,我们可以通过命令行或者图形界面配置网络地址
我们这里把IP地址设置为192.168.17.101,掩码为255.255.255.0,网关为192.68.17.1,DS为114.114.114.114。
这里可以按你自己的需要配置
注意:重启qemu虚拟机后,可能会出现无法连接外网
此问题是windows网络共享的问题,在宿主机种右键物理网卡,点击“属性”按钮,在弹出的界面中选择“共享”选项,先取消共享,点击确定后,再次选择共享即可。
三、设置SSH连接(作为服务器用,当然是在宿主机上用SSH工具来的舒服)
1、在KylinV10中开启SSH
安装完kylinV10系统后,默认是开启了SSH连接
[root@localhost ~]# systemctl status d
● d.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/d.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 202-09-14 08:54:56 CST; 41min ago
Docs: man:d(8)
man:d_config(5)
Main PID: 440 (d)
Tasks: 1
Memory: 21.8M
CGroup: /system.slice/d.service
└─440 d: /usr/sbin/d -D [listener] 0 of 10-100 startups
如果没有,请安装open
# 安装open
yum install open
# 启动d
systemctl start d
# 设为开机启动
systemctl enable d
在你的宿主机SSH工具中连接KylinV10
一般默认安装麒麟系统是带有图形界面的,如果你觉得会占用资源,可以禁用
systemctl isolate 切换为图形模式
systemctl isolate 切换为命令行模式
systemctl set-default 设置图形界面为默认模式
systemctl set-default 设置命令行模式为默认模式
当然,你也可以直接点:
执行 systemctl set-default 然后 reboot 重启就可以了。
哦,对了,还没确认硬件虚拟结果呢,来,上图
为避嫌,把宿主机桌面全截下来了
来来来,放大一点
四、收工,完结
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 12 条评论) |
本站网友 莲塘租房 | 23分钟前 发表 |
virtual box等)进行安装,因为这种类型的虚拟机软件只能安装和宿主机的CPU相同架构的系统 | |
本站网友 积分兑换方案 | 27分钟前 发表 |
二 | |
本站网友 苏宁易购和京东商城 | 23分钟前 发表 |
D | |
本站网友 朱张金 | 19分钟前 发表 |
哦,对了,还没确认硬件虚拟结果呢,来,上图 为避嫌,把宿主机桌面全截下来了 来来来,放大一点 四 | |
本站网友 千白氢醌乳膏 | 17分钟前 发表 |
.1修改网卡的名称为tap0 注意:我这里修改为了tap0,其它的名称也可以,建议还是修改为tapXX这种形式,不要用中文名称 | |
本站网友 青霉素v钾片价格 | 26分钟前 发表 |
D | |
本站网友 甲巯咪唑 | 21分钟前 发表 |
tap0网卡的IP地址变为了192.168.17.1(这个地址即是虚拟机网络的网关地址),子网掩码是255.255.255.0 | |
本站网友 煲汤药材 | 1分钟前 发表 |
测试所用资源宿主机配置I9/64G/2TB宿主机操作系统Windows 10 专业版Qemu软件麒麟高级服务器版Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso麒麟引导文件(EFI文件)QEMU_EFI.fd虚拟网卡软件tap-windows-9.24. 说明: 测试发现KylinV10SP1 | |
本站网友 阳西月亮湾 | 16分钟前 发表 |
active (running) since Thu 202-09-14 08 | |
本站网友 减肥有效方法 | 0秒前 发表 |
ifname=tap0 注意:执行命令时-net tap | |
本站网友 广州金马国旅 | 5分钟前 发表 |
d_config(5) Main PID |