无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 25074|回复: 62
打印 上一主题 下一主题

基于grub4dos的合盘,新突破,★11.14新增续尾法

  [复制链接]
1#
发表于 2009-11-13 15:27:49 | 显示全部楼层
呵呵,我现在已经可以把WINNT.SIF文件放到比较长的目录下了,例子
CSPE\KERNEL\WINNT.SIF
这样启动PE1.X就不会看起来很乱了。^_^

我下次PE更新准备把这个和MENU.LST合并成一个文件来使用。嘿嘿。
这样这个WINNT.SIF即是GRUB4DOS的菜单文件,还是SETUPLDR.BIN需要的WINNT.SIF。

当然了文件名可能会是其它的,不一定是WINNT.SIF.

只要有去了校验的SETUPLDR.BIN,直接使用GRUB4DOS就可以实现了。

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

使用道具 举报

2#
发表于 2009-11-13 17:14:34 | 显示全部楼层
#3
这个好像很难。
至于放到长目录,最多应该可以有28个字符。但需要对应的修改WINNT.SIF里面的内容。
因为借用了里面的OsLoadOptions字符。
在0x2a432位置直接用write写入即可。

#6
这就是不改启动文件的方法,启动原文件都是原版的。修改的内容都在GRUB4DOS菜单里面,比以前的方案直观。

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

使用道具 举报

3#
发表于 2009-11-13 18:13:48 | 显示全部楼层
一个使用的例子
所有的启动文件都在CSPE\KERNEL\目录下
一个SETUPLDR.BIN(论坛上下的合并NTDETECT.COM的版本)
一个CSPE.IMG
一个Loader.cfg
一个menu.cfg

其中Loader.cfg内容
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
Loader.CFG="/minint /fastdetect /rdpath=CSPE\KERNEL\CSPE.IMG"

menu.cfg内容
title cspe
#先加载SETUPLDR.BIN到内存。
map --mem=0xB000 ()/CSPE/KERNEL/SETUPLDR.BIN (rd)
#修改winnt.sif路径
write --offset=0x2a432 (rd)+1 CSPE\\KERNEL\\LOADER.CFG\0
chainloader (rd)+1
root ()

这样就可以启动了,还可以把MENU.CFG和LOADER.CFG合并成一个文件(但这需要一些技巧,否则会出错的)
合并的方法,先把MENU.CFG的回车换成MAC的(也就是只有CR)并在前面加一个";"
然后
copy /y loader.cfg+menu.cfg

说明一下
write --offset=0x2a432 (rd)+1 CSPE\\KERNEL\\LOADER.CFG\0
从这个路径的第十三个字符也就是从"L”开始是属于以前OsLoadOptions的位置,
所以WINNT.SIF里面的OsLoadOptions要相应的改变,后面\0结束。(最长不得超过28个字符,否则就不好改了)

顺便再提供其它的修改
修改默认I386目录名

#修改默认目录名
write --offset=0x2A4FB (rd)+1 WXPE

修改默认的TXTSETUP.SIF文件名
write --offset=0x2A502 (rd)+1 TXTSETUP.CFG

嘿嘿,这样子处理后这个菜单就是启动这个PE专用的了,并而和SETUPLDR.BIN没有多大关系(只要是同一版本的就行了),以后要修改路径也方便。不用再对SETUPLDR.BIN开刀了。

注意如果写入的字符超长,第13个字符不可以为\0。一般情况下最好不要超过原来的WINNT.SIF+2 即11个字符。

[ 本帖最后由 chenall 于 2009-11-14 17:34 编辑 ]
回复

使用道具 举报

4#
发表于 2009-11-14 17:28:46 | 显示全部楼层
注意看一下我的原贴,后面的
"
从这个路径的第十三个字符也就是从"L”开始是属于以前OsLoadOptions的位置,
所以WINNT.SIF里面的OsLoadOptions要相应的改变,后面\0结束。(最长不得超过28个字符,否则就不好改了)
"
需要对应的改WINNT.SIF里面的OsLoadOptions为新的字符才行的。
回复

使用道具 举报

5#
发表于 2009-11-14 17:32:33 | 显示全部楼层
忘了说一点第十三个字符不可以为\0,否则就没办法用了。

比如你覆盖了0s字符为f,
如下使用
write --offset=0x2a432 (rd)+1 1234\\RXPE.SIF\0
那winnt.sif里面的
OsLoadOptions=需要改成f=

这些如果不清楚最好不要乱改。
回复

使用道具 举报

6#
发表于 2009-11-14 19:50:55 | 显示全部楼层
如果没有看明白的朋友可以去我的搏客看一下,我今天写的文章
对这些的图文解释,了解了这些想改其它东西比如I386要改长一点也行了。
http://www.chenall.com/blog/2009/11/SETUPLDR.html
回复

使用道具 举报

7#
发表于 2009-11-15 19:29:05 | 显示全部楼层
附加到GRLDR,
我倒是觉得这样做更麻烦,,,
还不如直接打包为一个ISO文件,更简单。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-7 18:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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