找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: chenall

[原创]支持外置硬盘控制器驱动,可任意方式启动的PE[10-01-13稳定版]

  [复制链接]
发表于 2009-11-18 22:20:34 | 显示全部楼层
今天无意中发现这个:http://chenall.liondrive.com/

inifile.com也是你发明的,相信你能解决!
回复

使用道具 举报

 楼主| 发表于 2009-11-19 08:15:17 | 显示全部楼层
原帖由 zhaohj 于 2009-11-18 22:20 发表
今天无意中发现这个:http://chenall.liondrive.com/

inifile.com也是你发明的,相信你能解决!


这里的INIFILE是从网上下的。
http://home.mnet-online.de/horst.muc/div.htm#inifile
回复

使用道具 举报

发表于 2009-11-19 08:23:39 | 显示全部楼层
今天早上实机测试了一下,#1347楼的问题还是存在,我每步测试一下如下:
而虚拟机测试是通过的。
我的机器3硬盘,开启AHCI,ich10

[ 本帖最后由 zhaohj 于 2009-11-19 08:31 编辑 ]
IMG032.jpg
IMG033.jpg
回复

使用道具 举报

发表于 2009-11-19 11:20:01 | 显示全部楼层
我再在另外一台机器上(marvell芯片)开启AHCI,接上3个硬盘,启动完好!
是不是我的其中一个硬盘分区有问题导致出现上述问题?
其中一个硬盘当时FIRADISK驱动加载后分区情况出现异常,在这个错误下分的扩展分区。肯定与这个有关。
可能把这个硬盘拔掉问题会解决。
回复

使用道具 举报

 楼主| 发表于 2009-11-19 12:27:22 | 显示全部楼层
和硬盘应该没有关系,你上面的图片,最后面
ls (hd0,0)
看一下。
回复

使用道具 举报

发表于 2009-11-19 12:48:01 | 显示全部楼层
原帖由 chenall 于 2009-11-19 12:27 发表
和硬盘应该没有关系,你上面的图片,最后面
ls (hd0,0)
看一下。


可能与我的机器内存是4G有关,在其他2G内存的机器上都没有问题。
IMG034.jpg
回复

使用道具 举报

 楼主| 发表于 2009-11-19 14:05:10 | 显示全部楼层
原帖由 zhaohj 于 2009-11-19 12:48 发表


可能与我的机器内存是4G有关,在其他2G内存的机器上都没有问题。


有可能,目前GRUB4DOS支持4G内存的功能正在测试,我没有条件测试。没试过。
回复

使用道具 举报

发表于 2009-11-19 15:28:10 | 显示全部楼层
看来这个G4D版本的问题还比较严重,而现在又没有其他版本可代替(要用到HD新功能)。

得出一个结论:只要内存>=4G,用到UNMAP的都不能启动PE。0PE和MICROPE或CSPE都如此。
全内置PE可以启动,没用到UNMAP。
望C大到时空论坛反馈一下。
回复

使用道具 举报

 楼主| 发表于 2009-11-19 17:22:35 | 显示全部楼层
有没有更详细的信息?有可能的话自己去时空报告一下。

比如map --unmap前后的内存信息,map状态等。
还有map --unmap后
直接使用map --hook是否正常,使用map --rehook的信息等。
回复

使用道具 举报

发表于 2009-11-19 23:01:03 | 显示全部楼层
你可以讲讲需要怎样测试步骤。
map --unmap前后的内存信息需要哪些,怎样查看。
我明天测试一下,不知用虚拟机4G内存能不能重现,当然这样本机就需要6G内存了,32位系统可能没用。
回复

使用道具 举报

 楼主| 发表于 2009-11-20 09:02:32 | 显示全部楼层
你先试一下把EXT.ZIP里面的GRUB.EXE换成新版的。
回复

使用道具 举报

发表于 2009-11-20 09:36:31 | 显示全部楼层
原帖由 chenall 于 2009-11-20 09:02 发表
你先试一下把EXT.ZIP里面的GRUB.EXE换成新版的。


ope里的GRUB.EXE是2009.11.14,应该是最新的,OPE情况也是这样。
回复

使用道具 举报

 楼主| 发表于 2009-11-20 10:03:01 | 显示全部楼层
map --status
displaymem

然后map --rehook以后再次执行以上命令,把结果截图上来。
回复

使用道具 举报

发表于 2009-11-20 10:49:32 | 显示全部楼层
我下面图中已有注明,map --unmap前、后及rehook后

[ 本帖最后由 zhaohj 于 2009-11-20 10:51 编辑 ]

unmap前

unmap前

unmap后

unmap后

rehook后

rehook后
回复

使用道具 举报

发表于 2009-11-20 11:25:41 | 显示全部楼层
超屏了,再贴一下详细的
IMG038.jpg
IMG039.jpg
IMG040.jpg
IMG041.jpg
IMG042.jpg
IMG043.jpg
回复

使用道具 举报

 楼主| 发表于 2009-11-20 13:19:56 | 显示全部楼层
忘了问一下,
unmap之前(hd0,0)可以正常访问吗?
也就是进入DOS后访问的C:是否正常的。

另外再试一下使用map --hook而不是map --rehook看一下数据。

[ 本帖最后由 chenall 于 2009-11-20 13:35 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-11-20 13:52:32 | 显示全部楼层
@zhaohj ,上面的信息如果不点有看到应该就可以处理了,前后的长度变了。所以就不能正常访问了。

有空的话麻烦再做一下以下测试。
首先开启debug
debug on
然后显示当前状态
map --status
....
map --rehook
map --status
所有的提示信息截图,看一下.
回复

使用道具 举报

发表于 2009-11-20 14:16:50 | 显示全部楼层
unmap之前(hd0,0)不能正常访问。在下面
ls (fd0)/to128.flg && map --mem (hd1,0)+1 (hd0)
checkrange 6009 read 0x60008 && map --mem (fd1)+1 (fd0)
geometry (hd0)
ls (hd0,0)/
IMG044.jpg
回复

使用道具 举报

 楼主| 发表于 2009-11-20 14:22:42 | 显示全部楼层
原帖由 zhaohj 于 2009-11-20 14:16 发表
unmap之前(hd0,0)不能正常访问。在下面
ls (fd0)/to128.flg && map --mem (hd1,0)+1 (hd0)
checkrange 6009 read 0x60008 && map --mem (fd1)+1 (fd0)
geometry (hd0)
ls (hd0,0)/


那就是启动后进入DOS后就已经访问不了了。
回复

使用道具 举报

发表于 2009-11-20 14:36:25 | 显示全部楼层
现在说rehook有毛病还为时过早,6.20、11.5、11.14版本都如此。看来是历史遗留问题。
回复

使用道具 举报

 楼主| 发表于 2009-11-20 15:40:04 | 显示全部楼层
原帖由 zhaohj 于 2009-11-20 14:36 发表
现在说rehook有毛病还为时过早,6.20、11.5、11.14版本都如此。看来是历史遗留问题。


以前的版本不支持4G内存。

你试了确定以前的版本都会这样吗?把GRLDR和GRUB.EXE都换成以前的版本。
回复

使用道具 举报

发表于 2009-11-20 15:50:18 | 显示全部楼层
我测试一下6.20号版本,把这两个都换了测试一下能不能访问(hd0,0)。
回复

使用道具 举报

发表于 2009-11-20 17:24:01 | 显示全部楼层
这个测试太难了,需要实机测试。本来我怀疑PXE问题,但用光驱测试也一样。
发觉非PXE启动,新版CSPE也不支持SRS拆开(txtsetup.sif方式)。
>=4G就等不点大人解决吧。
回复

使用道具 举报

 楼主| 发表于 2009-11-20 18:23:12 | 显示全部楼层
原帖由 zhaohj 于 2009-11-20 17:24 发表
这个测试太难了,需要实机测试。本来我怀疑PXE问题,但用光驱测试也一样。
发觉非PXE启动,新版CSPE也不支持SRS拆开(txtsetup.sif方式)。
>=4G就等不点大人解决吧。


要求CSPE所在磁盘是FAT格式的,否则在DOS下无法访问了。
我使用U盘启动是可以的。同PXE启动的格式一样。
回复

使用道具 举报

发表于 2009-11-20 22:56:24 | 显示全部楼层
我用的是光盘,DOS下没加载驱动也无法访问光盘。这样看来PXE优势明显。
SRS拆开方式(指TXTSETUP.SIF方式)是为了驱动更新方便,可以方便的拿来主义。
这样看来,这种方式还是局限性较多,仅PXE较好。
回复

使用道具 举报

发表于 2009-11-20 23:04:33 | 显示全部楼层

回复 #1387 zhaohj 的帖子

拆开后,pxe访问、本地访问有局限,不一致。所以目前还是zip格式打包通用,清爽。双击zip文件自动用winrar打开,把文件拖进拖出,很方便。
回复

使用道具 举报

发表于 2009-11-20 23:13:03 | 显示全部楼层
原帖由 pseudo 于 2009-11-20 23:04 发表
拆开后,pxe访问、本地访问有局限,不一致。所以目前还是zip格式打包通用,清爽。双击zip文件自动用winrar打开,把文件拖进拖出,很方便。


赞成这个观点,主要是希望ZIP打包也支持里面的TXTSETUP.SIF,也就是PE内置驱动的格式打包,里面是SYS(或SY_)文件和txtsetup.sif。
拆开是无所谓的,ZIP打包一样方便。
回复

使用道具 举报

发表于 2009-11-20 23:43:14 | 显示全部楼层
原帖由 zhaohj 于 2009-11-20 23:13 发表
赞成这个观点,主要是希望ZIP打包也支持里面的TXTSETUP.SIF,也就是PE内置驱动的格式打包,里面是SYS(或SY_)文件和txtsetup.sif。
拆开是无所谓的,ZIP打包一样方便。

10.06测试版@livemesh
===================
1. 允许SRS*.ZIP由txtsetup.sif文件和含.sy?的Drivers目录构成。方便将其它PE带的SRS驱动直接搬到0PE中使用。但目前暂时限制
    txtsetup.sif不能超过60K,每个SRS*.ZIP文件不能超过3M.

10.11测试版@livemesh
===================
5. 压缩后SRS1.ZIP、SRS2.ZIP、F6.ZIP、OEM_SRS.ZIP每个文件不要超过10000K。由于这次加大上限时采用笨办法没作优化,现在
   启动PE所需内存略超128M,以后再考虑降低。
回复

使用道具 举报

发表于 2009-11-21 06:50:14 | 显示全部楼层
有机会上网回复一下。

貌似 displaymem 仅仅显示系统内存,不会包括 map 之后的影响。所以,由 displaymem 显示的内存总是一样的,不必显示很多次。

map --status 的显示当然很重要。chenall 怀疑 --rehook 有问题,我也怀疑。但是目前我不能看代码,所以,希望 chenall 再研究一下 rehook 的代码部分,看看是否能找出什么毛病来。

另外,虽然你的 displaymem 显示你的内存已经超过了 4G,但是,map 所映射的内存并未放在 4G 以上,而是在 4G 以内。因此,这个问题似乎与内存的大小无关。

另外,测试者应该很容易确定,究竟为什么 (hd0,0) 不能被识别。比如,测试者可以运行 cat --hex (hd0,0)+XXXXXXXX 之类的命令,看看 (hd0,0) 的扇区数据是否被破坏了。另外,当 ls (hd0,0)/ 报错时,紧接着再尝试一次 root (hd0,0),看看能否成功。
回复

使用道具 举报

 楼主| 发表于 2009-11-21 10:04:15 | 显示全部楼层
我从图片上太概看出了一点问题,

长度自动加了0x20=32
刚好是CSPE.IMG的一个磁道。。
所以可以试试在出错后(因为已经共执行了两个的map --rehook)

map --mem (hd0)0x40+0x19020 (hd1)
map --hook
看一下(hd1,0)是否可以访问。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-13 15:49

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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