Linuxword Global
当前位置: Linux技术 > OpenStack,学会自己制作,qcow2系统镜像

最近一段时间一直在研究OpenStack和Ceph的组合,把服务器集群给搭建了起来,也通过一些官方的Linux实例跑了起来。但是一直没有Windows 10的镜像,无奈,还是自己制作吧,毕竟也不是开源的系统,找不到也正常。(也不是懒得做,主要是手头的资源少)

说干就干!

一、环境准备

在VMware Workstation Pro 10上测试,采用CentOS7.0作为宿主机。要求有图形界面。VMware Workstation设置: d5dd3af2b567470abf1d898131ecd401tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_ 选择这个选项后,安装的速度会提高。

a5d8bb5e395b46d7afec5429dae7c761tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

如果Virtual Machine Management环境不具备,安装以下包

1.1安装kvm内核

yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64
复制代码

1.2安装virt管理工具

yum install libvirt.x86_64 libvirt-cim.x86_64

yum install libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64
复制代码

安装图形界面管理虚拟机(对于远程的被管理主机,可以不安装)

yum install virt-manager
yum install guestfish libguestfs-tools
复制代码

检查服务状态、启动服务

service libvirtd status
service libvirtd start
复制代码

1.3(略)使用ubuntu安装kvm

# 如果使用的系统是ubuntu,请使用下面的命令安装kvm。后续的制作镜像步骤雷同
sudo apt-get install qemu-kvm
sudo apt-get install qemu
sudo apt-get install virt-manager
sudo apt-get install virt-viewer 
sudo apt-get install libvirt-bin 
sudo apt-get install bridge-utils
复制代码

二、制作镜像

在系统工具中打开虚拟系统管理器

08d82a81f15d4a4fbd71f9a5f0aaea5etplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

点击该按钮创建虚拟机

d14d2bedb5e542709a78cd98f85583edtplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

选择本地安装介质

e92975ba2ed343dba105fc17fca50bdftplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

选择virtio-win-0.1.141.iso驱动文件作为ISO image

fe99eb489d3443fc942ac38276a78d22tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

系统的类型和版本选择win10

16c38f045ac647779dce01e4374da66ftplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

网络连接就默认。

选择虚拟机的配置,(这里的配置仅影响马上要新建的虚拟机,之后做成镜像上传后新建云虚拟机和他无关)一般2G内存 ,2个cpu够用了

1430b3a966ad46399b984e54fd05ced4tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

选择存放虚拟机的地方。Virt-manager给的默认位置是/var/lib/libvirt/images下。

1ef36c9437734dbea91318ee8335b824tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

点击“加号”创建新的存储卷

682b829152d04eb18225f8d84e630ec5tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

创建虚拟机文件的名字和容器格式,(一定要选择qcow2格式)空间20G,点击完成

4d585600280d4329a4952ae2305a6fe3tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

选择刚创建的存储卷,点击“选择卷”

4bca7e2618fe4acb8a22812493f9c4c6tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

eb9b71cf27b24418a212e1ed3fca08b8tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

自定义虚拟机的名字,勾选安装前自定义配置,选择网络NAT

9d892d391360455e8759d60bf823864dtplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

选择增加硬件,选择win10系统iso镜像的路径(注意之前一开始新建虚拟机用的iso镜像是驱动镜像)

d54cf36b6a9d48a1ab35410f06f3f109tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

03daa4c5901c4ecbb58ecb2816b08f80tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

设备类型选择CDROW设备,总线类型选择IDE

5c4640b0f28c47bdab96254354fae762tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

网卡(NIC)部分,网络源NAT,设备型号选择virtio,点击应用

a9f0a728084940ec809e7018b31d7c43tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

SATA磁盘,磁盘总线选择VirtIO,存储格式qcow2,点击应用

22f8c73ccff7419fb5549686cd0657d4tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

调整引导选项优先级,把系统镜像的cdrow调到最上面。点击应用。

28c134418b8a425f98722753e3977b47tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

记得前面配置硬件的对每个硬件的操作完成都要点击“应用”,检查配置无误后,点击左上角“开始安装”,开始装虚拟机系统

61b5d135bbb5498f948b88784d5a2f88tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

进入安装系统界面,一路点击“下一步”

dcb336c3d9f44dda8bdcd3e76a91b687tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

eb19215e393741c0b11a8a6d7cecde27tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

ce537021d4e54338a8a40c2940e1bbe1tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

这里系统没有发现磁盘,因为之前磁盘选的是virtio格式,而windows并不自带虚拟磁盘驱动,所以前面所述的virtio-win-0.1.141.iso文件派上用场。点击“加载驱动程序”

a4f7358ae76f4429a024d60701127822tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

点击“浏览”

eafe88487a8745189571e3cd39cd2bc0tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

选择驱动安装位置,CD驱动器 --> viostor --> W8.1 --> amd64 (64位系统对应的是amd64,32位系统对应x86)

45ac15de57e441abbe3adadd3b975c71tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

95d65b074bed4195afe0e36de6938a05tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

安装驱动 “Red HatVirtIO SCSI ...”(磁盘驱动)

313a6b61f5bd41d19802844f0124c84dtplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

发现驱动装好,磁盘被正确识别。点击“下一步”

5aa595deafab407c81c1adfb7410e654tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

系统开始安装

c981e117de1f4f8396febc44098782e8tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

cdf93e24016344fca1d91c123b707527tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

设置用户名、密码等一系列系统信息

26b012d93e3b45a9994cee94104e6d3ctplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

bc5aaad5234a4ba3a240b7ea2d444eb8tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

408fd42dde2b4a5a8d129e8a2a329db1tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

安装完系统后,由于网卡驱动还没装,所以不能上网。右键计算机->属性->进入设备管理器。选择带有黄色警告标示的网卡(图中名为“以太网控制器”)。右键属性,选择“更新驱动程序”。

6b1b05c0ad094dd3afc928536f3252c2tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

e38b7a57d7414ddfbff0584b0c59f9f4tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

4186af159d0b4555b6461e6748970138tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

2ea1c433df7347d09bcb8bd7bdc0886btplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

a4a543132a34499b99c8c54725b5af0btplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

91fffce1c2c44e7783a0226655d0b86atplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

25、驱动成功安装,看到虚拟机能联网就大功告成,按照相同方法安装剩余的两个PCI驱动

b9a55df3a59f4008b93f665614052edatplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

26、驱动安装完成,镜像制作完成,关机进行镜像文件的压缩处理

616ad65456e74e49883edf1a06409d19tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

三、镜像处理

b800edd7e0f2475e89d0d09af066f501tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

(文件所显示的大小,与实际的占用空间不一致,实际占用小,但是拷贝到windows中占用空间为文件大小)

3.1 压缩镜像

用图形界面的虚拟机管理器制作的Windows镜像,文件大小即为新建虚拟机定义的磁盘大小,如果要c盘40G的话,生成的镜像文件就是40G大小,需要压缩后再上传。40G大小压缩后3G。

virt-sparsify --compress --convert qcow2 /var/lib/libvirt/images/ Windows10.qcow2 /var/lib/libvirt/images/ Windows10.qcow2
复制代码

(该命令包含在包里guestfish libguestfs-tools)

上面命令压缩未成功,使用下面命令压缩

qemu-img convert -c -O qcow2 /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/Windows10.qcow2

复制代码

四、附录:

4.1 改变镜像文件大小

1、qemu-img resize命令 这个命令需要注意数据的备份,下面是转化的例子。 (该命令增加了D盘,并未将C盘增大)

qemu-img resize Windows10. qcow2 +5GB
复制代码

查询调整情况

qemu-img info Windows10. qcow2
复制代码

2、virt-resize命令

(通过该命令实现 镜像文件大小的调整,注意:针对根分区或c盘分区的扩大,解决不同C盘大小,多次安装操作系统做镜像的问题;) 查看分区情况(也许和你想的不一样)

[root@localhost ~]# virt-filesystems** --long -h --all -a /root/ Windows10-imange.qcow2

Name    Type    VFS  Label     MBR Size Parent
/dev/sda1 filesystem ntfs 系统保留 -  100M -
/dev/sda2 filesystem ntfs -       -  20G  -
/dev/sda1 partition  -   -       07  100M /dev/sda
/dev/sda2 partition  -   -       07  20G  /dev/sda
/dev/sda  device   -   -       -  20G  -

复制代码

把qcow2格式的磁盘镜像转成raw

qemu-img convert -f qcow2 -O raw Windows10-imange.qcow2 Windows10-imange.raw
复制代码

利用truncate创建一个新的文件,大小比centos2.raw大5G

truncate -r Windows10-imange.raw Windows10-imange30g.raw
truncate -s +5G Windows10-imange30g.raw

复制代码

开始调整

virt-resize --expand /dev/sda2 Windows10-imange.raw Windows10-imange30g.raw
virt-resize --expand /dev/sda2 Windows10-imange.raw Windows10-imange30g.raw
复制代码

调整完后转回qcow2格式

qemu-img convert -f raw -O qcow2 Windows10-imange30g.raw Windows10-imange30g.qcow2
复制代码

系统管理中c盘增大了,但资源管理器中c盘没变。 登录windows 10 系统;

Cmd:>chkdsk c:/f
复制代码

c26883de89d04400a6e4918aaf9087edtplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

转换文件格式 ---Convert disk image to disk image

virt-v2v -i disk disk.img -o local -os /var/tmp
复制代码

结尾

最后分享我制作的qcow2的windows 10 镜像。如果需要上文中的virtio-win-*.iso文件或我已经制作好的windows 10系统镜像,请联系我获取! b228b5fb4c8d472f872f961bf39f72d1tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.awebp_

 

作者:运维贼船
链接:https://juejin.cn/post/7084988831102926879
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2341 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 6112 个
  • 注册用户: 139 人
  • 访问总量: 8,662,588 次
  • 最近更新: 2024年4月28日