CN101996090B - 一种计算机及虚拟机下重置设备的方法 - Google Patents

一种计算机及虚拟机下重置设备的方法 Download PDF

Info

Publication number
CN101996090B
CN101996090B CN2009100918987A CN200910091898A CN101996090B CN 101996090 B CN101996090 B CN 101996090B CN 2009100918987 A CN2009100918987 A CN 2009100918987A CN 200910091898 A CN200910091898 A CN 200910091898A CN 101996090 B CN101996090 B CN 101996090B
Authority
CN
China
Prior art keywords
hardware device
type
hardware
virtual machine
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009100918987A
Other languages
English (en)
Other versions
CN101996090A (zh
Inventor
周振生
陈博
彭刚
河野诚一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN2009100918987A priority Critical patent/CN101996090B/zh
Publication of CN101996090A publication Critical patent/CN101996090A/zh
Application granted granted Critical
Publication of CN101996090B publication Critical patent/CN101996090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种计算机及虚拟机下重置设备的方法,其中计算机包括:硬件平台,具有至少一个硬件设备;虚拟机监视器;第一操作系统,至少一个第二操作系统;其中,虚拟机监视器包括:创建模块,用于分别为第一操作系统和至少一个第二操作系统创建虚拟机;计算机还包括:备份模块,用于在虚拟机监视器启动时或者创建模块为第一操作系统创建第一虚拟机时,保存所述至少一个硬件设备中的至少一个硬件设备的初始状态信息;恢复模块,用于在第一虚拟机关闭时,根据备份模块保存的硬件设备的初始状态信息,对硬件设备的状态进行恢复,使硬件设备能够在第一虚拟机关闭后第二操作系统启动前的过程中使用。本发明使虚拟机启动或者运行时,硬件设备均可使用。

Description

一种计算机及虚拟机下重置设备的方法
技术领域
本发明涉及一种计算机领域,特别是指一种计算机及虚拟机下重置设备的方法。
背景技术
一般的计算机系统,在重新启动操作系统OS时,整个硬件平台都会重启,重启后,BIOS(基本输入输出系统)会对各个硬件重新初始化,使之再次满足操作系统OS的运行。
而在虚拟机系统下,如图1所示,该虚拟机系统包括:底层的硬件平台,运行在该硬件平台上的虚拟机监视器VMM(Virtual Machine Monitor),运行在VMM上的至少一个操作系统,这些操作系统均对应一个由VMM创建的VMM副本,即虚拟机VM,虚拟机VM为其对应的操作系统提供硬件映射,是VMM为操作系统创建的高效、隔离的副本软件,也就是说,对于操作系统1,该VM1为该操作系统1提供硬件映射,操作系统1运行在VM1上和操作系统1运行在真实的计算机硬件平台上是一样的;同样的道理,对于操作系统2,该VM2为该第二操作系统提供硬件映射,该操作系统2运行在VM2上如同该操作系统2运行在真实的计算机硬件平台上。这里的操作系统可以为Linux操作系统、Wondows XP、Win7或者Vista等,如操作系统1为Linux操作系统,操作系统2为Vista操作系统。
在上述虚拟机系统中,VM1运行时,可能将硬件平台中的硬件设备设置为某一状态,而VM1关闭后,该硬件设备的状态依然是VM1设置的状态,并没有恢复到初始值;那么在VM2启动时,可能导致该硬件设备不可用。如VM1为Linux操作系统,VM2为Vista操作系统,计算机系统启动时,首先会启动VM1,VM1完成使命,然后将其关掉去启动VM2 Vista,发现一些硬件设备在Vista启动时不可用,如USB Keyboard(USB键盘)设备。
BIOS在启动完成后,操作系统OS启动之前,一般是通过硬件管理机制,借助SMI(系统管理中断)机制将USB Keyboard(USB键盘设备)虚拟成PS/2设备来使用,在VM1启动后,会关掉SMI这种硬件管理机制,而使用USBDriver(USB驱动)来获得USB接口的控制权;在VM1关闭后或者VM1运行中,这种SMI的机制并没有得到恢复,BIOS无法再次获得USB设备的控制权,从而导致启动VM2时,USB设备无法使用。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
前一个虚拟机关闭,下一个虚拟机启动时,可能出现硬件设备不可用的问题。
发明内容
本发明要解决的技术问题是提供一种可使在虚拟机启动或者运行时,硬件设备均可使用的计算机及虚拟机下重置设备的方法。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,本发明的实施例提供一种计算机,包括:
硬件平台,具有至少一个硬件设备;
虚拟机监视器,运行在所述硬件平台上;
第一操作系统,运行在所述虚拟机监视器上;
至少一个第二操作系统,运行在所述虚拟机监视器上;其中,
所述虚拟机监视器包括:
创建模块,用于分别为所述第一操作系统和至少一个第二操作系统创建虚拟机;所述计算机还包括:
备份模块,用于在所述虚拟机监视器启动时或者所述创建模块为所述第一操作系统创建第一虚拟机时,保存所述至少一个硬件设备中的至少一个硬件设备的初始状态信息;
恢复模块,用于在所述第一虚拟机关闭时,根据所述备份模块保存的所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用。
优选的,所述备份模块和所述恢复模块均安装在所述虚拟机监视器中,或者均安装在所述第一操作系统中,或者均安装在所述计算机的BIOS芯片中。
优选的,所述硬件设备的初始状态信息包括:PCI配置空间信息、I/O空间信息、电源管理状态信息、内存映射I/O空间信息、寄存器信息中的至少一个。
优选的,所述硬件设备为:第一类型的硬件设备,所述第一类型的硬件设备包括:USB键盘/鼠标;所述恢复模块包括:
第一操作模块,用于将所述第一类型的硬件设备使用的系统管理中断SMI机制关闭;
第二操作模块,用于根据保存的所述第一类型的硬件设备的初始状态信息,对所述硬件设备的PCI空间、I/O空间和电源管理状态进行恢复;
第三操作模块,用于为所述第一类型的硬件设备重新设置所述系统管理中断SMI机制。
优选的,所述硬件设备为:第二类型的硬件设备,所述第二类型的硬件设备包括:改变运行模式的硬盘设备;所述恢复模块包括:
第四操作模块,用于根据保存的所述第二类型的硬件设备的初始状态信息,对所述第二类型的硬件设备的PCI空间、I/O空间和内存映射I/O空间进行恢复。
优选的,所述硬件设备为:第三类型的硬件设备或者第四类型的硬件设备,所述第三类型的硬件设备包括:嵌入式控制器EC,所述第四类型的硬件设备包括:电源管理模块;所述恢复模块包括:
第五操作模块,用于根据保存的所述第三类型的硬件设备的初始状态信息,对所述第三类型的硬件设备的工作模式进行恢复,所述工作模式为:系统控制中断SCI模式或者系统管理中断SMI模式;或者
第六操作模块,用于根据保存的所述第四类型的硬件设备的初始状态信息,对所述电源管理模块的相关寄存器进行恢复。
另一方面,本发明的实施例还提供一种虚拟机下重置设备的方法,应用于包括有至少一个硬件设备、虚拟机监视器、第一操作系统和至少一个第二操作系统的计算机,该方法包括:
分别为所述第一操作系统和所述至少一个第二操作系统创建虚拟机;
在所述虚拟机监视器启动时或者所述虚拟机监视器为所述第一操作系统创建第一虚拟机时,保存所述至少一个硬件设备中的至少一个硬件设备的初始状态信息;
在所述第一虚拟机关闭时,根据所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用。
优选的,所述硬件设备的初始状态信息包括:PCI配置空间信息、I/O空间信息、电源管理状态信息、内存映射I/O空间信息、寄存器信息中的至少一个。
优选的,所述硬件设备为:第一类型的硬件设备,所述第一类型的硬件设备包括:USB键盘/鼠标;
所述根据所述硬件设备的初始状态信息,对所述硬件设备进行恢复的步骤包括:
将所述第一类型的硬件设备使用的系统管理中断SMI机制关闭;
根据保存的所述第一类型的硬件设备的初始状态信息,对所述硬件设备的PCI空间、I/O空间和电源管理状态进行恢复;
为所述第一类型的硬件设备重新设置所述系统管理中断SMI机制。
优选的,所述硬件设备为:第二类型的硬件设备或者第三类型的硬件设备或者第四类型的硬件设备;
所述第二类型的硬件设备包括:改变运行模式的硬件设备;所述第三类型的硬件设备包括:嵌入式控制器EC;所述第四类型的硬件设备包括:电源管理模块;
所述根据所述硬件设备的初始状态信息,对所述硬件设备进行恢复的步骤包括:
根据保存的所述第二类型的硬件设备的初始状态信息,对所述第二类型的硬件设备的PCI空间、I/O空间和内存映射I/O空间进行恢复;或者
根据保存的所述第三类型的硬件设备的初始状态信息,对所述第三类型的硬件设备的工作模式进行恢复,所述工作模式为:系统控制中断SCI模式或者系统管理中断SMI模式;或者
根据保存的所述第四类型的硬件设备的初始状态信息,对所述电源管理模块的相关寄存器进行恢复。
本发明的实施例具有以下有益效果:
上述方案通过在虚拟机监视器启动时或者为第一操作系统创建第一虚拟机时,对硬件设备的初始状态信息进行保存,而在第一虚拟机关闭后,再按照保存的硬件设备的初始状态信息,对硬件设备的状态进行恢复,使该第二虚拟机能够在所述第二操作系统启动前使用所述硬件设备,不会受到第一虚拟机以硬件设备设置的影响,可以正常使用硬件设备,提高用户的体验。
附图说明
图1为现有的虚拟机系统结构示意图;
图2为本发明的实施例计算机的结构示意图;
图3为图2所示计算机的备份模块和恢复模块均位于虚拟机监视器中的结构示意图;
图4为图2所示计算机的备份模块和恢复模块均位于第一操作系统中的结构示意图;
图5为图2所示计算机的至少一个第二操作系统安装在第一操作系统中的结构示意图;
图6为本发明的实施例虚拟机下重置设备的方法流程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术中前一个虚拟机关闭,下一个虚拟机启动时,可能出现硬件设备不可用的问题,提供一种使虚拟机启动或者运行时,硬件设备均可使用的计算机及虚拟机下重置设备的方法。
如图2所示,本发明的实施例计算机包括:
硬件平台,具有至少一个硬件设备;这些硬件设备主要包括:计算机的主板、可以安装在主板上的CPU、内存储器、外存储器、控制器、输入/输出设备以及管理硬件设备的信息的BIOS芯片组等;其中,内存储器可以为内存等存储器,外存储器可以为硬盘,输入设备可以为键盘和鼠标等,输出设备可以为监视器等;
虚拟机监视器(VMM),运行在所述硬件平台上;负责为计算机的操作系统提供虚拟硬件资源;
第一操作系统,运行在所述虚拟机监视器上;该第一操作系统通常为HostOS(宿主操作系统),该第一操作系统可以为Domain 0操作系统,如Linux、Vista、Windows等;
至少一个第二操作系统,运行在所述虚拟机监视器上;该至少一个第二操作系统通常为Guest OS(客户操作系统),其中,该第二操作系统也同样可以为Linux、Vista、Windows等;当然这里的第一操作系统并不限定是宿主操作系统,也可以是客户操作系统;第二操作系统也不限定是客户操作系统,也可以是宿主操作系统;第一操作系统和第二操作也可以是对等的操作系统,如均为客户操作系统(通常称此类的虚拟机系统为Type I架构的虚拟机系统);当然,该至少一个第二操作系统也可以安装在第一操作系统中,第二操作系统通过第一操作系统管理和访问各类资源(通常称此类的虚拟机系统为Type II架构的虚拟机系统,如图5所示);
其中,所述虚拟机监视器包括:
创建模块,用于分别为所述第一操作系统和至少一个第二操作系统创建虚拟机;如第一操作系统对应第一虚拟机VM1,第二操作系统对应第二虚拟机VM2,该VM1是虚拟机监视器为第一操作系统创建的高效、隔离的副本软件,为第一操作系统的运行提供硬件资源;该VM2是虚拟机监视器为第二操作系统创建的高效、隔离的副本软件,为第二操作系统的运行提供硬件资源;
其中,所述计算机还包括:
备份模块,用于在所述虚拟机监视器启动时或者所述创建模块为所述第一操作系统创建第一虚拟机时,保存所述至少一个硬件设备中的至少一个硬件设备的初始状态信息;
恢复模块,用于在所述第一虚拟机关闭时,根据所述备份模块保存的所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用;特别是在第一虚拟机关闭后所述创建模块为所述第二操作系统创建第二虚拟机时,根据所述备份模块保存的所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用或者说在创建第二虚拟机后到所述第二操作系统启动前的过程中使用。
该实施例中,通过增加备份模块,在虚拟机监视器启动时或者为第一操作系统(宿主操作系统)创建第一虚拟机时,保存硬件设备的初始状态信息;之后,第一虚拟机关闭且为第二操作系统(客户操作系统)创建第二虚拟机时,根据保存的硬件设备的初始状态信息,对硬件设备的状态进行恢复,这样第二操作系统在启动时,所获知的硬件设备的状态信息是初始状态信息,该第二操作系统对应的第二虚拟机就会根据其自身的需要和管理机制对硬件设备进行设置或者初始化,使这些硬件设备不会受第一虚拟机对硬件设备设置的影响,而能正常使用硬件设备。
如图3、图4所示,在上述图2所示计算机的基础上,上述备份模块和恢复模块均安装在所述虚拟机监视器中,或者均安装在所述第一操作系统中,或者均安装在计算机的BIOS芯片中。
如图3所示,当备份模块和恢复模块均安装在虚拟机监视器中,虚拟机监视器启动时,就会对硬件设备的初始状态信息进行保存,之后,为第一操作系统创建第一虚拟机时,可以根据该第一虚拟机的需要和对硬件设备的管理机制对硬件设备进行设置或者初始化;而当第一虚拟机关闭或者第二操作系统创建第二虚拟机时,恢复模块就会根据保存的硬件设备的初始状态信息,对硬件设备进行恢复,这样第二虚拟机是在硬件设备的初始状态信息基础上,对硬件设备进行设置或者初始化时,不会受到第一虚拟机对硬件设备设置的影响,硬件设备不会出现不可用的情况。
当然,该备份模块和恢复模块也可安装在第一操作系统中,如图4所示,虚拟机监视器在为第一操作系统创建第一虚拟机时,将硬件设备的初始状态信息进行保存,之后,第一虚拟机可以根据自身的需要和对硬件设备的管理机制对硬件设备进行设置或者初始化;而当第一虚拟机关闭或者为第二操作系统创建第二虚拟机时,恢复模块就会根据保存的硬件设备的初始状态信息,对硬件设备进行恢复,这样第二虚拟机对硬件设备进行设置或者初始化时,不会受到第一虚拟机对硬件设备设置的影响,硬件设备不会出现不可用的情况。
另外,该备份模块和恢复模块也可安装在BIOS芯片中,实现方式如下:
在BIOS的硬件管理机制程序(如SMI处理程序)中,增加该备份模块和恢复模块,然后约定入口参数,分别执行备份模块和恢复模块的功能,如可以约定0xC0为执行备份模块的入口参数;0xC1为执行恢复模块的入口参数,当第一操作系统对应的第一虚拟机启动时,发送0xC0到software SMI port(软件SMI的接口),产生SMI,由BIOS的SMI处理程序进行设备状态备份。当第一操作系统对应的第一虚拟机关闭时,或者第二操作系统对应的第二虚拟机创建时,发送0xC1到software SMI port,产生SMI,由BIOS的SMI处理程序进行设备状态恢复或还原。
在上述的实施例中,硬件设备的初始状态信息包括:PCI配置空间信息、I/O空间信息、电源管理状态信息、内存映射I/O(MMIO)空间信息、寄存器信息中至少一个;这些信息是硬件设备在启动时,需要检测和配置的信息,但是这些信息并不是对所有的硬件设备均需要进行配置的,而是根据不同的硬件设备进行配置,如对于USB接口的键盘或者鼠标,以及嵌入式控制器(EC),这些初始状态信息均需要恢复;对于某些PCI设备,可能只需要PCI配置空间信息的恢复等。
另外,上述硬件设备为:第一类型的硬件设备,所述第一类型的硬件设备包括:使用系统管理中断SMI机制实现其功能的硬件设备;如对于上述USB接口的键盘或者鼠标,在操作系统启动前,通常是借助于系统管理中断SMI机制,将USB接口的键盘或者鼠标模拟成PS/2接口来使用,对于这些设备,SMI中断处理程序将USB键盘模拟成PS/2设备来用,如果在第一操作系统关闭时,该硬件设备没有恢复,那么第二操作系统启动前,第二操作系统对应的第二虚拟机就不能使用该USB设备,无法获取USB键盘的控制权,因此,此时,需要恢复模块对这些被第一虚拟机改变状态的硬件设备进行恢复,恢复其SMI机制;具体来讲,对于USB键盘/鼠标,所述恢复模块包括:
第一操作模块,用于将所述第一类型的硬件设备使用的系统管理中断SMI机制关闭;
第二操作模块,用于根据保存的所述第一类型的硬件设备的初始状态信息,对所述硬件设备的PCI空间、I/O空间和电源管理状态进行恢复,即将所述PCI空间重新设置为初始状态的PCI空间配置值,I/O空间重新设置为初始状态的I/O空间的值,电源管理状态也恢复到初始时的状态值;
第三操作模块,用于为所述第一类型的硬件设备重新设置所述系统管理中断SMI机制;以便下一个虚拟机可以通过SMI机制获取该第一类型的硬件设备的控制权。
另外,所述硬件设备还可以为:第二类型的硬件设备,所述第二类型的硬件设备包括:改变运行模式的硬盘设备;如硬盘从IDE(硬盘传输接口)运行模式,转换成AHCI(串行ATA高级主控接口)运行模式;硬盘设备可能在不同的虚拟机下,改变其运行模式,因此,对于这些硬盘设备,所述恢复模块包括:第四操作模块,用于根据保存的所述第二类型的硬件设备的初始状态信息,对所述第二类型的硬件设备的PCI空间、I/O空间和内存映射I/O空间(MMIO空间)进行恢复,该PCI空间,I/O空间的恢复和上述第二操作模块恢复的方法相同,不再赘述,而MMIO空间重新设置为初始状态的值;使如硬盘这样的第二类型的硬件设备可以在下一个虚拟机启动时,恢复到初始状态,该下一虚拟机启动后,就可以对该第二类型的硬件设备根据自身的需要选择运行模式,再对这些第二类型的硬件设备进行使用,不会受到前一虚拟机下硬件设备的运行模式的影响。
同样的,所述硬件设备还可以为:第三类型的硬件设备;所述第三类型的硬件设备包括:嵌入式控制器EC;所述恢复模块包括:
第五操作模块,用于根据保存的所述第三类型的硬件设备的初始状态信息,对所述第三类型的硬件设备的工作模式进行恢复,所述工作模式为:系统控制中断SCI模式或者系统管理中断SMI模式;
这是因为:EC有两信号线连到芯片组chipset,一个是SMI中断信号,一个是SCI中断信号;一般来说在DOS下,因为DOS不支持ACPI,无法处理SCI中断信号。所以一般在DOS下都会设置EC工作在SMI模式;而在支持ACPI的OS下,EC会切到SCI模式工作;在虚拟机下,如果GOS(第一个OS)关掉之前,不对EC的工作模式进行恢复,那么在启动第二个OS之前,EC仍在SCI模式工作,对于一些事件,如Fn+Fx热键,仍然发出的是SCI信号,导致Fn+Fx热键均无效。因此,对于EC设备,在下一个操作系统启动前,需要对其工作模式进行恢复,如通过62,66端口发送命令,使其恢复到原来的工作模式;或者通过恢复EC的配置空间恢复到原来的工作模式,使其功能可以在下一个OS启动前被使用。
所述硬件设备还可以为:第四类型的硬件设备;所述第四类型的硬件设备包括:电源管理模块;,所述恢复模块包括:
第六操作模块,用于根据保存的所述第四类型的硬件设备的初始状态信息,对所述电源管理模块的相关寄存器进行恢复,具体来讲,该电源管理模块通过电源管理模式APM实现其功能,并通过恢复芯片组的电源管理相关寄存器,来恢复该APM的状态。
综上,本发明的上述计算机实施例,通过在虚拟机监视器或者Domain 0操作系统中,增加备份模块和恢复模块,对硬件设备的初始状态信息进行保存,而在下一个虚拟机启动时,再按照保存的硬件设备的初始状态信息,对硬件设备进行恢复,使该下一个虚拟机不会受到上一个虚拟机以硬件设备设置的影响,可以正常使用硬件设备,提高用户的体验。
如图6所示,本发明的实施例还提供一种虚拟机下重置设备的方法,应用于包括有至少一个硬件设备、虚拟机监视器、第一操作系统和至少一个第二操作系统的计算机,该计算机中,虚拟机监视器运行在硬件设备上,第一操作系统和至少一个第二操作系统运行在虚拟机监视器上,其中,该第一操作系统和该至少一个第二操作系统可以直接运行在虚拟机监视器上,也可以是该第一操作系统直接运行在虚拟机监视器上,而该至少一个第二操作系统运行在该第一操作系统中,该至少一个第二操作系统通过该第一操作系统访问资源;该方法包括:
步骤61,分别为所述第一操作系统和所述至少一个第二操作系统创建虚拟机;
步骤62,在所述虚拟机监视器启动时或者所述虚拟机监视器为所述第一操作系统创建第一虚拟机时,保存所述至少一个硬件设备中的至少一个硬件设备的初始状态信息;
步骤63,在所述第一虚拟机关闭时,根据所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用;特别是在第一虚拟机关闭后,为所述第二操作系统创建第二虚拟机时,根据所述硬件设备的初始状态信息,对所述硬件设备进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后所述第二操作系统启动前的过程中使用或者说在创建第二虚拟机后到所述第二操作系统启动前的过程中使用。
其中,所述硬件设备的初始状态信息包括:PCI配置空间信息、I/O空间信息、电源管理状态信息、内存映射I/O空间信息、寄存器信息中的至少一个。
当所述硬件设备为:第一类型的硬件设备,所述第一类型的硬件设备包括:使用系统管理中断SMI机制实现其功能的硬件设备,如USB键盘/鼠标;步骤63包括:
将所述第一类型的硬件设备使用的系统管理中断SMI机制关闭;
根据保存的所述第一类型的硬件设备的初始状态信息,对所述硬件设备的PCI空间、I/O空间和电源管理状态进行恢复;
为所述第一类型的硬件设备重新设置所述系统管理中断SMI机制。
当所述硬件设备为:第二类型的硬件设备,所述第二类型的硬件设备包括:改变运行模式的硬件设备(如硬盘设备);步骤63包括:
根据保存的所述第二类型的硬件设备的初始状态信息,对所述第二类型的硬件设备的PCI空间、I/O空间和内存映射I/O空间进行恢复;
当所述硬件设备为:第三类型的硬件设备,所述第三类型的硬件设备包括:嵌入式控制器EC;步骤63包括:
根据保存的所述第三类型的硬件设备的初始状态信息,对所述第三类型的硬件设备的工作模式进行恢复,所述工作模式为:系统控制中断SCI模式或者系统管理中断SMI模式;如通过62,66端口发送命令,使其恢复到原来的工作模式;或者通过恢复EC的配置空间恢复到原来的工作模式,使其功能可以在下一个OS启动前被使用。
当所述硬件设备为:第四类型的硬件设备,所述第四类型的硬件设备包括:电源管理模块,该电源管理模块通过电源管理模式APM实现其功能;步骤63包括:
根据保存的所述第四类型的硬件设备的初始状态信息,对所述电源管理模式APM的相关寄存器进行恢复。
综上,本发明的上述虚拟机重置设备的方法,通过在虚拟机监视器启动时或者为第一操作系统创建第一虚拟机时,对硬件设备的初始状态信息进行保存,而在第二虚拟机启动时,再按照保存的硬件设备的初始状态信息,对硬件设备进行恢复,使该第二虚拟机不会受到第一虚拟机对硬件设备设置的影响,在第二操作系统启动前可以正常使用硬件设备,提高用户的体验。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种虚拟机下重置设备的装置,应用于包括有至少一个硬件设备、虚拟机监视器、第一操作系统和至少一个第二操作系统的计算机,包括:创建模块,用于分别为第一操作系统和至少一个第二操作系统创建虚拟机;
备份模块,用于在虚拟机监视器启动时或者所述创建模块为所述第一操作系统创建第一虚拟机时,保存至少一个硬件设备中的至少一个硬件设备的初始状态信息;
恢复模块,用于在所述第一虚拟机关闭时,根据所述备份模块保存的所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用。
2.根据权利要求1所述的装置,其特征在于,所述备份模块和所述恢复模块均安装在所述虚拟机监视器中,或者均安装在所述第一操作系统中,或者均安装在所述装置的BIOS芯片中。
3.根据权利要求1所述的装置,其特征在于,所述硬件设备的初始状态信息包括:PCI配置空间信息、I/O空间信息、电源管理状态信息、内存映射I/O空间信息、寄存器信息中的至少一个。
4.根据权利要求3所述的装置,其特征在于,所述硬件设备为:第一类型的硬件设备,所述第一类型的硬件设备包括:USB键盘/鼠标;
所述恢复模块包括:
第一操作模块,用于将所述第一类型的硬件设备使用的系统管理中断SMI机制关闭;
第二操作模块,用于根据保存的所述第一类型的硬件设备的初始状态信息,对所述硬件设备的PCI空间、I/O空间和电源管理状态进行恢复;
第三操作模块,用于为所述第一类型的硬件设备重新设置所述系统管理中断SMI机制。
5.根据权利要求3所述的装置,其特征在于,所述硬件设备为:第二类型的硬件设备,所述第二类型的硬件设备包括:改变运行模式的硬盘设备;
所述恢复模块包括:
第四操作模块,用于根据保存的所述第二类型的硬件设备的初始状态信息,对所述第二类型的硬件设备的PCI空间、I/O空间和内存映射I/O空间进行恢复。
6.根据权利要求3所述的装置,其特征在于,所述硬件设备为:第三类型的硬件设备或者第四类型的硬件设备,所述第三类型的硬件设备包括:嵌入式控制器EC,所述第四类型的硬件设备包括:电源管理模块;
所述恢复模块包括:
第五操作模块,用于根据保存的所述第三类型的硬件设备的初始状态信息,对所述第三类型的硬件设备的工作模式进行恢复,所述工作模式为:系统控制中断SCI模式或者系统管理中断SMI模式;或者
第六操作模块,用于根据保存的所述第四类型的硬件设备的初始状态信息,对所述电源管理模块的相关寄存器进行恢复。
7.一种虚拟机下重置设备的方法,应用于包括有至少一个硬件设备、虚拟机监视器、第一操作系统和至少一个第二操作系统的计算机,其特征在于,包括:
分别为所述第一操作系统和所述至少一个第二操作系统创建虚拟机;
在所述虚拟机监视器启动时或者所述虚拟机监视器为所述第一操作系统创建第一虚拟机时,保存所述至少一个硬件设备中的至少一个硬件设备的初始状态信息;
在所述第一虚拟机关闭时,根据所述硬件设备的初始状态信息,对所述硬件设备的状态进行恢复,使所述硬件设备能够在所述第一虚拟机关闭后到所述第二操作系统启动前的过程中使用。
8.根据权利要求7所述的方法,其特征在于,所述硬件设备的初始状态信息包括:PCI配置空间信息、I/O空间信息、电源管理状态信息、内存映射I/O空间信息、寄存器信息中的至少一个。
9.根据权利要求8所述的方法,其特征在于,所述硬件设备为:第一类型的硬件设备,所述第一类型的硬件设备包括:USB键盘/鼠标;
所述根据所述硬件设备的初始状态信息,对所述硬件设备进行恢复的步骤包括:
将所述第一类型的硬件设备使用的系统管理中断SMI机制关闭;
根据保存的所述第一类型的硬件设备的初始状态信息,对所述硬件设备的PCI空间、I/O空间和电源管理状态进行恢复;
为所述第一类型的硬件设备重新设置所述系统管理中断SMI机制。
10.根据权利要求8所述的方法,其特征在于,所述硬件设备为:第二类型的硬件设备或者第三类型的硬件设备或者第四类型的硬件设备;
所述第二类型的硬件设备包括:改变运行模式的硬件设备;
所述第三类型的硬件设备包括:嵌入式控制器EC;
所述第四类型的硬件设备包括:电源管理模块;
所述根据所述硬件设备的初始状态信息,对所述硬件设备进行恢复的步骤包括:
根据保存的所述第二类型的硬件设备的初始状态信息,对所述第二类型的硬件设备的PCI空间、I/O空间和内存映射I/O空间进行恢复;或者
根据保存的所述第三类型的硬件设备的初始状态信息,对所述第三类型的硬件设备的工作模式进行恢复,所述工作模式为:系统控制中断SCI模式或者系统管理中断SMI模式;或者
根据保存的所述第四类型的硬件设备的初始状态信息,对所述电源管理模块的相关寄存器进行恢复。
CN2009100918987A 2009-08-28 2009-08-28 一种计算机及虚拟机下重置设备的方法 Active CN101996090B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100918987A CN101996090B (zh) 2009-08-28 2009-08-28 一种计算机及虚拟机下重置设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100918987A CN101996090B (zh) 2009-08-28 2009-08-28 一种计算机及虚拟机下重置设备的方法

Publications (2)

Publication Number Publication Date
CN101996090A CN101996090A (zh) 2011-03-30
CN101996090B true CN101996090B (zh) 2013-09-04

Family

ID=43786276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100918987A Active CN101996090B (zh) 2009-08-28 2009-08-28 一种计算机及虚拟机下重置设备的方法

Country Status (1)

Country Link
CN (1) CN101996090B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981597B (zh) * 2011-09-05 2016-03-30 联想(北京)有限公司 可配置外围设备的控制方法及便携终端
CN103123612B (zh) * 2011-11-21 2017-11-28 联想(北京)有限公司 一种共享设备的控制方法及一种电子设备
EP2788875A2 (en) * 2011-12-05 2014-10-15 Persistent Telecom Solutions, Inc. Universal pluggable cloud disaster recovery system
CN104503861A (zh) * 2012-04-20 2015-04-08 华为技术有限公司 一种异常处理方法及系统、代理设备与控制装置
CN102917064B (zh) * 2012-10-23 2015-09-02 广州杰赛科技股份有限公司 基于私有云计算平台的双机热备方法
CN105760314A (zh) * 2016-03-14 2016-07-13 山东超越数控电子有限公司 一种利用ec sci控制系统开机屏幕亮度的方法
WO2018119707A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 内核配置信息的管理方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093448A (zh) * 2006-06-23 2007-12-26 联想(北京)有限公司 一种虚拟机系统及其硬件设备的切换方法
CN101135997A (zh) * 2006-08-29 2008-03-05 联想(北京)有限公司 一种虚拟机系统及其硬件设备中断处理方法
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
CN101093448A (zh) * 2006-06-23 2007-12-26 联想(北京)有限公司 一种虚拟机系统及其硬件设备的切换方法
CN101135997A (zh) * 2006-08-29 2008-03-05 联想(北京)有限公司 一种虚拟机系统及其硬件设备中断处理方法

Also Published As

Publication number Publication date
CN101996090A (zh) 2011-03-30

Similar Documents

Publication Publication Date Title
US10007546B2 (en) Operating-system exchanges using memory-pointer transfers
US10853179B2 (en) Information handling system and method for restoring firmware in one or more regions of a flash memory device
CN101996090B (zh) 一种计算机及虚拟机下重置设备的方法
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US11886903B2 (en) Continuous uptime of guest virtual machines during upgrade of a virtualization host device
US10503532B2 (en) Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter
US20160378528A1 (en) Propagating changes from a virtual machine clone to a physical host device
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
US9600369B2 (en) Operating system recovery method and apparatus, and terminal device
US8131986B2 (en) System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
US9753739B2 (en) Operating system management of second operating system
KR101673299B1 (ko) 운영 시스템 복구 방법 및 장치, 그리고 단말기기
US9047112B2 (en) Installation of virtual service processor to computer system having existing operating system
US10042666B2 (en) Platform simulation for management controller development on virtual machines
US20090013171A1 (en) Computer docking system using hardware abstraction
US20190004818A1 (en) Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof
WO2020063432A1 (zh) 一种升级虚拟化模拟器的方法和装置
US10565141B1 (en) Systems and methods for hiding operating system kernel data in system management mode memory to thwart user mode side-channel attacks
JP2023020861A (ja) ファームウェアの更新
US9519489B2 (en) Boot from modified image
US20210089486A1 (en) Information processing system and information processing method
CN113391864A (zh) 云桌面切换方法及系统
JP2000010666A (ja) コンピュータシステムおよびフラッシュrom書き換え方法
US9202058B1 (en) Root volume encryption mechanism in para-virtualized virtual machine

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant