如何在CentOs6.5的KVM虚拟机中永久激活Windows2012

如何在CentOs6.5的KVM虚拟机中永久激活Windows2012,第1张

相信喜欢搞破解的童鞋都应该知道其中的奥秘,微软和PC厂商为了减轻对于 *** 作系统的激活负荷,对大多数品牌机实行了有别于联网激活的“SLIC激活机制”:当Windows *** 作系统启动时,就会自行读取本机BIOS中的SLIC信息表,以及 *** 作系统的“OEM密钥”和“OEM证书”,如果三者完全吻合、验证一系统就会被识别为自动激活的OEM版本。

笔者研究发现,Windows2012(注意不是Windows2012_R2,下同)与以往激活Windows7/Windows2008的方式类似,依然可以采用刷写BIOS中SLIC信息表安装OEM版系统的方式实现永久激活,只不过激活Windows2012需要SLIC2.2版,经测试SLIC2.2能够向下兼容SLIC2.1/2.0。

一、激活原理

目前激活Windows7/Windows2008的各种方法充斥互联网,但公认比较完美的激活方式是将品牌机(例如DELL、LENOVO等)的SLIC信息表刷写进需要安装Windows系统的计算机BIOS中,将该计算机“仿真”为品牌机,然后安装微软的OEM版Windows7/Windows2008并自动激活。

相信喜欢搞破解的童鞋都应该知道其中的奥秘,微软和PC厂商为了减轻对于 *** 作系统的激活负荷,对大多数品牌机实行了有别于联网激活的“SLIC激活机制”:当Windows *** 作系统启动时,就会自行读取本机BIOS中的SLIC信息表,以及 *** 作系统的“OEM密钥”和“OEM证书”,如果三者完全吻合、验证一致,Windows7/Windows2008系统就会被识别为自动激活的OEM版本。

笔者研究发现,Windows2012(注意不是Windows2012_R2,下同)与以往激活Windows7/Windows2008的方式类似,依然可以采用刷写BIOS中SLIC信息表安装OEM版系统的方式实现永久激活,只不过激活Windows2012需要SLIC2.2版,经测试SLIC2.2能够向下兼容SLIC2.1/2.0。

众所周知,虚拟机软件也是有BIOS的,目前市场上常见的虚拟机软件,如VMware、Xen、Kvm等均通过软件仿真的方式“模拟”硬件BIOS。既然可以采用刷写计算机硬件BIOS的方式实现永久激活,那么如果能够将SLIC2.2信息表通过软件再编译方式“灌入”虚拟机的BIOS中,然后再安装Windows2012的OEM版本,不就可以与刷写BIOS硬件实现自动激活“异曲同工”了吗?

二、核心问题

激活原理已经非常明确了,现在的关键问题是如何重新编译Linux虚拟机的问题了,这涉及Linux内核的重新编译,一些菜鸟可能望而生畏,尽管编译 Linux全部内核确实需要较高的技术水平,但重新编译Linux的BIOS难度并不高,初学者也可以轻松实现。本文以Linux的常见版本CentOs6.5为例,详细讲解重新编译KVM虚拟机BIOS的步骤。本文的方法同样适用Ubuntu等 Linux版本。

CentOs6.5虚拟机KVM的BIOS实际是一个二进制的可执行文件,默认安装路径为/usr/share/seabios/bios.bin。笔者研究发现,KVM虚拟机BIOS使用的是开源软件 seabios,该软件的源代码可以在互联网上找到,开源组织也制作了为seabios软件增加相应SLIC信息表的补丁包,下载seabios的源代码并打上该补丁包,然后重新编译并替换Linux默认的bios.bin文件,就可以将虚拟机“仿真”为品牌机,然后自动激活OEM版的Windows2012系统了,这种激活方式是永久激活,激活后的Windows2012可以打上微软的后续补丁且绝对不会被封杀。

三、详细步骤

1.获取SLIC2.2信息表。当前SLIC2.1的信息表网上很容易找到,SLIC2.2的信息表不多,比较容易找到的是DELL 版的SLIC2.2信息表。当然也可以找一台预装了Windows2012的品牌机(市面上比较常见的是DELL的机器),然后使用SLIC_Toolkit3.2工具导出该机器的SLIC表。SLIC2.1/2.2表为二进制文件,长度均为374字节(这一点一定要注意)。

2.安装CentOs6.5_x64版 *** 作系统。记得把gcc安装上,然后将上一步已经获取的SLIC2.2表拷贝在/ opt目录中(假定文件名称为DELL_SLIC2.2.BIN)。

3.在root用户下安装git,、iasl及所有依赖包。

#yum install git

#yum install iasl //这是必须安装的包

4.使用git获取sealic项目的源码。

# mkdir bios //目录可以自己随便建

#cd bios

#git clone git://github.com/ghuntley/seaslic //获取源代码

#ls -ls

Seaslic//用git软件获取源代码后会有多出一个目录

# cd seaslic

#ls

patch.sh README.markdown seabios.patch seabios.submodule

//该目录共包含三个文件和一个子目录,其中子目录seabios.submodule需要删除掉,用我们后面下载的内容重建。

#rm -rf seabios.submodule

5.从地址code.coreboot.org/p/seabios下载的SeaBios的源码并解压。注意源代码一定要下载1.7.3.2版本的,这一点也很关键,千万不能搞错了。

#tar xzvf seabios-1.7.3.2.tar.gz 解压在/bios目录下。

6.重建seabios.submodule

#cd /bios

# cp –r seabios-1.7.3.2 seaslic/seabios.submodule

# cd seaslic

# ls

patch.sh README.markdown seabios.patch seabios.submodule

进入我们重建的seabios.submodule目录,可以发现有bios的源代码存在:

# cd seabios.submodule

# ls

COPYING COPYING.LESSER Makefile README README.CSM src TODO tools vgasrc

# cd src

可以发现seabios的源代码,我们需要重新编译这些源代码,生成新的bios.bin 文件,用于替代CentOs6.5系统自带的bios.bin。

7.查看/bios/seaslic /patch.sh文件。这是一个批处理文件,只有2行有用。用Linux的命令方式执行,为防止输入错误,最好从patch.sh中复制粘贴后在root用户下执行:

①将SLIC2.2文件转换为C语言包含文件格式(acpi-slic.hex)的命令:

#xxd -i /opt/DELL_SLIC2.2.BIN | grep -v -E "len "| sed 's/unsigned char.*/static char SLIC[] = {/' >seabios.submodule/src/acpi-slic.hex

说明:这条命令执行后将会把SLIC2.2表(即/opt/DELL_SLIC2.2.BIN文件)转换为C语言包含文件格式(文件名../src/acpi-slic.hex),并以数组形式存在。这一步非常非常关键,转换完成的acpi-slic.hex文件应为2333字节。如果本条命令执行不成功的话,编译出来的bios.bin文件不会包含SLIC2.2信息,也就无法实现激活了。

②为acpi.c 文件打补丁的命令:

# cd /bios/seaslic /seabios.submodule

#patch -p1 <../seabios.patch

说明:这条语句执行后将给../ src/acpi.c 文件打上补丁,执行后系统将会提示:

Hunk #1 succeeded at 20 with fuzz 2 (offset -194 lines).

Hunk #2 succeeded at 37 with fuzz 2 (offset -194 lines).

Hunk #3 succeeded at 631 with fuzz 2 (offset -205 lines).

注意:至此我们的准备工作已经全部完成了,下面将重新编译生成新的bios了。

8.重新编译生成bios.bin文件

# cd /bios/seaslic /seabios.submodule

#make //编译需要花几十秒钟吧,应提示无错误、无警告,否则可能需要仔细检查以上步骤。

查看..seabios.submodule/out/bios.bin

看到最后生成的结果了吧,会在..seabios.submodule/out/中多出一个bios.bin文件,这个文件就是我们重新编译生成的虚拟机的bios,将用来替换KVM的系统原有的bios.bin文件。

说明:这里编译生成bios.bin文件包含有DELL品牌机的SLIC2.2,可以激活DELL的Windows2012_OEM版。同理,我们只要找到其他品牌机的SLIC2.2信息表,重新编译后就可以安装激活其他品牌机的OEM版Windows7/2008/2012(SLIC2.1只能支持Vista/Win7/2008,不支持 Win2012;SLIC2.2则支持XP/Vista以及Win2008/2012并兼容SLIC2.1),与刷写计算机硬件BIOS实现自动激活的方式相比,采用这种方式激活Windows的风险为零,非常适合批量激活虚拟机的Windows2008/Windows2012。

9.替换CentOs6.5系统默认的bios.bin文件

# cp out/bios.bin /usr/share/seabios/bios.bin

#reboot //重新启动一下宿主机,然后再重新启动Windows虚拟机,在启动KVM虚拟机的时候,可以发现虚拟机的bios 已经更新为最新版本了。

10.激活windows2012

至此KVM虚拟机的bios已经重新配置完成,在KVM中启动WINDOWS客户机,然后利用SLIC_Toolkit3.2工具检查SLIC,会发现你的SLIC信息已经获取成功,如果你安装的是OEM版本的 Win2008/2012的话,无需输入key和证书就能自动激活。你可以从网上百度如下OEM镜像(我已试验过可自动激活):

(1)Lenovo的OEM版Windows2008_R2镜像:

Windows_Server-2008_R2_ENT_OEM.iso或者

Win_Server_08_R2_SP1_33in1.iso

(2)Dell的OEM版Windows2012镜像:

Ser2012_ST_DA_OEM.iso

(3)如果你手上暂时没有OEM版的话,也不要紧,可以用slmgr命令手工增加证书及OEM序列号也可以激活Windows2008/20012。直接用管理员身份进入命令行模式:

①slmgr -ilc DELL2.2.XRM-MS //这里找到的是DELL计算机的Windows2012版OEM证书。

②接下来就是写入注册号了:

slmgr -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

说明:下面是我从网上找到的 OEM版序列号(经测试可以激活):

Windows Server 2012 Standard DELL OEM KEY

2G9DG-XKFR6-VG8D3-DN9T9-CDG98

Windows Server 2012 Datacenter DELL OEM KEY

2BVGY-TNRWK-6927W-866R9-66J3H

Windows Server 2008 R2 Standard DELL OEM KEY

D7TCH-6P8JP-KRG4P-VJKYY-P9GFF

Windows Server 2008 R2 Enterprise DELL OEM KEY

BKCJJ-J6G9Y-4P7YF-8D4J7-7TCWD

③执行slmgr –dlv//显示全部激活信息

④执行slmgr -xpr //显示Windows2008/2012已经永久激活。

电脑显示器休眠后唤醒(显示器休眠了怎么唤醒)

显示器休眠了怎么唤醒

按键盘任意键或移动鼠标,尝试唤醒处于睡眠状态的电脑

2、如果以上 *** 作均没反应,还可以按下电源按钮以此来唤醒电脑

显示器休眠怎么办

*** 作系统为了节省能源,会设置一个自动进入休眠的时间,当 *** 作系统无人为 *** 作时间达到这个设置时,系统就会关闭大部分功能进入省电休眠状态。 *** 作系统休眠时间可以在系统电源管理设置中修改,以Windows 7 *** 作系统为例,具体步骤如下:

1、打开控制面板,点击电源选项。

2、打开电源选项窗口后,点击窗口左边的“选择关闭显示器的时间”或“更改计算机睡眠时间”(这两个选项其实是同一个)。

3、将关闭显示器和使计算机进入睡眠的时间都改成“从不”。修改完成后点击窗口下方的保存修改,以后电脑就不会自动进入睡眠了。

右击桌面选属性/屏幕保护程序/电源/在电源使用方案中的下拉列表中选择一项适合你的方案,在下面将关闭监视器、关闭硬盘、系统待机、这三个内容的列表中设置为“从不”按应用(或设置合适的时间)。打开控制板面/所有控制面板项/电源选项/选择关闭显示器(选从不或设置时间)/选使计算机进入睡眠状态旁边的下拉列表中选择从不或选合适的时间(Win7系统)。

显示器休眠了怎么唤醒不了

1、鼠标右键点击win7系统桌面“计算机”图标,选择“设备管理器”选项。

2、进入“设备管理器”界面,下方点击打开“网络适配器”选项。

3、鼠标右键点击本地网卡驱动,选择“属性”选项。

4、在打开的网卡属性对话框中,切换到“电源管理”标签。

5、取消勾选“允许此设备唤醒计算机”选项。

6、设置完成,鼠标点击打开“开始”菜单,选择“运行”选项。

7、在打开的运行对话框中输入cmd字符命令,按确定键进入DOS界面。

8、在命令行界面输入 powercfg -a 命令,点击确定,查看当前电源使用状态。

如何唤醒显示器休眠

1、先打开手机上的【设置】——【显示】,查看休眠是否为灰色状态;

2、若为灰色状态,打开手机上的【设置】——【电池】,关闭省电模式;

3、返回打开手机上的【设置】——【显示】——【休眠】,设置休眠时间。

显示器休眠了怎么唤醒屏幕

解决方法:唤醒方法:

1、试着按键盘上的屏幕调节快捷键,会发现屏幕亮度还是可以调节的,这说明已经唤醒了电脑,只是屏幕没有亮,

2、再试着去按其它的键,发现都没有效果,

3、那么试着按win+L。设置:1、win7电脑的桌面位置,然后找到桌面的计算机图标并右键点击,在下滑菜单中,选择设备管理器选项。2、打开win7电脑的设备管理器窗口了,咱们直接点击选择左侧菜单中的网络适配器,然后在其中找到本地网卡的驱动,咱们右键点击该项,然后选择属性。3、接下来会d出一个属性窗口,直接将界面切换到电源管理这一栏中,然后将【允许此设备唤醒计算机】选项前面的勾取消掉,最后点击确定保存设置就可以了。

显示器休眠无法唤醒

1、以Win10为例,我们右键“此电脑”,点击“管理”,

2、我们点击左侧栏“设备管理器”,在右侧窗口中,我们展开“系统设备”,找到“Intel(R)Management Engine Interface”并右键点击,点击“属性”

3、取消勾选“允许计算机关闭此设备以节约电源”,点击“确定”,就可以解决Windows10睡眠后无法唤醒屏幕黑屏打不开的情况

4、我们测试一下,是否成功了,如果没有成功,我们还可以尝试一下将“Intel(R)Management Engine Interface”右键“禁用设备”,将其禁用掉即可解决。

休眠显示器无法唤醒

右键点击此电脑,点击管理,选择设备管理器,展开网络适配器,双击网卡驱动,点击电源管理,勾选允许计算机关闭此设备以节约电源,勾选允许此设备唤醒计算机,点击确定即可。

显示器休眠了怎么唤醒电脑

休眠分为待机(Suspend, STR, 挂起)和休眠(Hibernation, STD)。

1.待机(时间短)的话,就按一下键盘鼠标;

2.休眠(时间长)的话,就按一下开机键(轻按开机键)待机计算机将目前的运行状态等数据存放在内存,关闭硬盘、外设等设备,进入等待状态。此时内存仍然需要电力维持其数据,但整机耗电很少。恢复时计算机从内存读出数据,回到挂起前的状态,恢复速度较快。一般笔记本在电池无故障且充满的情况下可以支持这种挂起数小时甚至数天(依具体机型有差别)。其他名称:Suspend, STR(Suspend To RAM), 挂起, 挂起到内存休眠计算机将目前的运行状态等数据存放在硬盘上某个文件或者某个特定的区域,关闭硬盘、外设等设备,进入关机状态。此时计算机完全关闭,不耗电。恢复时计算机从休眠文件/分区中读出数据,回到休眠前的状态,恢复速度较慢。但由于这种方法完全耗电又能保存工作状态,往往被笔记本用户用来作为关机的替代方式。其他名称:Hibernation, STD(Suspend To Disk), 挂起到硬盘, 休眠到硬盘休眠是将当前处于运行状态的数据保存在硬盘中,整机将完全停止供电。因为数据存储在硬盘中,而硬盘速度要比内存低得多,所以进入休眠状态和唤醒的速度都相对较慢。

显示器即将进入休眠模式怎么唤醒

首先,电脑进入睡眠模式,视频是无输出的,电脑睡眠电脑不会输出睡眠模式的信息。

其次显示器提示进入睡眠模式,是显示器在无信号输出的情况下自己进入睡眠模式,是显示器的睡眠模式,而不是电脑。

判断电脑是否进入睡眠模式,可以按下开机键,如果电脑进入睡眠而不是死机,电脑将从睡眠中唤醒。 如果无法唤醒,很可能是系统故障,建议重装原版 *** 作系统。

电脑显示器休眠状态是怎么唤醒

电脑休眠后黑屏无法唤醒的解决方法:

1、检查显示器电源

当显示器不亮时,检查显示器的电源是否插好,如果显示器的电源开关是轻触开关时,当给显示器加电时,应该会听到轻微的辟啪声,这时可判断显示器的开关电源电路良好。

2、检查主机电源

当显示器不亮,黑屏没有图像显示时,检查主机电源是否插接良好,电源的风扇是否正常转动,主机面板上电源指示灯、硬盘指示灯是闪否亮,因为若主机电源不工作或主板没有供电时,显示器在没有接收到信号时,当然就不会有图像显示的。

3、检查显示器的数据线

如果确定显示器已经加电了,且有高压产生,依然显示器不亮的话,继续检查显示器的数据线接头与显卡的信号输出接口是否接触良好,有没有松动的情况,再拔下插头 检查一下,D型接口中是否有弯曲或断针或者有大量污垢。

显示器休眠后无法唤醒

如果电脑休眠后无法唤醒,那是因为唤醒条件不满足,主要原因有以下几种:

1.键盘或鼠标所使用的中断没有被设置成可用于唤醒,解决的方法是进入BIOS的“Power Management Setup”设置界面,将“PM Events”选项下的相关设备的IRQ唤醒功能都打开,即设置IRQ3、IRQ4、IRQ5、IRQ6、IRQ12、IRQ14和IRQ15为“Enabled”。

2.设备驱动程序发生冲突,建议卸载老的驱动程序;驱动程序与所安装的硬件不兼容,请更换或升级驱动程序。

3.主板BIOS版本较老,可下载新版本的BIOS文件,并对主板BIOS进行刷新升级。

4. *** 作系统存在问题,或许安装补丁程序可以解决问题。

5.如果休眠后时间稍微长一点就不能唤醒,则很可能是CPU风扇停转,而CPU又未按要求进入对应的休眠模式,引起CPU温度过高,从而导致电脑无法正常工作。这种现象大多发生在对CPU温度和CPU风扇有监控功能的电脑系统中。

参考资料


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/9635167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存