在virtualbox上使用cloud images云镜像
经过不断的研究,搜索资料,终于搞定了在virtualbox上使用cloud images云镜像。
一:准备材料
1、Virtualbox虚拟化环境。
可以在官网下载。也可以在清华镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/virtualbox/
2、cloud-init.iso(用于触发cloud-init)
3、cloud云镜像
下载地址可以看我的另一篇文章 在Proxmox VE pve里使用cloud-init 构建(centos\ubuntu\debian)cloud images
二:创建cloud-init.iso
这里需要一个linux系统来创建ISO。建议用ubuntu简单高效。
1、在一台ubuntu的机子上,安装cloud-image-utils
apt update && apt install cloud-image-utils -y
2、创建cloud-user-data。默认账号密码为root/rootroot
cat > cloud-init.cfg << EOF
#cloud-config
hostname: vm
manage_etc_hosts: true
user: root
disable_root: False
password: rootroot
chpasswd:
expire: False
EOF
写法规范见cloud-init官网https://cloudinit.readthedocs.io/en/latest/topics/examples.html
3、创建iso
cloud-localds cloud-init.iso cloud-init.cfg
4、将cloud-init.iso复制到virtualbox主机
在主机上,创建web服务,然后将iso复制到web根目录
apt install nginx -y
mv cloud-init.iso /var/www/html
在virtualbox主机上,下载cloud-init.iso
三:下载并导入cloud-images
这里下载一个centos8的镜像
在virtualbox的虚拟机介质管理器里,注册刚才下载的cloudimages和cloud-init.iso
并且点击复制,复制一个vdi格式的镜像
四:创建虚拟机
1、创建虚拟机, 硬盘选择刚才创建的vdi镜像。
2、修改配置文件
将磁盘控制器型号,设为virtio-scsi
在IDE控制器那里,添加虚拟光盘
修改网卡为桥接模式。芯片设置为virtio-net
添加一个串口(端口号为com1)。绝大部分云镜像需要个串口,所以需要中设置,设置为主机管道,路径为
\\.\pipe\comN (N为非0整数)如下图所示。
五:开启虚拟机
由于centos8引导的问题,只能在串口速率为15200查看。其他os,可以在引导界面,按e,查看速率是多少
这里使用putty,连接到串口\\.\pipe\com4。15200
在putty中,正在开机
成功开机,就会出现login页面。
六:centos8 云镜像关机之后,无法开机问题解决
centos8 包括8.1和8.2,在使用virtualbox之后,关机之后,再开机就会出现错误,找不到sysroot。
解决原理,看这个
CentOS8.1启动时出现Failed to start Switch Root错误如何解决?
本次解决办法为,
在这个页面,输入
mount /dev/sda1 /sysroot #挂载硬盘
exit #退出再启动
开机之后,
vi /boot/grub2/grubenv
将第一行#号前的乱码字符去掉,保存即可。
以后,就不会有问题了。
七:照此成功的镜像
centos7/8 opensuse debian ubuntu fedora均能成功
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/617.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
共有 0 条评论