qemukvm源码解析与应用 pdf(手动安装kvm软件包必须包括)

2026-05-16 17:15:02 :0

qemukvm源码解析与应用 pdf(手动安装kvm软件包必须包括)

本篇文章给大家谈谈qemukvm源码解析与应用 pdf,以及手动安装kvm软件包必须包括对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

手动安装kvm软件包必须包括

你好,你是想问手动安装kvm软件包必须包括什么东西吗?手动安装kvm软件包必须包括的东西如下:
1、KVM内核模块:您需要安装适用于您的操作系统的KVM内核模块,这是KVM虚拟化的核心组件。
2、QEMU(QuickEmulator):QEMU是一个开源的虚拟机监视器和仿真器,它与KVM结合使用以提供完整的虚拟化功能。您需要安装QEMU软件包。
3、libvirt:libvirt是一个用于管理虚拟化平台的库和工具集。它提供了一个统一的接口,用于管理和控制KVM虚拟机。您需要安装libvirt软件包。

QEMU/KVM查看虚拟机系统注册表的方法

libguestfs-tools套件提供了一个基于QEMU的磁盘映像去查找这个磁盘映像中安装的Windows操作系统的具体注册表信息,甚至是进行改动(当然不安全,目前可能不成熟,可能损坏映像文件)。
这个套件目前我只在centos和redhat的虚拟化环境中找到了,具体安装方法很简单:
复制代码
  
代码如下:
yum install libguestfs libguestfs-tools libguestfs-winsupport
安装完成之后,使用virt-win-reg既可以对已经安装操作系统的虚拟机映像文件进行注册表的读取操作,不过要注意的是目前只推荐在虚拟机停止状态下获取注册表的信息,如果在启动模式下获取注册表或者修改注册表信息都可能导致虚拟机映像文件损坏。
具体使用方法如下:
复制代码
  
代码如下:
virt-win-reg win9-clone ’HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Uninstall’
其中win9-clone是虚拟机的名字,可以通过libvirt的virsh list –all命令查询得出,不过一定确保虚拟机已经是停止的状态,否则可能造成磁盘损坏。
上面的命令最终执行的结果如下:
复制代码
  
代码如下:
  @=hex(1):00,00/pp
  "QuietUninstallString"=hex(1):52,00,75,00,6e,00,64,00,6c,00,6c,00,33,00,32,00,20,00,49,00,65,00,64,00,6b,00,43,00,53,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,42,00,72,00,61,00,6e,00,64,00,43,00,6c,00,65,00,61,00,6e,00,49,00,6e,00,73,00,74,00,61,00,6c,00,6c,00,53,00,74,00,75,00,62,00,73,00,00,00
  "RequiresIESysFile"=hex(1):31,00,30,00,30,00,2e,00,30,00,00,00/pp
  "SystemComponent"=dword:00000001/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  @=hex(1):00,00/pp
  "RequiresIESysFile"=hex(1):34,00,2e,00,37,00,31,00,00,00/pp
  @=hex(1):00,00/pp
  "QuietUninstallString"=hex(1):72,00,75,00,6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,73,00,65,00,74,00,75,00,70,00,61,00,70,00,69,00,2e,00,64,00,6c,00,6c,00,2c,00,49,00,6e,00,73,00,74,00,61,00,6c,00,6c,00,48,00,69,00,6e,00,66,00,53,00,65,00,63,00,74,00,69,00,6f,00,6e,00,20,00,44,00,65,00,66,00,61,00,75,00,6c,00,74,00,55,00,6e,00,69,00,6e,00,73,00,74,00,61,00,6c,00,6c,00,20,00,31,00,33,00,32,00,20,00,43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,49,00,4e,00,46,00,5c,00,50,00,43,00,48,00,65,00,61,00,6c,00,74,00,68,00,2e,00,69,00,6e,00,66,00,00,00
  "UninstallString"=hex(1):72,00,75,00,6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,73,00,65,00,74,00,75,00,70,00,61,00,70,00,69,00,2e,00,64,00,6c,00,6c,00,2c,00,49,00,6e,00,73,00,74,00,61,00,6c,00,6c,00,48,00,69,00,6e,00,66,00,53,00,65,00,63,00,74,00,69,00,6f,00,6e,00,20,00,44,00,65,00,66,00,61,00,75,00,6c,00,74,00,55,00,6e,00,69,00,6e,00,73,00,74,00,61,00,6c,00,6c,00,20,00,31,00,33,00,32,00,20,00,43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,49,00,4e,00,46,00,5c,00,50,00,43,00,48,00,65,00,61,00,6c,00,74,00,68,00,2e,00,69,00,6e,00,66,00,00,00/pp
  @=hex(1):00,00
该命令的其他用法可以使用man virt-win-reg获取相关帮助信息,用法还是很多的哦

KVM虚拟机的安装方法

一、安装准备
1.确定机器有VT
终端输入命令: grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生产厂商则输入:egrep ’(vmx|svm)’ /proc/cpuinfo
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
2. 确保BIOS里开启VT
Intel(R) Virtualization Tech
如有必要,还需在BIOS中开启VT-d
3. 确保内核版本较新,支持KVM
用uname –r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
二、安装KVM
下面就Ubuntu和CentOS下安装使用KVM虚拟机做介绍:
Ubuntu 中用guest登陆,安装KVM的命令为:
sudo apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source kqemu-source build-essential
kvm安装成功后会有/dev/kvm,如果无需图形管理器,只需要安装前三个即可。
再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
如果输入结果像下面这样的,那么成功了:
Connecting to uri: qemu:///system
Id Name State
----------------------------------
注1:CentOS中安装时,先要选择Selinux为enable,使用命令
#system-config-securitylevel-tui
可查看或修改selinux的状态。
注2: CentOS中用root登陆时则安装命令为:
yum install kvm kmod-kvm qemu
再装入kvm模块:modprobe kvm-intel (Intel机器) 或者 modprobe kvm-amd (amd机器)
注3:可以用以下命令来检查是否装入kvm模块:
/sbin/lsmod | grep kvm
如果输出关于kvm版本的信息则已装入kvm模块
注4: 安装好后,可使用qemu-kvm命令,输入该命令,如果系统显示未知的命令,可查看/usr/libexec中是否有qemu-kvm可执行文件,如果有,将其拷贝到/bin目录下即可。如果确实按照上面的步骤进行了,却在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm可执行文件,可执行以下命令:
#yum provides */qemu-kvm
注5:安装新内核后,可能有部分软件版本过低,不兼容。比如firefox因版本过低,无法启动。
CentOS下可使用如下命令更新该软件(以firefox为例):
#yum update firefox
三、在KVM下安装虚拟机
1.用QEMU创建磁盘镜像
sudo qemu-img create –f qcow windows.img 8G
注:在CentOS和新版Qemu中为:qemu-img create –f qcow2 windows.img 8G
2.使用KVM安装Guest VM
光盘安装:
sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img
硬盘安装:
sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi
注:官方推荐使用 -no-acpi 参数,原因是 qemu/kvm不太支持,可能造成 cpu 的占用偏高。
注1:CentOS下硬盘安装为 qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –no-acpi 即需要去掉了-clock rtc选项,否则会出现无法初始化时钟。
注2:CentOS quest mouse: export SDL_VIDEO_X11_DGAMOUSE=0可解决VM中无法识别USB鼠标的问题。
注3: 安装win 7时,不能使用-no-acpi选项。

KVM之二:KVM工具简介一:virt-manager,virt-viewer,virt-convert,qemu-img

下篇预告: KVM工具简介二: virt-install

l virt-manager介绍:

在第一篇已经提到过virt-manager, 使用了virt-manager来创建虚拟机。

virt-manager是一套虚拟机的桌面管理器,像VMware的vCenter和xenCenter差不多,工具提供了虚拟机管理的基本功能,如开机,挂起,重启,关机,强制关机/重启,迁移等,并且可以进入虚拟机图形界面进行操作。该工具还可以管理各种存储以及网络方面。

Ø 命令用法:

l virt-viewer介绍:

virt-viewer是一个最小化的虚拟机图形界面展示工具,支持VNC 和SPICE两种远程协议。virt-viewer使用十分简单。

Ø 命令用法:

l virt-convert 介绍:

virt-convert可以OVF或VMX文件转换为KVM的支持格式。默认转换是”raw”。这个工具主要是实现v2v,将现用的VM打包并导入新的KVM环境。

Ø 选项:

Ø 举例:

l qemu-img介绍:

关于转换还有一个常用的工具: qemu-img 。qemu-img是QEMU的磁盘管理工具,在KVM环境中该工具必不可少。与上面的 virt-convert 不同,qemu-img是使用在磁盘类型的转换。

Ø 命令用法:

Ø 命令及选项:

用于创建一个格式为fmt大小为size文件名为filename的镜像文件。根据文件格式fmt的不同,还可以添加一个或多个选项(options)来附加对该文件的各种功能设置,可以使用“-o ?”来查询某种格式文件支持那些选项,在“-o”选项中各个选项用逗号来分隔。

Ø 举例:

创建一个raw格式,10G的文件。

以test.raw为后端镜像,创建一个qcow2文件。

//有没发现test.qcow2的文件大小并没有10G?

因为指定了后端镜像,新建的镜像只会记录与后端镜像差异,除非你使用了qemu-img commit提交。

b. convert

output_filename

***隐藏网址***

-c:采用压缩,只有qcow和qcow2才支持

-f:源镜像的格式,它会自动检测,所以省略之

-O 目标镜像的格式

-o 其他选先

fname:源文件

out_fname:转化后的文件

Ø 举例:

c. check filename

对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持对“qcow2”、“qed”、“vdi”格式文件的检查。

Ø 举例:

d. Resize filename size

改变镜像文件的大小,使其不同于创建之时的大小。“+”和“-”分别表示增加和减少镜像文件的大小,而size也是支持K、M、G、T等单位的使用。缩小镜像的大小之前,需要在客户机中保证里面的文件系统有空余空间,否则会数据丢失,另外,qcow2格式文件不支持缩小镜像的操作。在增加了镜像文件大小后,也需启动客户机到里面去应用“fdisk”、“parted”等分区工具进行相应的操作才能真正让客户机使用到增加后的镜像空间。不过使用resize命令时需要小心(最好做好备份),如果失败的话,可能会导致镜像文件无法正常使用而造成数据丢失。注意:只有raw格式的镜像才可以改变大小。

Ø 举例:

e. Snapshot filename

-l: 选项是查询并列出镜像文件中的所有快照,

-a snapshot: 是让镜像文件使用某个快照,

-c snapshot: 是创建一个快照,

-d: 是删除一个快照。

Ø 举例:

查看快照:

注意:只有qcow2才支持快照

做快照:

qemu-kvm源码分析一个虚拟机进程里面有几个线程

线程大家都熟悉,new Thread().start()即会创建一个线程,这里我首先指出一点new Thread()其实并不会创建一个真正的线程,只有在调用了start方法之后才会创建一个线程,这个大家分析下Java代码就知道了
Thread的构造函数是纯Java代码,start方法会调到一个native方法start0里,而start0其实就是JVM_StartThread这个方法!

CentOS 7上安装qemu kvm进行虚拟化

egrep -o ’(vmx|svm)’ /proc/cpuinfo

yum groupinstall "Virtualization Host" 

yum install qemu-kvm qemu-img virt-manager libvirt virt-install virt-viewer 

qemu-kvm:qemu模拟器

qemu-img:qemu磁盘image管理器

virt-install:用来创建虚拟机的命令行工具

libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor

virt-viewer:图形控制台

virt-manager:图形实用程序

开机启动libvirt

systemctl enable libvirtd

启动libvirt

systemctl start libvirtd

启动状态

systemctl status libvirtd

yum install virt-install

yum install virt-manager

参考

***隐藏网址***

***隐藏网址***

以上就是我们为大家找到的有关“qemukvm源码解析与应用 pdf(手动安装kvm软件包必须包括)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

qemukvm源码解析与应用 pdf(手动安装kvm软件包必须包括)

本文编辑:admin

更多文章:


如何用anaconda打开python3(怎样打开anacondapython)

如何用anaconda打开python3(怎样打开anacondapython)

本篇文章给大家谈谈如何用anaconda打开python3,以及怎样打开anacondapython对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录怎样打开anacondapythonanaconda怎么切换python2和p

2026年7月20日 14:00

linux修改ip配置文件(如何修改LINUX的IP地址、网关和主机名)

linux修改ip配置文件(如何修改LINUX的IP地址、网关和主机名)

这篇文章给大家聊聊关于linux修改ip配置文件,以及如何修改LINUX的IP地址、网关和主机名对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录如何修改LINUX的IP地址、网关和主机名如何在linux虚拟机修改ip地址如何在

2026年2月9日 14:15

python属于汇编语言吗(计算机语言分为几种呀)

python属于汇编语言吗(计算机语言分为几种呀)

各位老铁们好,相信很多人对python属于汇编语言吗都不是特别的了解,因此呢,今天就来为大家分享下关于python属于汇编语言吗以及计算机语言分为几种呀的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录计算机语言分

2026年2月24日 12:45

激光切割机电脑编程好学吗(学习激光打标机和激光切割机 要学习什么)

激光切割机电脑编程好学吗(学习激光打标机和激光切割机 要学习什么)

本篇文章给大家谈谈激光切割机电脑编程好学吗,以及学习激光打标机和激光切割机 要学习什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录学习激光打标机和激光切割机 要学习什么数控激光切割机使用容易吗激光切割机编程好学吗前途怎么样

2025年12月27日 04:45

教学视频 英文(谢孟媛 英语视频教学,知道的进来下)

教学视频 英文(谢孟媛 英语视频教学,知道的进来下)

这篇文章给大家聊聊关于教学视频 英文,以及谢孟媛 英语视频教学,知道的进来下对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录谢孟媛 英语视频教学,知道的进来下有什么好的英语教学视频英文字母26个发音及读法教学视频谢孟媛 英语视

2025年6月15日 10:45

htmlcss是什么语言(css和html的区别)

htmlcss是什么语言(css和html的区别)

大家好,今天小编来为大家解答以下的问题,关于htmlcss是什么语言,css和html的区别这个很多人还不知道,现在让我们一起来看看吧!本文目录css和html的区别什么是HTML+CSSHTML+CSS是什么意思CSS是什么和HTML有什

2026年1月13日 00:45

怎样制作模板 教程(ppt模板的设计-如何制作ppt模板教程)

怎样制作模板 教程(ppt模板的设计-如何制作ppt模板教程)

各位老铁们,大家好,今天由我来为大家分享怎样制作模板 教程,以及ppt模板的设计-如何制作ppt模板教程的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文

2026年7月25日 12:15

findfirstfile函数(FindFirstFile查找文件,使用通配符问题)

findfirstfile函数(FindFirstFile查找文件,使用通配符问题)

各位老铁们,大家好,今天由我来为大家分享findfirstfile函数,以及FindFirstFile查找文件,使用通配符问题的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈

2026年1月6日 13:45

分布式数据库原理与应用(分布式数据库的工作原理是什么)

分布式数据库原理与应用(分布式数据库的工作原理是什么)

本篇文章给大家谈谈分布式数据库原理与应用,以及分布式数据库的工作原理是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录分布式数据库的工作原理是什么快速了解分布式数据库的主要特点分布式数据库的工作原理是什么(分布式数据库的特

2025年9月13日 10:15

个人简历样板手机可编辑(报名表的个人简历模版)

个人简历样板手机可编辑(报名表的个人简历模版)

大家好,关于个人简历样板手机可编辑很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于报名表的个人简历模版的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录报

2026年1月20日 14:45

admit permit(admit和permit的区别)

admit permit(admit和permit的区别)

本篇文章给大家谈谈admit permit,以及admit和permit的区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录admit和permit的区别allow permit promise admit let 有什么区

2025年12月17日 04:45

在线代理服务器web(网页代理怎么搞的呀)

在线代理服务器web(网页代理怎么搞的呀)

大家好,关于在线代理服务器web很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于网页代理怎么搞的呀的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录网页代

2026年3月20日 07:30

responsibility缩写(csr是什么意思 对企业有什么意义)

responsibility缩写(csr是什么意思 对企业有什么意义)

各位老铁们好,相信很多人对responsibility缩写都不是特别的了解,因此呢,今天就来为大家分享下关于responsibility缩写以及csr是什么意思 对企业有什么意义的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看

2026年5月8日 21:45

eclipse安装失败 show log(eclipse安装出现错误日志)

eclipse安装失败 show log(eclipse安装出现错误日志)

这篇文章给大家聊聊关于eclipse安装失败 show log,以及eclipse安装出现错误日志对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录eclipse安装出现错误日志eclipse启动失败An error has o

2025年7月11日 03:15

java 字符串拼接(java调用方法可不可以拼接字符串)

java 字符串拼接(java调用方法可不可以拼接字符串)

其实java 字符串拼接的问题并不复杂,但是又很多的朋友都不太了解java调用方法可不可以拼接字符串,因此呢,今天小编就来为大家分享java 字符串拼接的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录java调用

2025年10月2日 21:45

vlookup函数不是首列(excel vlookup 第一参数不在第一列 怎么办急)

vlookup函数不是首列(excel vlookup 第一参数不在第一列 怎么办急)

其实vlookup函数不是首列的问题并不复杂,但是又很多的朋友都不太了解excel vlookup 第一参数不在第一列 怎么办急,因此呢,今天小编就来为大家分享vlookup函数不是首列的一些知识,希望可以帮助到大家,下面我们一起来看看这个

2026年7月23日 02:00

fopen的文件名(c语言中,fopen(“文件名”,“打开方式”)中的文件名可以是变量吗谢谢)

fopen的文件名(c语言中,fopen(“文件名”,“打开方式”)中的文件名可以是变量吗谢谢)

大家好,fopen的文件名相信很多的网友都不是很明白,包括c语言中,fopen(“文件名”,“打开方式”)中的文件名可以是变量吗谢谢也是一样,不过没有关系,接下来就来为大家分享关于fopen的文件名和c语言中,fopen(“文件名”,“打开

2026年5月5日 07:30

rtos是什么意思?在学习freertos之前,应学习哪些东西

rtos是什么意思?在学习freertos之前,应学习哪些东西

大家好,今天小编来为大家解答以下的问题,关于rtos,rtos是什么意思这个很多人还不知道,现在让我们一起来看看吧!本文目录rtos是什么意思在学习freertos之前,应学习哪些东西rtos系统手表安全吗free rtos和ucos的区别

2025年10月10日 08:00

多文件同时md5(如何用java或者c#写个扫描整个文件夹及子文件夹,验证多个文件的md5值,并将md5值重复但不同)

多文件同时md5(如何用java或者c#写个扫描整个文件夹及子文件夹,验证多个文件的md5值,并将md5值重复但不同)

大家好,关于多文件同时md5很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何用java或者c#写个扫描整个文件夹及子文件夹,验证多个文件的md5值,并将md5值重复但不同的知识点,相信应该可以解决大家的一些困惑和问题,如

2026年7月14日 03:45

kafka rocketmq区别(Kafka还是RabbitMQ)

kafka rocketmq区别(Kafka还是RabbitMQ)

本篇文章给大家谈谈kafka rocketmq区别,以及Kafka还是RabbitMQ对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录Kaf

2026年2月20日 09:15

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索