找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 3678|回复: 8

[Router OS] QEMU KVM虚拟机安装 RouterOS带授权镜像

[复制链接]
发表于 2024-3-1 23:55 | 显示全部楼层 |阅读模式
本帖最后由 lanlandezei 于 2024-3-2 08:05 编辑

硬件: 旧笔记本电脑
系统环境:Debian 12 安装 QEMU KVM 虚拟机
下载的镜像里面也有使用说明,包含了大部分虚拟机系统,PVE,VMware, ESXI,unRaid,VirtualBox
我比较喜欢用QEMU KVM 的虚拟机就尝试折腾下能否安装成功带授权的以后也买个多网口小主机来折腾,安装期间也遇到不少坑,启动镜像后一直是没有授权的。也尝试QEMU套娃安装了PVE在按说明安装RouterOS,用PVE是能成功启动好带授权的。后面查阅外网的资料,QEMU终于弄好启动后带授权了的。下面是过程。
1.创建虚拟机
我使用的 论坛里 [color=var(--link-color)]MikroTik-RouterOS-7.13永久L6授权 (支持各种ESXI PVE 2.5G i225 i226网卡直通) 这个镜像
下载解压出.vmdk的镜像上传到 /var/lib/libvirt/images/ 目录
在当前目录将镜像转换成.qcow2格式

  1. cd /var/lib/libvirt/images/
  2. qemu-img convert -p -f vmdk -O qcow2 ROS7-6G-disk1.vmdk ROS7-6G-disk1.qcow2
复制代码
输入virt-manager打开虚拟机管理器创建虚拟机,选择刚才转换的镜像。
芯片组选择: Q 35
因为在Virtual Machine Manager这个虚拟机管理器,Q35无法使用IDE总线类型启动会报错
所以磁盘总线选择 SATA 或者 SCSI
固件选择:OVMF

2.修改配置文件
在创建虚拟机界面,点击开始安装,确定能进入RouterOS系统登录界面后关机。
在 /etc/libvirt/qemu/目录会生成对应的虚拟机.xml 配置文件,拖到本地进行修改。
1.修改头部
将下面的头部
  1. <domain type='kvm'>
复制代码
修改为
  1. <domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">
复制代码
添加这个头部信息后,你可以在配置文件中使用一些特定于QEMU的选项,例如,可以通过<qemu:commandline>元素来传递一些特定的QEMU命令行参数
2.添加磁盘序列号和别名
给磁盘添加 serial序列号 和 alias别名
  1. <serial>00000000000000000001</serial>
  2.       <alias name='ua-mydisk'/>
复制代码
下面是我添加后的示例,`disk `块内就是磁盘信息
  1. <disk type='file' device='disk'>
  2.       <driver name='qemu' type='qcow2'/>
  3.       <source file='/var/lib/libvirt/images/Router/ROS7-6G-disk1.qcow2'/>
  4.       <target dev='sda' bus='sata'/>
  5.       <serial>00000000000000000001</serial>
  6.       <alias name='ua-mydisk'/>
  7.       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  8.     </disk>
复制代码
这是一个在libvirt的XML配置文件中定义虚拟机磁盘的部分。下面是每个元素的解释:
  • <disk type='file' device='disk'>:定义一个磁盘设备,其数据存储在一个文件中。
  • <driver name='qemu' type='qcow2'/>:指定使用QEMU作为驱动程序,磁盘镜像的格式为QCOW2。
  • <source file='/var/lib/libvirt/images/Router/ROS7-6G-disk1.qcow2'/>:指定磁盘镜像文件的路径。
  • <target dev='sda' bus='sata'/>:在虚拟机中,该磁盘设备将被识别为SATA总线上的sda设备。
  • <serial>00000000000000000001</serial>:磁盘的序列号。
  • <alias name='ua-mydisk'/>:设备的别名,这在libvirt的内部使用,可以用于更容易地识别设备。
  • <address type='drive' controller='0' bus='0' target='0' unit='0'/>:定义设备在虚拟机中的地址。这里,设备被连接到控制器0,总线0,目标0,单元0

3.使用QEMU命名空间来覆盖磁盘配置
在配置文件尾部devices 和 domain 之间添加下面的参数
  1. <qemu:override>
  2.     <qemu:device alias="ua-mydisk">
  3.         <qemu:frontend>
  4.             <qemu:property name="model" type="string" value="VMware Virtual IDE Hard Drive"/>
  5.         </qemu:frontend>
  6.     </qemu:device>
  7. </qemu:override>
复制代码
这是一个在libvirt的XML配置文件中使用QEMU命名空间来覆盖设备配置的部分。下面是每个元素的解释:
  • <qemuverride>:这个元素用于包含所有的设备覆盖配置。
  • <qemu:device alias='ua-mydisk'>:这个元素定义了一个设备覆盖,alias属性指定了要覆盖的设备的别名,这里是ua-mydisk。
  • <qemu:frontend>:这个元素用于包含设备的前端配置,也就是虚拟机看到的部分。
  • <qemu:property name='model' type='string' value='VMware Virtual IDE Hard Drive'/>:这个元素定义了一个设备属性的覆盖。name属性指定了要覆盖的属性的名称,这里是model;type属性指定了属性的类型,这里是string;value属性指定了属性的新值,这里是VMware Virtual IDE Hard Drive。
总的来说,这个配置将ua-mydisk设备的model属性覆盖为VMware Virtual IDE Hard Drive。这意味着在虚拟机中,这个设备将被识别为一个VMware的虚拟IDE硬盘驱动器。
4.上传修改后的配置
上传后在配置文件目录使用命令重新加载配置文件
  1. virsh define 虚拟机名称.xml
复制代码
执行后没有报错,启动虚拟机,显示带授权成功



之前一直尝试启动后没授权的原因是磁盘那里没有添加 alias 别名,所以磁盘那里的别名名称要和下面的qemuverride 配置中的qemu:device alias别名对上。
使用下面命令行启动虚拟机也可以启动带授权的
  1. qemu-system-x86_64 \
  2.     -m 1024 \
  3.     -smp 2 \
  4.     -enable-kvm \
  5.     -drive if=none,id=disk00,format=qcow2,file=/var/lib/libvirt/images/Router/ROS7-6G-disk1.qcow2 \
  6.     -device "ide-hd,drive=disk00,bus=ide.0,serial=00000000000000000001,model=VMware Virtual IDE Hard Drive" \
  7.     -nic tap \
  8.     -bios /usr/share/OVMF/OVMF_CODE.fd
复制代码


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2024-3-2 00:00 来自手机 | 显示全部楼层
要常来看看     
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-2 10:02 | 显示全部楼层
谢谢技术分享,有空照猫画老虎做做看。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-21 20:04 | 显示全部楼层
可以直接用virsh install 吗?
我的没有桌面
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-21 20:05 | 显示全部楼层
直接贴一下xml文件
defined
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-23 16:50 | 显示全部楼层
请问下
  1. <qemu:override>
复制代码

标签怎么define后没起作用?授权没有成功。

点评

知道了,qemu需要8.2版本以上。  详情 回复 发表于 2024-3-23 17:28
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-23 17:28 | 显示全部楼层
akacoder 发表于 2024-3-23 16:50
请问下
标签怎么define后没起作用?授权没有成功。

知道了,qemu需要8.2版本以上。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-8-8 17:18 | 显示全部楼层
神!正在折腾相同的组合呢,立马来试试看 ...
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-4-9 16:14 | 显示全部楼层
大哥,授权还是不行呢,启动虚拟机后,配置文件<qemuverride>就没了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-5-20 15:02

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表