无论您是尝试为不同的架构构建/测试软件,还是进行逆向工程/硬件黑客攻击,您经常会遇到需要为与您的 PC 提供的不同架构拥有构建/黑客攻击环境的需求。在这种情况下,您很可能希望为不同的架构虚拟化/模拟硬件,而不是购买真正的硬件。VirtualBox和VMWare等流行的虚拟化软件仅限于模拟主机架构的硬件,当您想安装不同架构的操作系统时,它们将不起作用。在这种情况下,QEMU 统治!
今天向大家介绍Windows环境下利用QEMU虚拟机制作麒麟国产操作系统ARM版的经验。大家可以提前体验信创操作系统,再确定是否购入。
一、准备工作
1.操作系统镜像:
pan.baidu.com/s/1NRzfg_69… 提取码: 383k
2.QEMU安装包:
pan.baidu.com/s/1cG75eWq-… 提取码: eg28
3.ARM架构的BIOS固件:
pan.baidu.com/s/1NRzfg_69… 提取码: 383k
另外你的电脑硬盘需有要100GB左右的磁盘空间,把操作系统ISO镜像和BIOS固件放到d:\soft目录下备用。
二、安装 QEMU
这个简单,下载完的QEMU程序双击运行,一路Next,英文看不懂也没关系,因为无关紧要。既然是手把手,就还是发下过程:
三、 创建虚拟磁盘
在完成QEMU的安装之后,如果你没有修改过安装路径,那么应该能在C:\Program Files\qemu目录下找到qemu-img.exe和qemu-system-aarch64.exe(注意是不带w的那个)这两个可执行文件,我们后面会用到。
现在我们命令提示符下打开C:\Program Files\qemu目录,像这样:
然后,输入命令:
qemu-img.exe create -f raw d:/QEMU/kylin_arm64.img 100G
注意,提前在D盘里创建QEMU文件夹。要不然出现未创建文件夹的错误信息。
QEMU文件夹命令提示符下利用MKdir命令或Windows环境下直接都可以建立。
到这一步,我们创建虚拟磁盘的步骤就完成了。
四、装麒麟系统
建议:在进行这一步之前,可以关闭各种杀毒软件,否则,你真的需要漫长的等待……
还是刚刚的控制台窗口,输入命令(太长建议直接复制)并回车:
qemu-system-aarch64.exe -m 4G -cpu cortex-a72 --accel tcg,thread=multi -M virt -bios d:\soft\QEMU_EFI.fd -rtc base=localtime -display sdl -device VGA -device nec-usb-xhci -device usb-tablet -device usb-kbd -drive if=virtio,file=d:\QEMU\kylin_arm64.img,id=hd0,format=raw,media=disk -drive if=none,file=d:\soft\Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom
此时应该能看到系统安装界面,必须在五秒钟之内通过键盘方向键选择“Install Kylin-Desktop V10-SP1”,按下回车,否则会进入预览模式,如果你不小心错过了,请关闭QEMU窗口并重新执行上面的步骤。注意,安装期间请勿关闭控制台窗口,否则虚拟机进程也会关闭,安装界面如下:
之后便是漫长的等待……期间可能会长时间黑屏,不要怀疑自己,请让它继续运行:
在经过5~20分钟左右的等待之后(时间取决于你的机器性能),你会看到下面的界面:
聪明的你应该无师自通一路点击下一步:
到了这一步,请设置足够复杂的密码,并用小本本记住它!否则无法点击下一步。
如果你不是Linux狂热爱好者或者有手工分区的需求,这一步默认全盘安装就好了,点击下一步:
格式化整个磁盘,然后点击开始安装(请放心,格式化的是虚拟磁盘,不是你藏了新建文件夹的电脑硬盘),之后便是更加漫长的等待:
在进度条走完之前,可以去打会儿游戏,这个过程大概需要30~60分钟:
恭喜你,到这一步,系统安装就完成了。无需点击“现在重启”按钮,直接关闭窗口即可。命令行窗口此时也可以安全关闭了。
五、虚拟机
启动脚本
为了简化虚拟机的启动,请把下面的命令(太长建议直接复制)保存为批处理文件keylin.bat,并放在d:\QEMU目录下,每次双击运行就可以启动虚拟机哦:
@echo off
"C:\Program Files\qemu\qemu-system-aarch64.exe" -m 8G -cpu cortex-a72 --accel tcg,thread=multi -M virt -bios d:\soft\QEMU_EFI.fd -rtc base=localtime -display sdl -device VGA -device nec-usb-xhci -device usb-tablet -device usb-kbd -drive if=virtio,file=d:\QEMU\kylin_arm64.img,id=hd0,format=raw,media=disk -net nic,model=virtio -net user,hostfwd=tcp::2222-:22
双击运行我们的启动脚本,然后你可能会看到防火墙的拦截提示,请勾选并点击允许访问:
系统启动过程中还会有一些初始化工作,请耐心等待。同安装的时候一样,在启动和使用期间,请勿关闭命令行窗口:
调节分辨率
进入系统后,默认分辨率太高,可能会有点卡顿,建议调成1024*768:
启动SSH服务
桌面右键选择“打开终端”,输入命令:
sudo systemctl restart ssh
远程连接
为了防止端口冲突,我们在启动脚本中将远程端口配置为2222端口转发,因此其他人通过SSH远程连接时需要使用2222端口,如果2222端口也跟其它应用程序冲突了,你可以修改脚本并按照你修改后的端口进行连接:
ssh -p 2222 coder@localhost
文件传输
有时候你可能需要在虚拟机和实体机之间传输文件,可以使用SCP命令:
scp -P 2222 本地文件路径 coder@localhost:~
scp -P 2222 -r coder@localhost:~ 本地文件路径
或者直接使用WinSCP工具:
信创开源资源,尽在XPlaza信创开源广场。