文章介绍:使用qemu工具将iso转成qcow2格式,同时可以把qcow2格式转成vmdk格式和raw格式,并且使用qemu可以把vmdk,qcow2,raw直接全部互转。
- iso:ISO映像是一种光盘的存档文件,是磁盘映像的类型之一,数据由一张光盘的每个扇区组成,这包括光盘的文件系统。ISO映像文件通常采用文件扩展名
.iso
。名称ISO取自用于CD-ROM介质的ISO 9660文件系统,但ISO映像也可包含DVD和蓝光光盘使用的UDF(ISO/IEC 13346)文件系统。 - qcow2:QEMU(quick emulator)是一款由法布里斯·贝拉(Fabrice Bellard)等人编写的通用且免费的可执行硬件虚拟化的(hardware virtualization)开源仿真器(Emulator)。
- raw:linux raw是原始数据格式,在linux中表示“裸设备”,也叫裸分区、原始分区;linux raw是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备;裸设备可以绑定一个分区,也可以绑定一个磁盘。
- vmdk:VMDK是一种文件格式,它描述了虚拟磁盘在VMware Workstation 和 VirtualBox等虚拟机中使用的容器。该格式最初是由 VMware 为其虚拟设备产品开发的,在VMDK 5.0版发布之后成为一种开放格式,是开放虚拟机格式文件中用于虚拟设备的磁盘格式之一。
一、准备工作
1、Ubuntu系统
2、ISO镜像
3、SSH工具
3.1、MobaXterm激活
二、iso转qcow2转raw
2.1、上传镜像
2.2、查看镜像
ls
2.3、安装依赖
sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
-
qemu:
- QEMU 是一个快速的处理器仿真器,允许你在一个不同的机器上运行为另一种机器制作的操作系统和程序(例如,在 ARM 板上运行)。
-
qemu-kvm:
- 带有 KVM(基于内核的虚拟机)支持的 QEMU。KVM 是一个启用硬件辅助虚拟化的 Linux 内核模块。
-
libvirt-daemon:
- Libvirt 是一个管理虚拟化平台的工具包。libvirt-daemon 软件包提供了核心守护进程(
libvirtd
),作为虚拟化平台和用户之间的管理接口。
- Libvirt 是一个管理虚拟化平台的工具包。libvirt-daemon 软件包提供了核心守护进程(
-
libvirt-clients:
- 此软件包提供用于与 libvirt 守护进程交互的命令行工具(
virsh
、virt-admin
等)。
- 此软件包提供用于与 libvirt 守护进程交互的命令行工具(
-
bridge-utils:
- Bridge-utils 提供了配置 Linux 以太网桥的实用工具。
-
virt-manager:
- 虚拟机管理器是一个桌面应用程序,提供了一个通过 libvirt 管理虚拟机的图形用户界面。
2.4、创建qcow2镜像
qemu-img create -f qcow2 vyos-1.3.5-amd64.qcow2 2G
create
:表示创建一个新的虚拟磁盘。-f qcow2
:指定创建的磁盘格式为 qcow2。vyos-1.3.5-amd64.qcow2
:是新创建虚拟磁盘的文件名。2G
:表示磁盘的大小为 2GB。
2.5、赋予执行权限
chmod +x /root/vyos-1.3.5-amd64.qcow2 /root/vyos-1.3.5-amd64.iso && chmod +x /root
2.6、创建虚拟机
virt-install --name vyos --ram 2048 --cdrom=/root/vyos-1.3.5-amd64.iso --disk path=/root/vyos-1.3.5-amd64.qcow2 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=Linux --os-variant=debian10 --check all=off
--name vyos
:指定虚拟机的名称为vyos
。--ram 2048
:分配给虚拟机的内存大小为 2048 MB。--cdrom=/root/vyos-1.3.5-amd64.iso
:指定虚拟机使用的 ISO 镜像文件为/root/vyos-1.3.5-amd64.iso
,这将作为虚拟机的安装介质。--disk path=/root/vyos-1.3.5-amd64.qcow2
:指定虚拟机的磁盘文件为/root/vyos-1.3.5-amd64.qcow2
。--graphics vnc,listen=0.0.0.0
:指定使用 VNC 图形界面,监听地址为0.0.0.0
,可以从外部访问。--noautoconsole
:禁止自动连接到控制台。--os-type=Linux
:指定虚拟机的操作系统类型为 Linux。--os-variant=debian10
:指定操作系统的变体,这里是 Debian 10。--check all=off
:禁用所有检查,通常在某些环境中可能需要关闭一些检查项。
2.7、查看虚机状态
virsh list
2.8、连接虚拟机
2.9、登录虚拟机
2.10、查看版本
show version
2.11、安装系统
install image
2.12、关闭系统
poweroff now
2.13、查看虚机状态
virsh list
2.14、启动新虚拟机
qemu-system-x86_64 -drive file=/root/vyos-1.3.5-amd64.qcow2,format=qcow2 -m 2048 -net nic -net user -vnc :0
qemu-system-x86_64 -drive file=/root/vyos-1.3.5-amd64.qcow2,format=qcow2 -m 2048 -net nic -net user -net nic -net user -vnc :0
-drive file=/root/vyos-1.3.5-amd64.qcow2,format=qcow2
:指定虚拟机使用的磁盘镜像文件和格式。-m 2048
:指定虚拟机的内存大小为 2048MB。-net nic -net user
:创建一个网络接口和用户模式网络连接。这使得虚拟机可以通过主机的网络进行通信。-vnc :0
:启用 VNC,允许通过 VNC 客户端连接到虚拟机。:0
表示使用默认的 VNC 端口。
2.15、查看默认配置
show conf com
2.16、制作qcow2镜像
2.16.1、进入配置模式
configure
2.16.2、删除多余配置
delete interfaces ethernet eth1 hw-id
delete system conntrack
delete system ntp
2.16.3、添加必要配置
set service ssh disable-host-validation
set service ssh port '22222'
set system console device hvc0
set system console device hvc1
set system console device ttyS1
commit
save
reboot now
2.16.4、重启进入虚机
configure
delete interfaces ethernet eth0 hw-id
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 address 'dhcpv6'
commit
save
run show conf com
2.16.5、关闭虚机完成制作
run poweroff now
2.17、qcow2转raw
qemu-img convert -f qcow2 vyos-1.3.5-amd64.qcow2 -O raw vyos-1.3.5-amd64.raw
-f qcow2
: 指定输入文件格式为QCOW2。vyos-1.3.5-amd64.qcow2
: 输入文件的名称。-O raw
: 指定输出文件格式为RAW。vyos-1.3.5-amd64.raw
: 输出文件的名称。
2.18、拷贝到本地
三、iso转vmdk转raw
3.1、qcow2转vmdk
qemu-img convert -p -f qcow2 -O vmdk vyos-1.3.5-amd64.qcow2 vyos-1.3.5-amd64.vmdk
-p
: 显示进度条。-f qcow2
: 指定输入文件格式为QCOW2。-O vmdk
: 指定输出文件格式为VMDK。vyos-1.3.5-amd64.qcow2
: 输入文件的名称。vyos-1.3.5-amd64.vmdk
: 输出文件的名称。
3.2、安装测试
3.3、vmdk转raw
qemu-img convert -p -f vmdk -O raw vyos-1.3.5-amd64.vmdk vyos-1.3.5-amd64.raw
-p
: 显示进度条。-f vmdk
: 指定输入文件格式为VMDK。-O raw
: 指定输出文件格式为RAW。vyos-1.3.5-amd64.vmdk
: 输入文件的名称。vyos-1.3.5-amd64.raw
: 输出文件的名称。