windows虚拟机安装arm(aarch64)服务器
一、背景
在日常运维工作过程中,往往会遇到信创的服务器,且不一定能连通外网。我们需要用一台能连外网的机器进行服务信创化,此时可以使用本地电脑通过虚拟机安装基于arm的硬件环境下的服务器。后续的应用可以通过这个环境打成docker镜像再迁移到正式的内网机器进行部署。项目用到的中间件也可以通过这个机器进行联网下载。
二、安装前准备
- qemu-w64-setup-20210505.exe (虚拟机)
- QEMU_EFI.fd (引导工具,bios)
- CentOS-7-aarch64-Minimal-2009.iso 镜像,可自行下载:https://mirrors.bfsu.edu.cn/centos-altarch/7/isos/aarch64/CentOS-7-aarch64-Minimal-2009.iso
- tap-windows-9.21.2.exe (虚拟机与宿主机建立通信的网卡)
三、安装步骤
3.1 创建虚拟机文件夹
比如在D盘创建文件夹:D:\qemu-machines\arm64-centos,将QEMU_EFI.fd引导工具拷贝放到该文件夹下。
3.2 安装qemu虚拟机
运行qemu-w64-setup-20210505.exe,进行安装,安装目录自定义,例如,D:\qemu
3.3 生成虚拟机硬盘文件
powershell
D:
cd qemu
# 此时进入到qemu的安装目录下,然后执行:
qemu-img create -f qcow2 D:\qemu-machines\arm64-centos\disk1.qcow2 40G
3.4 安装虚拟机
powershell
D:
cd qemu
# 此时进入到qemu的安装目录下,然后执行:
set disk=D:\qemu-machines\arm64-centos\disk1.qcow2 (硬盘文件路径)
set bios=D:\qemu-machines\arm64-centos\QEMU_EFI.fd (引导工具路径)
set iso=CentOS-7-aarch64-Minimal-2009.iso (操作系统镜像路径)
# 执行(可默认按照下方命令执行,参数不用改,这个执行命令只为安装操作系统):
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios %bios% -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=%disk%,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=%iso%,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22
执行完会自动弹窗按照vmware安装centos7一样的步骤安装即可。
3.5安装网卡,与本机网卡进行共享
1.安装tap-windows-9.21.2.exe后,网络适配器会增加一个网卡,我们需要手动改一下名称,这里改为"mytap"。
2.然后右键正在上网的网卡进入属性,然后点击共享,勾选页面上的两个"允许",然后家庭网络连接处,选择"mytap",最终点击确定。
3.6启动虚拟机
创建一个cmd文件: D:\qemu-machines\arm64-centos\start.cmd
内容如下:
powershell
d:
cd qemu
set disk=D:\qemu-machines\arm64-centos\disk1.qcow2
set cdrom=
set bios=D:\qemu-machines\arm64-centos\QEMU_EFI.fd
set cpus=cortex-a72 -smp 6,sockets=1,cores=6
set memorysize=10812
set netname=mytap
qemu-system-aarch64.exe -m %memorysize% -cpu %cpus% -M virt -bios %bios% -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=%disk%,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=%cdrom%,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net tap,ifname=%netname%
保存该start.cmd文件后,即可双击启动虚拟机。
四、查看系统版本 & 内核
bash
# 查看CPU详细信息,核心数、架构(会显示 aarch64)
cat /proc/cpuinfo
# 查看CPU总核心数
grep -c processor /proc/cpuinfo
# 查看架构(确认是arm64/aarch64)
uname -m