无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3349|回复: 9
打印 上一主题 下一主题

[已解决] 请教菜单文件的几个命令及写法?

[复制链接]
1#
发表于 2013-5-17 17:09:46 | 显示全部楼层
本帖最后由 不点 于 2013-5-17 18:02 编辑

不是早就说过,低端常规内存的大小(以 K 为单位)是以 0x413 处的 2 字节整数为准吗?这是 BIOS 规范,非常可靠,至今没有遇到这个规范被某个主板 BIOS 破坏的报道。在 google 中搜 “BIOS数据区”,了解有关的信息。

read 0x413 命令读出的是 4 字节,需要去掉高位的 2 字节,留下低位的 2 字节,才是用户可以自由使用的常规内存的大小(以 K 为单位)。可以给 chenall 提建议,增加必要的控制参数,让 read 命令可以读出 字节、双字节、四字节、8字节的整数,这样更方便使用。

grub4dos 的 map --hook 或者 map --rehook,就是把仿真代码放置在可用常规内存的顶部,那就要占用 12K 的常规内存了,同时会把 0x413 处的双字节整数的值减去 12。如果 BIOS 原来的常规内存为 524K,那么经过 map --hook 之后,就只有 512K 了,刚好够 Windows XP 使用。

接下来我补充说明几点,请注意。

因为有机器通过PXE启动后可用内存不够524K。这样我先MAP服务器上的镜像文件到本地。
然后卸载PXE内存,再启动镜像内的PE。


当 PXE 启动后常规内存低于 524K 时,你执行 map --hook,那么,常规内存将降低到不足 512K,也就是说,0x413 处的值将会小于 512,那么 XP 是无法启动的。此时你卸载 PXE 已经占用的较高端常规内存是没有用的,因为较低端的 12K 常规内存还没有卸载掉。你必须先卸载 map 的仿真代码所占用的内存,然后才可以卸载 PXE 的内存。已经有报道说,在某些 buggy 的主板(或网卡)之下卸载 PXE 的动作,会直接导致死机。因此,建议不要碰它,让它一直保持在常规内存中。这样的话,你必须寻找一个不使用 map 的方案,比如使用 memdisk,它占用的常规内存较小。你还可以寻找一个办法,把 PXE 服务器上的文件直接放置在扩展内存中,然后安排你自己的启动方案。这就可以避免使用 map 了。不过这就需要你编写自己的启动代码,做有针对性的处理了,应该是比较麻烦的,我自己缺乏这方面的知识,没有具体的方案。在不使用仿真的情况下,也可以使用 PXE 上的 IMG 文件,比如,把它放在内存中,让 (rd) 设备指向它,就可以以 (rd)/... 或 带分区的 (rd,0)/... 的形式来读 IMG 里的文件了。因此,困难在于,如果不使用 map,如何实现后续的启动操作系统的步骤。你可能还是需要一个类似于 memdisk 的软件,来完成 map 的任务。

Linux 是没问题的,比如完全运行于内存中的 Slitaz 就是可以的。grub4dos 可以直接加载 Linux 的内核以及 initrd 文件,实现 Linux 的启动,无需任何 map 的动作。但是,Windows 是否存在类似的启动方案?我估计目前是没有的,那就要靠黑客们去 hack 了。

回复

使用道具 举报

2#
发表于 2013-5-17 17:13:17 | 显示全部楼层
本帖最后由 不点 于 2013-5-17 17:15 编辑
icevan 发表于 2013-5-17 16:50
我看到zhaohj 大侠是这样判断的。
checkrange 524:-1 calc *0x413 & 0xffff


这个办法挺好的。我还停留在 read 命令上了。看来 calc 可以取代 read 命令了。

常规内存不可能超过 640K,所以,下面的写法更好一些:

checkrange 524:640 calc *0x413 & 0xffff

回复

使用道具 举报

3#
发表于 2013-5-17 22:06:51 | 显示全部楼层
icevan 发表于 2013-5-17 18:45
iftitle [checkrange 525:640 calc *0x413 & 0xffff]  . 运行 Win03 PE  内置版
常规内存在524至640之间, ...

checkrange 的参数是表示数值范围的。525:640是不包括524的,因此,正确的范围应该是524:640。另外负的1常常用来表示最大的整数。你的0:525显然也不是你想要的,你实际想要的是0:523。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-11 23:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表