无忧启动论坛

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

DELL ,你为何要这样?(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-18 18:33:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
新购买的DELL inspiron desktop 620/620s
机器自带win7 64 家庭版,想重装系统。

本人是企业环境,PXE启动

网卡是realtek 81** pci-e (查了下:PCI\VEN_10EC&DEV_8168&SUBSYS_04ED1028&CC_020000&REV_06)
很多PE1.X没带这个网卡,没WIN7PE
用全外置的PE1.X,整理网卡驱动,悲剧出来了,所有全外置的PE都无法...

[ 本帖最后由 zhaohj 于 2011-7-28 07:40 编辑 ]

照片-0006.jpg (117.76 KB, 下载次数: 230)

照片-0006.jpg
52#
发表于 2011-8-10 12:44:03 | 只看该作者
原帖由 zhaohj 于 2011-7-21 17:39 发表
checkrange 524:-1 calc *0x413 & 0xffff || map --int15nolow=1
dell620机器测试正常
--------------------
顺便测试了一下map --int15nolow=0 的情况,map的12K保护也正常。
也测试了默认的情况(默认是m ...


0x413地址含义见:0000:0413H——        1字        常规内存字节数(以K为单位)
回复

使用道具 举报

51#
发表于 2011-8-9 20:57:41 | 只看该作者

回复 #48 不点 的帖子

估计不是某人的问题,最近网络好像都有问题,我上了几个论坛都是上传附件会出现超慢的现象,直接回复就很顺畅,估计是服务器后台的防病毒软件搞得鬼
回复

使用道具 举报

50#
发表于 2011-8-9 20:39:18 | 只看该作者

回复 #48 不点 的帖子

不知他为何要阻止,G4D碍着谁了?
回复

使用道具 举报

49#
发表于 2011-8-9 12:29:29 | 只看该作者
恭喜又解决一个疑难了。
回复

使用道具 举报

48#
发表于 2011-8-9 11:14:21 | 只看该作者
补丁源代码已经成功上载到时空论坛。但编译结果还不能上载。

请 chenall 或者 Roy 编译吧。

目前正在尝试上载编译版。

顺便说,阻止我上载的那位,你没能成功阻止啊?你要被打 PP 了。

===============

看到 chenall 的帖子了,因此,编译版没有意义。那个补丁就够了,chanall 在合适的时候打上就可以了。
回复

使用道具 举报

47#
发表于 2011-8-9 11:12:48 | 只看该作者
已经更新到Googlecode.
回复

使用道具 举报

46#
发表于 2011-8-9 11:06:10 | 只看该作者
补丁源代码已经成功上载到时空论坛。但编译结果还不能上载。

请 chenall 或者 Roy 编译吧。

目前%
回复

使用道具 举报

45#
发表于 2011-8-9 10:20:48 | 只看该作者
是文件上传不完整,不点的网络有问题,只能稍等下了
回复

使用道具 举报

44#
发表于 2011-8-9 10:00:06 | 只看该作者
不能解压  估计文件损坏了吧
回复

使用道具 举报

43#
发表于 2011-8-9 09:58:46 | 只看该作者

回复 #44 不点 的帖子

是否文件损坏?不能解压。请重新上载。

[ 本帖最后由 zxw 于 2011-8-9 10:00 编辑 ]
回复

使用道具 举报

42#
发表于 2011-8-9 09:34:48 | 只看该作者
时空论坛上载失败,只好在这里上载。

打上了 dlin 的补丁,为在 arch linux 下编译。

不用等待 rockrock99 的测试了。测试只是为了进一步弄清楚原因。但补丁已经不需要进一步测试了,都得这么做。

可以提交到 svn 了。

[ 本帖最后由 不点 于 2011-8-9 13:32 编辑 ]
回复

使用道具 举报

41#
 楼主| 发表于 2011-7-29 17:54:35 | 只看该作者
哈哈,不点大的机器中毒了吧?!
回复

使用道具 举报

40#
发表于 2011-7-29 16:27:42 | 只看该作者
时空上载不了,现在上载到这里。试图解决 rockrock99 报告的 DELL 的问题。

grub4dos-0.4.5b-2011-07-29.7z

266.29 KB, 下载次数: 53, 下载积分: 无忧币 -2

回复

使用道具 举报

39#
发表于 2011-7-26 15:45:57 | 只看该作者
checkrange 524:-1 calc *0x413 & 0xffff || map --int15nolow=1
加了上面的语句
启动pe还是黑屏
回复

使用道具 举报

38#
发表于 2011-7-21 19:46:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

37#
 楼主| 发表于 2011-7-21 17:39:43 | 只看该作者
checkrange 524:-1 calc *0x413 & 0xffff || map --int15nolow=1
dell620机器测试正常
--------------------
顺便测试了一下map --int15nolow=0 的情况,map的12K保护也正常。
也测试了默认的情况(默认是map --int15nolow=0),都正常。

不点大辛苦了。
回复

使用道具 举报

36#
发表于 2011-7-21 15:39:28 | 只看该作者
回复

使用道具 举报

35#
发表于 2011-7-21 13:56:07 | 只看该作者
上载一个版本,只是测试用的。由于改动比较大,请充分测试后再考虑正式采纳。

用法:先用

map --int15nolow=1

然后再执行 map --hook 之类的命令。

由于这里只能上载 400K,所以上载到时空论坛了。
回复

使用道具 举报

34#
发表于 2011-7-20 15:05:45 | 只看该作者

学习到新知识点

checkrange 524:-1 calc *0x413 & 0xffff || offint15
如果0x413处的数值小于524就关闭中断15代码保护以便腾出常规内存空间让WINDOWS NT系列操作系统能够PXE启动
回复

使用道具 举报

33#
发表于 2011-7-20 14:21:55 | 只看该作者
今天发催生新版?这帖子营养成份相当高。。。
回复

使用道具 举报

32#
发表于 2011-7-20 11:13:12 | 只看该作者
好的,就这么定了。
回复

使用道具 举报

31#
 楼主| 发表于 2011-7-20 11:08:52 | 只看该作者
默认还是保护吧,毕竟使用PXE的人还是少数,而且使用PXE的人也能根据内存情况解决(只要有一个开关)

checkrange 524:-1 calc *0x413 & 0xffff || offint15
回复

使用道具 举报

30#
发表于 2011-7-20 11:00:03 | 只看该作者
看来只有设置一个开关了。

而默认时,究竟是采用 int15 的保护呢,还是不采取 int15 的保护,这还需要表决。

请再多一些人来说说。
回复

使用道具 举报

29#
发表于 2011-7-20 10:51:00 | 只看该作者
设置一个开关,默认使用int15保护。

[ 本帖最后由 zxw 于 2011-7-21 17:57 编辑 ]
回复

使用道具 举报

28#
 楼主| 发表于 2011-7-20 10:48:52 | 只看该作者
1:那displaymem显示的可用常规内存是否应该显示的是0x413的值?
   我看到PXE启动时,6.10版及7.14版0x413都是05 02,应该是正确的。

2:PXE启动时,能否加个命令,使int15保护的状态禁用。
回复

使用道具 举报

27#
发表于 2011-7-20 10:27:35 | 只看该作者

回复 #26 zhaohj 的帖子

好了,这下就全清楚了。

先前由于没有贴 BIOS 数据区的内容,所以仅仅凭借 int15 的显示来说话。但 int15 在常规内存中不具有 “话语权”,因此,先前的分析是无效的。

在常规内存中,真正具有事实工业标准地位的是 0x413 处的 “常规内存总量”。

在 PXE 启动时,常规内存总量变成了 517K,如果此时使用 map,则会占据 12K,结果,常规内存将会减少到 505K。这正是 Windows 报告的数值,无法启动 Windows。

就是说,DELL 的 PXE 是很糟糕的。它的 EBDA 也是很糟糕的。

EDBA 通常只有 1K,2K 或 4K,而 DELL 的 EDBA 占据 16K。

DELL 的 PXE 又占据了 624K - 517K = 107K。

EBDA 和 PXE 两者总共占据 123K。这就造成 grub4dos 的 map 没有足够空间可用的情况。

======================================

剩下一个疑问:为何旧的 grub4dos 能够启动 Windows?

旧的 grub4dos 的 map 没有修正 int15,而 Windows NT 则使用 int15 来确定常规内存。由于旧的 int15 完全没有保护 12K 的仿真代码,即,相当于这些代码不占据常规内存,因此,骗过了 Windows NT 的启动程序。经过 karyonix 修正的 int15 则保护了 12K 的仿真代码,于是,Windows 就发现,内存不够了,因此,Windows 拒绝继续运行。

好了,这就完全解释清楚了。karyonix 的代码,并未表现出错误(其实也有小错误,不过没有影响到 DELL 这台机器的情况,这些小错误以后也会加以更正的)。它只是太真实了,所以,反而无法启动 Windows 了。

已经证明了,问题的根源在于 DELL 的 PXE 代码以及 EBDA 占用了过多的内存,只剩下 5K 的空间留给别的程序(例如磁盘仿真)使用。这是 grub4dos 无法启动 Windows 的根源。解决办法正如前面所说,可以使用 memdisk 来代替 grub4dos,也可以使用 wee127 等,不再重复说明了。它们可能只需要 5K 就能完成仿真的任务。

===================================

从这一系列的报告中,我们可以了解到不少知识。

其一,主板制造商用 0x413 来指示常规内存的占用情况。而在主板的 int15 中,根本不反映常规内存的占用情况。这一点与以往所公布的资料是一致的。这确立了 0x413 (在常规内存方面)的事实工业标准地位。

其二,Windows NT 不使用 0x413 这个具有事实工业标准地位的规范,它反其道而行之,使用 int15 来确定常规内存的使用情况。旧版的 grub4dos 之所以能够 “蒙混过关”,就是因为省略了 int15 的步骤,导致仿真代码(所占据的空间)实际上处于不被 int15 保护的状态,使得 Windows 以为仿真代码没有占用空间,因而幸运地启动了 Windows。新的 grub4dos 之所以不能启动 Windows,则是因为增补了 int15 代码,让 Windows 明白,仿真代码占据了 12K 的空间,于是,Windows 发现,总的剩余空间不够 512K,从而拒绝启动。所有这一切证明了,Windows NT 并不看 0x413 处的值,而只看 int15 的返回结果。

好了,我们已经知道了,硬件制造商和微软(确切地说,是微软的 NT)使用的是不同的规范。在 DOS 和 Win9x 时代,大家都使用 0x413 这个统一的规范(那时候,甚至 int15/E820 这个规范都可能是不存在的,或者刚刚诞生不久)。

======================

以上就是这一系列报告的概况(或综述)。至于说如何解决这一问题,大家先发表各自的意见吧。
回复

使用道具 举报

26#
 楼主| 发表于 2011-7-20 07:20:48 | 只看该作者
太神奇了,hdd-boot,常规内存量仍然是 624K。
我把资料分成两个目录下:610目录代表grub4dos版本号是2011-06-10;714代表grub4dos版本号是2011-07-14
下面的文件:
pxe,代表pxe启动时的保存的内存5K
hdd,代表hdd启动时的保存的内存5K
hdd-mem表示hdd启动时displaymem的输出记录
----------------
大概看了一下,HDD启动时,可用的常规内存是0x270=624kb,与显示的实际情况相符。PXE启动时,可用的常规内存是0x205=517kb,与displaymem的情况不相符。

[ 本帖最后由 zhaohj 于 2011-7-20 08:19 编辑 ]

DELL620.zip

6.42 KB, 下载次数: 30, 下载积分: 无忧币 -2

回复

使用道具 举报

25#
 楼主| 发表于 2011-7-19 22:47:05 | 只看该作者
好的,单位同事的机器,扣留几天没问题。
不过问题不大,单位同事的机器一定在单位的,随时可以支配!(好在自己有这点权力)。
---------------
我就上传两个5K的内存空间(PXE与非PXE启动的5K内存空间)。
回复

使用道具 举报

24#
发表于 2011-7-19 22:37:39 | 只看该作者
把 BIOS 数据区显示出来看看。也可以顺便把中断向量表弄出来看看。

另外,等将来更新 grub4dos 以后,还需要验证问题是否解决了。

你就多扣留几天吧,直到问题彻底解决为止。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-3 20:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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