以 Windows Server 2019 Datacenter 为例制作自己的 EVE-NG 镜像,Linux镜像的制作方式基本相同。
本地EVE版本是5.0.1-13
。
- 首先通过SSH进入EVE的shell,然后将目录切换到如下目录:
1
| /opt/unetlab/addons/qemu/
|
EVE当前的所有镜像都存放于此。 - 创建镜像文件夹,命名规则参考qemu-image-namings
我这里创建的是Windows Server 2019 Datacenter,所以文件夹名就是:1
| mkdir winserver-S2019-R2-x64-cn
|
EVE会根据文件夹名(镜像名)判断启动命令和模板,务必按照正确的系统名称命名文件夹。 - 回到EVE,选择“Add an object”-“Node”,Template选择“Windows Server”,然后在Image中查看是否有刚才创建的文件夹名如果有就可以点取消下一步了。
- 进入到刚才创建的文件夹,然后创建磁盘。磁盘命名详见qemu-image-namings
1 2
| cd winserver-S2019-R2-x64-cn /opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 128G
|
第二条命令的文件名可以写sataa.qcow2
,这样不用在安装系统时加载驱动;最后一个参数是磁盘大小,可自由调整。
EVE会根据磁盘名判断挂载点和挂载设备,选错了可能导致无法启动。 - 将系统的iso上传到和刚创建的硬盘镜像同目录下,并命名为
cdrom.iso
(不可改名)。 - 回到EVE,选择“Add an object”-“Node”,Template选择“Windows Server”,镜像选择刚创建好的文件夹名。如果需要连接外网再添加一个Cloud(Network)并连接到刚创建的Node上。启动Node。
- 使用VNC(推荐使用Native Console,它自带那H5 Console没找到怎么按Ctrl+Alt+Del)登录到Node,正常安装系统和软件。
- 回到EVE,左侧栏选择“Lab Detail”,记下里面的ID。
- 回到Shell,切换到如下文件夹:
1
| cd /opt/unetlab/tmp/0/<Lab ID>
|
把里面的Lab ID
换成你自己的,然后回到EVE,左侧栏选择“Nodes”,在弹出来的对话框中找到你刚创建的镜像名的那行,然后记下那行最左侧的ID,直接cd进去可以看一下里面应该会有你刚才创建的镜像名,这个就是你现在的系统盘。1 2 3 4 5 6 7 8 9 10 11 12 13
| root@eve-ng:/opt/unetlab/tmp/0/db340c20-987c-49b2-9d58-4234c92db1cf/10# ls -la total 14197436 drwxrwsr-x 5 root unl 4096 May 20 09:30 . drwxrwsr-x 12 root unl 4096 May 20 09:30 .. drwxr-sr-x 3 root root 4096 Jul 16 2022 dev drwxr-xr-x 5 root root 4096 May 23 2022 jail lrwxrwxrwx 1 root root 8 May 3 2022 lib -> jail/lib lrwxrwxrwx 1 root root 10 May 3 2022 lib64 -> jail/lib64 drwxr-sr-x 14 root root 4096 May 23 2022 opt -rw-rw-r-- 1 root unl 0 May 20 09:32 .prepared -rw-r--r-- 1 root unl 14536605696 May 20 16:05 sataa.qcow2 lrwxrwxrwx 1 root root 8 May 3 2022 usr -> jail/usr -rw-rw-r-- 1 root unl 0 May 20 09:32 wrapper.txt
|
- 压缩镜像并提交更改至源镜像:
1
| /opt/qemu/bin/qemu-img convert -c- O qcow2 sataa.qcow2 /opt/unetlab/addons/qemu/winserver-S2019-R2-x64-cn/sataa.qcow2
|
稍等片刻等待镜像转换完成就算结束了。