利用vm/kvm启动ghost镜像

2024-03-26 08:38
文章标签 镜像 启动 vm kvm ghost

本文主要是介绍利用vm/kvm启动ghost镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2012年5月12日lenky发表评论阅读评论

目前,kvm还不能直接启动ghost镜像,因为qemu支持的磁盘格式里还没有包含ghost,不过可以看到qemu已经支持vmdk,而利用symantec ghost工具恰好又能将ghost镜像转换为vmdk格式,所以虽然有点扭曲,不过利用kvm启动ghost镜像还是可行的。
首先,下载symantec ghost 11.5以上版本,如果在windows 32位环境里,那么可以在cmd里执行如下命令:

d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.vmdk -batch -sure  

应该有人看得出来,ylmf.GHO是雨林木风的绝作,xp的ghost镜像,这里就以它为例。目标后缀必须是vmdk,貌似ghost32是以这个后缀名来做识别的。转换后的vmdk默认是ide接口的,可以通过使用-VMDKADAPTER=ide或-VMDKADAPTER=lsiLogic或-VMDKADAPTER=busLogic来指定具体接口类型,vmdk的大小也可以通过-VMDKSIZE=16384来指定(这里指定为16GB),更具体的参数可以使用如下命令查看:

d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.ide.vmdk -batch -sure -VMDKADAPTER=ide -VMDKSIZE=16384  d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.lsiLogic.vmdk -batch -sure -VMDKADAPTER=lsiLogic -VMDKSIZE=16384  d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.busLogic.vmdk -batch -sure -VMDKADAPTER=busLogic -VMDKSIZE=16384  d:\gqk>ghost32.exe /?  


结束后,自然将生成ylmf.vmdk,试试kvm启动的情况,把ylmf.vmdk拷贝到支持kvm的Linux机器上,执行:

[root@localhost ghost]# qemu-system-x86_64 -hda ylmf.vmdk -net none -m 1024 -daemonize -cpu host -smp 2 -vnc :1  

vnc远程连接查看,很不幸,在进行Windows XP安装时宕机了:


嘛,出现这种情况在所难免,不过试了试用VMware Workstation启动这个ylmf.vmdk,从安装到启动一切都OK:

可能是kvm虚拟硬件也许并不在ylmf.GHO支持之内,或其他什么原因就不过于去追踪了,不过这里至少可以看出利用这种方法是可以做到利用kvm启动ghost镜像的。
如果vmdk文件很大,可以利用qemu-img将其转换为qcow2格式,一般情况下,qcow2将会变小:

qemu-img convert ylmf.vmdk -O qcow2 ylmf.qcow2  

转载请保留地址:http://lenky.info/2012/05/12/%e5%88%a9%e7%94%a8vmkvm%e5%90%af%e5%8a%a8ghost%e9%95%9c%e5%83%8f/或 http://lenky.info/?p=1628


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来信讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

这篇关于利用vm/kvm启动ghost镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/847901

相关文章

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

Gradle在国内配置镜像加速的实现步骤

《Gradle在国内配置镜像加速的实现步骤》在国内使用Gradle构建项目时,最大的痛点就是依赖下载贼慢,甚至卡死,下面教你如何配置国内镜像加速Gradle下载依赖,主要是通过改写repositori... 目录引言一、修改 build.gradle 或 settings.gradle 的 reposito

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle