2009年10月28日星期三

修改VMWare Workstation 7.0 的BIOS加入SLIC 2.1表

经常需要用到VMWare Workstation来做些测试或实验,在这里介绍下修改VMWare 的BIOS的方法,在网上已经有很多相关文章了,在这里作为自己动过手过程中的一种记录文档。

一、准备工作

找到VMWare 安装目录下的vmware-vmx.exe,我的是在X:\Program Files (x86)\VMware\VMware Workstation\x64目录里,用VS2008打开它,并将资源BINRES段6006导出,另存为文件备用,假设存为文件名BIOS70.ROM。导出资源文件可以根据自己拥有的软件来导出,如ResScope、eXeScope等都可以很好的完成资源导入导出工作。

image

二、Phoenix BIOS Editor

image

用Phoenix BIOS Editor打开刚保存好的文件BIOS70.ROM,并保持Phoenix BIOS Editor在打开状态直到整个过程完成,中途切勿关闭Phoenix BIOS Editor。

建议在Vista 或 Windows 7 这类系统有UAC启用的系统,在装Phoenix BIOS Editor时最好是装到其他盘,如另一个网路路由模拟器GNS3(Dynamips)也是如此,否则用起来很麻烦。

三、用010 Editor修改文件

image

在上步用Phoenix BIOS Editor打开的文件后,在Phoenix BIOS Editor的安装目录下有个TEMP目录会被创建,并会将解包文件存放在这临时目录,为了定位我们需要修改的文件可以在010 Editor中的Find in Files功能来搜索拥有字串“RSDT”的文件,如上图。同样也可以用其他16进制编辑器来做这步。

image

找到的结果,只有一个文件里有这字串。这步好像是多此一举,其实这方法也是可以用在PC机的BIOS修改上,但需要修改的文件名可要自己按这法子找了。

 

image

010 Editor打开文件并搜索定位,在图中49 4E 54 4C 20 34 34 30 42 58 20 20 20(INTEL 440BX)将被将要加入的SLIC表标示替换。

image

打开将要加入的SLIC 2.1表文件,并将0E字节的标示复制,图中兰色部分。

image

替换好后,并保存文件,这时010 Editor的工作就算完成了。

四、修改文件ROM.SCR文件

image

复制SLIC文件到Phoenix BIOS Editor的TEMP目录下,注意文件名用8.3格式,

用任意文本编辑器打开在Phoenix BIOS Editor的TEMP目录下的ROM.SCR文件,并在最后一行加入如:

ACPI      xxxxxx.bin

其中 xxxxxx.bin 跟刚复制进去的SLIC文件名保持相同(包含后缀)。保存ROM.SCR文件。

五、修改DMI,并生成新BIOS

image

返回Phoenix BIOS Editor界面,在DMI修改字符串,注意’’单引号不要去掉,确定后可以在文件菜单来Build BIOS。

image

image

确保无错后,保存新的BIOS备用。

image

至此全过程完成,Phoenix BIOS Editor也可以关闭了。

六、在VMWare 中使用新的BIOS

使用这新做的BIOS有两种方法,一种是将资源导入到vmware-vmx.exe。

还有一种方法是把修改好的BIOS复制到虚拟机文件目录下,用记事本打开配置文件*.vmx,在最后一行添加
bios440.filename = "修改好的BIOS的文件名"

没有评论:

发表评论