我们日复一日看着Windows 10单调的启动画面都快看吐了。
如何你是UEFI安装的Windows 10,有时画面更加惨不忍睹:
黑乎乎的背景下,一个厂商的logo孤零零的挂在上方,像是一轮残月;下面具有微软迷之审美风格的几个小点转啊转,看似流行闪过,冥冥之中预示着宇宙的无始无终。。。。
好吧,我承认我想多了。有没有想过把家里的爱犬的图片放上去,至少画面会温馨不少:
汪星人好可爱,漫长的等待也似乎不再枯燥了。
有没有跃跃欲试啊?在动手之前,我们先来看一下可以更换启动画面背后的原理,它对我们后面动手具有理论指导意义。
原理先让我们思考一个问题,为什么不同厂商的logo可以在自己出产的电脑中替换掉windows的窗户图片:Dell出产的笔记本是Dell的logo,而ASUS的笔记本是ASUS的logo呢?要知道微软可不会为不同厂商推出不同的OS的。如果我们能够把厂商的logo换成我们中意的图片,一切不就迎刃而解了吗?
你也许猜出来了,作为一个UEFI的专栏,原因当然在UEFI固件里了。UEFI在ACPI 5.0时加入了BGRT表(Boot Graphics Resource Table)。它是一个可选的表单,固件用来向OS报告它希望OS在启动时显示的图片:
BGRT表相对其他ACPI table来说很简单,主要就是图像的位置和大小。不同的主板厂商或者OEM会在UEFI固件中植入自己的logo,并在BGRT中向OS通报。我们只需要更改BGRT的image address就可以改变windows 10/8/8.1的启动logo。更妙的是,大部分BIOS会把它的启动logo传入BGRT,我们可以一箭双雕!
实践原理这么简单啊,那想必很容易就可以替换掉厂商的logo了吧?现实很残酷,因为厂商的Image在固件中的位置并不固定,所以没有一个简单而统一的办法来找到并替换掉固件中的图片。我们只有因地制宜,针对不同的主板BIOS厂商使用它们自己提供的工具。
1. Intel NUC
NUC系列等Intel的产品,
可以使用Intel Integrator Toolkit(ITK) 来替换掉固件中的Intel logo图片。
使用说明在这里:
http://download.intel.com/support/motherboards/desktop/sb/itk_4_to_5_migration_v12.pdf
2. 使用AMI BIOS的主板
AMI的主板在市面上占据绝大多数,我们可以使用 Aptio Change Logo tool。我们可以在AMI的官网上下载到这个工具:
https://ami.com/en/products/bios-uefi-tools-and-utilities/bios-uefi-utilities/
3.其他BIOS大家可以Google一下,一般都有。
改好后大多数情况下,BIOS的logo和windows 10的logo都会改变!
扩展阅读1. 对于Legacy BIOS安装的Windows 10,以上这些并不适用。但是也别着急,我们有别的办法:
曾经有个工具叫做8oot Logo Changer,可惜只适用于Win8/Win8.1。它的原理是Crack掉Windows的bootres.dll,其中就有那个启动的著名窗户图片。它可以用PE格式支持的标准方式替换掉那个图片,十分方便。
工具虽然在Windows 10失效了,但原理依然适用,我们可以用标准的工具打开bootres.dll并替换图片即可。当然,这样会比傻瓜式的工具要麻烦一些,大家可以参阅这个文章:
http://www.pc2tech.com/change-boot-logo-windows-10/
2. 对于UEFI安装的Windows,有个开源的logo替换工具,叫做HackBGRT。它是个UEFI Shell app,它会找到并替换掉BGRT中的图片。因为它是和具体BIOS厂商无关的方法,所以对所有UEFI主板都适用。
它的主页是:
https://firmwaresecurity.com/tag/hackbgrt/
它的Github repo在:
https://github.com/Metabolix/HackBGRT
README.md里有详细使用说明。
结语一开机就看见自己定制的logo,和酷酷的Windows 10启动画面既可以陶冶情操,又可以提升比格,实在是程序员看家护院的利器啊。这里有个我做好的启动画面,拿走不谢
最后提醒一句,刷BIOS一定要谨慎,稍有不慎,主板可能会变砖哦。
,