虚拟机镜像相关操作
来源:互联网 发布:命令行启动mysql服务 编辑:程序博客网 时间:2024/06/06 01:17
创建一个qcow2格式的镜像ubuntu.qcow2,大小为20G
qemu-img create -f qcow2 ubuntu.qcow2 20G
创建虚拟机:
qemu-kvm -smp 2 -m 1024 -hda ubuntu.qcow2 -cdrom ubuntu.iso
将镜像文件从qcow2格式转换为raw格式,因为fdisk不能直接查看qcow2格式的文件,所以需要将其转换成raw。mount同样也不能挂载qcow2格式镜像:
qemu-img convert -O raw ubuntu.qcow2 ubuntu.raw
查看镜像文件的分区:
losetup -f ubuntu.raw
losetup -a
/dev/loop2: [0811]:13897300 (~/kvm/image/ubuntu1204.qcow2)
fdisk -l /dev/loop2
Disk /dev/loop2: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074114
Device Boot Start End Blocks Id System
/dev/loop2p1 * 2048 18874367 9436160 83 Linux
/dev/loop2p2 18876414 20969471 1046529 5 Extended
/dev/loop2p5 18876416 20969471 1046528 82 Linux swap / Solaris
挂载ubuntu.raw镜像的一个分区
方法一:
mount -o loop ubuntu.raw /mnt #直接挂载会不行
mount: you must specify the filesystem type
mount -o loop,offset=1048576 ubuntu1204.raw /mnt #使用第一分区的偏移量2048*512=1048576挂载,成功
方法二:
kpartx -av ubuntu.raw
add map loop4p1 (252:0): 0 18872320 linear /dev/loop4 2048
add map loop4p2 (252:1): 0 2 linear /dev/loop4 18876414
add map loop4p5 : 0 2093056 linear /dev/loop4 18876416
mount /dev/mapper/loop4p1 /mnt #挂载第一分区
输出第一分区到镜像文件
dd if=/dev/mapper/loop4p1 of=ubuntusda1.raw
此时的分区镜像文件可以直接挂载:
mount ubuntusda1.raw /mnt
注意这种操作只有对raw格式的镜像文件可行,qcow2格式不可通过mount挂载。
使用guestfs对虚拟机镜像进行操作
guestfish --ro - i -a ubuntu.qcow2
进入guestfish的交互界面,可以执行:
ls / :查看/目录下面的文件
download file: 下载虚拟机镜像中的文件到本地磁盘中
inspect-os:指令获取该镜像中包含的操作系统版本
inspect-get-arch /dev/sda:获取虚拟机系统支持的CPU架构,如X86_64
guestfish支持的指令很丰富,功能齐全,可通过man guestfish查看。
Troubleshooting
1
guestfish --ro - i -a ubuntu.qcow2
libguestfs: error: /usr/bin/supermin-helper exited with error status 1.
解决方法:
update-guestfs-appliance
- 虚拟机镜像相关操作
- 【镜像相关】虚拟机、LIVECD及其他
- RedHat虚拟机相关操作
- 虚拟机镜像格式
- 虚拟机镜像文件
- ubuntu虚拟机镜像
- Hadoop虚拟机镜像
- 脚本实现虚拟机相关操作
- 上传虚拟机镜像-运行虚拟机实例
- GHOST镜像安装虚拟机
- 虚拟机镜像文件格式-raw
- 10.4 QCOW2虚拟机镜像
- 主要虚拟机镜像格式
- genymotion导入虚拟机镜像
- 虚拟机、虚拟驱动、镜像
- docker镜像操作
- docker镜像操作
- docker镜像操作
- 选择问题(线性时间复杂度)
- PHP开发框架
- 光耦参数
- Ubuntu12.04下samba配置与qt4.8.6安装
- ostream_iterator详细解析
- 虚拟机镜像相关操作
- 关于myeclipse安装extjs4.2提示插件spket遇到的一些问题及解决办法
- php记录日志方法
- IHttpModule.Init方法被执行多次的原因
- Android实例demo1之查看手机内存状态、时间数据大小格式化
- mysql查询表字段信息
- 数据结构之共享栈(顺序存储)—改编《大话数据结构》
- HDU 3896 Greast TC 倍增lca,dfn,low,fin的运用
- jpg/png格式图片转eps格式的方法总结