前言
该笔记旨在梳理,或许有更简单方便的方法,也或许我的方法是笨方法
windows镜像制作
先梳理步骤:镜像安装->驱动安装->格式转换
镜像安装
按自己的需求安装虚拟机并提前下好驱动镜像
驱动安装
虚拟机磁盘IDE挂载驱动iso
添加设备
这里选择手动安装,选择磁盘安装
在viostor文件夹中选择对应版本的镜像
镜像下载:
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
安装one-context(一路默认)
https://github.com/OpenNebula/addon-context-windows/releases/download/v5.4.1/one-context-5.4.1.msi
格式转换
将要制作的虚拟机克隆
打开VMWARE所在文件夹,找到vmware-vdiskmanager.exe,并且找到克隆的文件"xxx 64 位-cl1.vmdk"
vmware-vdiskmanager.exe -r "D:\xxx\新建文件夹\xxx 64 位-cl1.vmdk" -t 0 "D:\xxx\新建文件夹 \all.vmdk"
在该目录下打开cmd命令行(win+r)使用该命令整合vmdk文件,并在D:\xxx\新建文件夹 路径下生成all.vmdk文件
使用qemu.exe转换成qcow2格式
qemu-img.exe convert -p -f vmdk -O qcow2 "D:\xxx\新建文件夹\all.vmdk" "D:\xxx\新建文件夹\ubuntu22.04.qcow2"
同样,来到qemu.exe的文件目录下打开cmd命令行,执行命令,将前面生成的all.vmdk文件转换为我们需要的qcow2文件即可
linux镜像制作
CentOS 6/RHEL 6.*
wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.4.2.1/one-context-5.4.2.1-1.el6.noarch.rpm
yum install -y epel-release
yum install -y one-context-*rpm
CentOS 7/RHEL 7.*
wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.4.2.1/one-context-5.4.2.1-1.el7.noarch.rpm
yum install -y epel-release
yum install -y one-context-*rpm
Debian/Ubuntu
wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.4.2.1/one-context_5.4.2.1-1.deb
apt-get purge -y cloud-init
dpkg -i one-context_*deb || apt-get install -fy
使用dockerfile 创建
# 使用centos 7作为基础镜像
FROM centos:7
# 安装OpenSSH服务器
RUN yum -y install openssh-server
# 设置root用户密码为asdfzxcv
RUN echo 'root:asdfzxcv' | chpasswd
# 配置SSH服务器以允许密码登录
RUN sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# 生成SSH密钥
RUN ssh-keygen -A
# 启用SSH服务的开机自启动
RUN systemctl enable sshd
# 暴露SSH端口
EXPOSE 22
# 启动SSH服务
CMD ["/usr/sbin/sshd", "-D"]