无忧启动论坛

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

DOS下查找磁盘里的grub.exe并运行,增加一个刷入BIOS的img

  [复制链接]
跳转到指定楼层
#
发表于 2015-1-13 20:31:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 2013abcdefg 于 2015-3-2 21:01 编辑

DOS下查找磁盘里的grub.exe并运行,文件大小13K
符件有源码

感谢TajuraTong和roytam1的支持与帮助!

相关教程请看老毛桃贴子< 硬盘无法启动,无光、软驱,没关系!不死系统让你电脑维护不耽误!>
http://bbs.wuyou.net/forum.php?m ... hlight=%B2%BB%CB%C0


grub.exe下载直达214#:
http://bbs.wuyou.net/forum.php?m ... &fromuid=472277






sshot-1.png (29.42 KB, 下载次数: 275)

G2X方案界面

G2X方案界面

sshot-1.png (17.67 KB, 下载次数: 301)

G3X方案界面

G3X方案界面

g.7z

7.69 KB, 下载次数: 70, 下载积分: 无忧币 -2

g.exe

G2X方案ROMOS.zip

355.76 KB, 下载次数: 59, 下载积分: 无忧币 -2

g2x方案img

G3X方案ROMOS (1).zip

359.64 KB, 下载次数: 86, 下载积分: 无忧币 -2

g3x方案

推荐
发表于 2015-1-28 11:56:46 | 只看该作者
本帖最后由 TajuraTong 于 2015-1-28 16:55 编辑
TajuraTong 发表于 2015-1-27 19:25
71comm.com之下,一切方便得多了,你可以跑跑其他软件试试

暂时看不出g2.com哪里出问题,在我的虚拟机 ...


之前说修改g2x.com,给dosset.bat自动填入盘符,想想,这样做太琐碎。
不如由g2x.com传回errorlevel更具弹性,因为别的程式或batch均可读取,再做处理。

好吧,g2x.com只做了小修改,发现file,并顺利执行则传回执行档案的盘符编号

比如键入g2x \71comm.com
若成功执行71comm.com且在A盘则传回1,B盘传回2.....Z盘传回26

压缩包里有新版的g2x.com,一个sdos.bat批次档和71comm.com
键入sdos.bat就可以了,不须任何参数。

运行流程:
sdos.bat第一次被载入,当前环境,还是freeDos那个弱爆command.com
不认得第一行的 if,直接无视跳到第2行,执行g2x  \71comm.com /K sdos.bat  XX:
/K 表示不返回,载入新的dos 7.1后由它执行sdos.bat XX:

sdos.bat第2次被载入,当前环境,已是威力相当的dos 7.1,有能力解释第一句了
因着参数"%1"=="XX:",于是跳到done,然后再次执行g2x  \71comm.com  /c echo  ..
/c 表示返回,这样才可以获取errorlevel。(freeDos下的command.com没有本事解释errorlevel)

根据errorlevel跳到相关的位置设定变nn,若errorlevel=26,nn=Z,errorlevel=25,nn=Y.....
然后再跳到去设定COMSPEC

set COMSPEC=%nn%:\71comm.com
prompt $p$g
cls
echo Dos 7.1 Loading...
(收工)


sdos.bat 的样子很丑陋,因为dos 7.1尽管比freedos强,但远没有windows的cmd.exe那样无所不能,
连&&也不支援,不能简化代码,只好将就。


用法:
把sdos.bat和g2x.com放进ROMD64KB.IMG,71comm.com放到任何盘里,
若71comm.com不在\,可自行修改sdos.bat,之前的dosset.bat可以丢了。
键入sdos.bat就是。
若不小心按了exit,会返回freedos,可以再键入sdos.bat跳回dos7.1


-------------------------------------------------------------
if "%1"=="XX:" goto done      (第1行)
g2x  \71comm.com  /K sdos.bat  XX:  (第2行)
:done
g2x  \71comm.com  /c echo  ..
if errorlevel 27 goto error
if errorlevel 26 goto Z
if errorlevel 25 goto Y
.
.
.
.
if errorlevel 1  goto A
.
.
.
:A
set nn=A
goto NX
.
.
.
:NX
set COMSPEC=%nn%:\71comm.com
prompt $p$g
cls
echo Dos 7.1 Loading...

-------------------------------------------------------------


g2x-dos.rar (42.71 KB, 下载次数: 32) g2x-dos.rar (41.59 KB, 下载次数: 33)

点评

经测试使用正常! 直接sdos是成功的, 71commd.com接管DOS. 键入exit后,再set查看,里面还有comspec=c:\71command.com, 这个好还还是使用71command.com的.  详情 回复 发表于 2015-1-28 14:29
您的方式相当于切换两个command.com了, 方法不错  发表于 2015-1-28 13:04
回复

使用道具 举报

推荐
发表于 2015-1-31 10:51:49 | 只看该作者
roytam1 发表于 2015-1-31 10:11
這個要在minicmd中實視,稍後時間我試試看

pwrmenu好像只是把command.com载入,没有传递参数,并不能执行batch,
即便传了,command.com不支持 /c 也没用。

minicmd.com似乎也没有 /c 的机制。

设想中新的gui - g2x可以执行bat(当然也要command支持),大概两三天后完成(要找时间写),暂时不用折腾pwrmenu了。

点评

很期待!现在minicmd.com 已经支持 /c了,原gui.exe可调用bat了,我现在的方案是用您的g2x.com以bat文件(类似ini文件)用的. 这样只要改bat文件就可以改多目录了! 谢谢  详情 回复 发表于 2015-1-31 16:29
回复

使用道具 举报

推荐
发表于 2015-1-30 09:44:36 | 只看该作者
減少並合併函數,以減少體積 (雖然FAT中的大小無法減少啦。)
minicmd.7z (70.74 KB, 下载次数: 38)

点评

对的,每次缩减须以磁区(512)的倍数为单位,否则实质意义不大。  详情 回复 发表于 2015-1-30 11:43
正想如何减少体积,您就做好了,谢谢!  详情 回复 发表于 2015-1-30 11:05
回复

使用道具 举报

推荐
发表于 2015-1-28 19:13:57 | 只看该作者
稍微改進了一下minicmd:
- 可以直接用 "dir/w" 不用加空格了
- if 不再產生空行了
- if 支持 NOT 關鍵字
- 換用aPack壓縮
minicmd.7z (19.01 KB, 下载次数: 17)

点评

很好用, 谢谢提供!  详情 回复 发表于 2015-1-28 19:32
回复

使用道具 举报

300#
 楼主| 发表于 2015-3-26 15:46:13 | 只看该作者
发个新的romos

ROMOS-g2x.7z

364.65 KB, 下载次数: 31, 下载积分: 无忧币 -2

回复

使用道具 举报

299#
 楼主| 发表于 2015-3-24 14:35:21 | 只看该作者
本帖最后由 2013abcdefg 于 2015-3-24 14:36 编辑

用G2X方案就可以了,g3x方案也可以的,就换一下文件就可以了,晚点我再放出做好的IMG
回复

使用道具 举报

298#
发表于 2015-3-23 23:25:03 | 只看该作者
我说一句。目前的方案freesdos的img镜像没有问题,但是离romos还不适用,希望按照romos推进!!
回复

使用道具 举报

297#
 楼主| 发表于 2015-3-16 10:41:24 | 只看该作者
谢谢TajuraTong.
回复

使用道具 举报

296#
发表于 2015-3-16 10:27:27 | 只看该作者
本帖最后由 TajuraTong 于 2015-3-16 11:53 编辑

反白也没不可的,这里把上面三版本做了反白,一个是freedos + grldr,
一个是io.sy + grldr,一个是freedos + io.sys + grldr

三个版本都压缩了,但也保留了原来未压缩的。

保留未压缩版本是因为:
1.若你想把freedos 或者search Grldr的文字改动,未压缩的版本可以用winhex去编辑显示表单,就在kernel档最前位置。
2.压缩版本用了比较粗暴的手法压缩,若碰到有些系统不能运作(暂时未发现),可以用回未压缩版。


g3x.com也做了轻微改动:-
新增了F7键,按了后会出现 Reload system (y/n)
若按y则系统重启,在freedos之下相当于按reset键,io.sys下则会重启mbr,速度比较快。
若在虚拟机中,速度更快。

HighLight_Freedos_grldr_iosys.rar (49.22 KB, 下载次数: 25)

G3x.com, Bug fix了在windows 下的dos,按f7无效

HighLight_Freedos_grldr_iosys.rar (49.22 KB, 下载次数: 33)
回复

使用道具 举报

295#
 楼主| 发表于 2015-3-14 18:39:55 | 只看该作者
本帖最后由 2013abcdefg 于 2015-3-15 08:54 编辑

现在的方案应该是最好的了(可用DOS又可查硬盘上的grldr)! 是否反白效果的选单比较易看一点?谢谢
回复

使用道具 举报

294#
发表于 2015-3-14 14:22:13 | 只看该作者
本帖最后由 TajuraTong 于 2015-3-16 18:54 编辑

其实265楼已有说明:


用winhex或任何编辑器,载入KERNEL.SYS,移到档案最末4个bytes,即
#17 00 0A

#号之后,第一个值是列号,17是十六进制的23,即第23列显示选单,此值可以是0-17,
(即10进制的0-23),大于17均视为17(即第23列)
要注意的是,若选单只有2项,范围是0-17(即10进制的0-23)
若选单有3项,范围是0-16(即10进制的0-22)

#号之后,第二个值00 表示KERNEL.SYS是预设启动,01或任何非00的值,则
Search Grldr是预设。若表单有三项的话,这个值可以是0,1,2

#号之后,第三个值表示倒数,0A是10秒(0A是十六进制,即10),这个值可以是01-0A,
大于0A则不倒数,直接跳到预设启动。若设为0则不倒数,只等使用者按上下,Enter

例子:
#16 01 05
表示22列显示选单,预设Search Grldr启动,倒数5秒,不选择则自动Search Grldr
回复

使用道具 举报

293#
发表于 2015-3-14 14:08:42 | 只看该作者
TajuraTong 发表于 2015-3-14 11:56
文件夹挤了一堆file,搞不好我也记不清哪个跟哪个了。

这个是 Freedos + io.sy + GrLDR 载入器。


将三个压缩版本测试,加载freedos和io.sys都正常,grldr也出来了搜索不到的提示(虚拟机无硬盘)。

又将2.88m改为1.44M和720k的测试了下也正常。

特上传一个集合包吧,感谢TajuraTong!

希望能增加如何修改kernel.sys默认选项与等待时间的文字说明。

TajuraTong.zip

93.59 KB, 下载次数: 26, 下载积分: 无忧币 -2

回复

使用道具 举报

292#
发表于 2015-3-14 11:56:28 | 只看该作者
文件夹挤了一堆file,搞不好我也记不清哪个跟哪个了。

这个是 Freedos + io.sy + GrLDR 载入器。
未压缩的未到10k,压缩的7k多些,若都正常就随便哪个都可以。

主file是kernel.sys,可以配合任何的freedos镜像(size任意),
io.sys的版本不区分,原来的kernel.sys改名成kern00.sys,freedos版本也是任意的。

使用方法是找一个freedos镜像,移走原来的file,
搬进新的Kernel.sys、io.sys、kern00.sys和其他相关档案,save即可。


GrLdr_freedos_Iosys.rar (14.72 KB, 下载次数: 7)


这个是压缩了的io.sys + GrLDR 载入器,不到7k,使用方法看楼上。

GrLdr_iosys.rar (7.09 KB, 下载次数: 4)

有错误请回报!


GrLDR载入器配合其他系统的技术好像也差不多了!
改天我再把源码和方法释出。



点评

将三个压缩版本测试,加载freedos和io.sys都正常,grldr也出来了搜索不到的提示(虚拟机无硬盘)。 又将2.88m改为1.44M和720k的测试了下也正常。 特上传一个集合包吧,感谢TajuraTong! 希望能增加如何修改  详情 回复 发表于 2015-3-14 14:08
回复

使用道具 举报

291#
发表于 2015-3-14 07:45:14 | 只看该作者
TajuraTong 发表于 2015-3-13 18:03
这个是io.sys + GrLDR 载入器,也叫Kernel.sys,选单是io.sys 和 search GrLDR
和之前的版本分别是可以配 ...

谢谢了。这个还是很不错的!感谢您的辛苦劳动和无私的付出。
干脆还出个支持任意镜像大小综合版的吧,即io.sys+freedos+grldr的。
回复

使用道具 举报

290#
发表于 2015-3-13 18:03:38 | 只看该作者
这个是io.sys + GrLDR 载入器,也叫Kernel.sys,选单是io.sys 和 search GrLDR
和之前的版本分别是可以配合任何的freedos镜像(size任意),io.sys的版本也不区分
不要用载入io.sys的镜像,否则没法载入Kernel.sys。
使用方法是找一个freedos镜像,移走原来的file,搬进Kernel.sys,io.sys和其他相关档案,save即可。


METAKERN.SYS的那个年代可能还未有任意扩容的技术,没有考虑到img的大小,
一旦镜像size不同就会死得很惨。

这个Kernel.sys没有压缩,因为要用io.sys的镜像size通常都不会太小,压缩的意义不大,
况且压这种Kernel.sys不是普通的简单,挺烦的!

有用的拿去用吧,若有错误请回报!

FreeDos_IOsys.rar (6.5 KB, 下载次数: 10)

点评

谢谢了。这个还是很不错的!感谢您的辛苦劳动和无私的付出。 干脆还出个支持任意镜像大小综合版的吧,即io.sys+freedos+grldr的。  详情 回复 发表于 2015-3-14 07:45
回复

使用道具 举报

289#
 楼主| 发表于 2015-3-13 16:17:57 | 只看该作者
本帖最后由 2013abcdefg 于 2015-3-13 17:32 编辑
TajuraTong 发表于 2015-3-13 15:44
这个是压缩了的freedos + GrLDR 载入器,6k多一点
可以配合任何的freedos镜像(size任意),原来的的kernel. ...


谢谢,马上测试~

十分感谢!测试可用。谢谢
回复

使用道具 举报

288#
发表于 2015-3-13 15:44:46 | 只看该作者
这个是压缩了的freedos + GrLDR 载入器,6k多一点
可以配合任何的freedos镜像(size任意),原来的的kernel.sys改名为kern00.sys

请测试并回报...
GrLdr_freedos_6k.rar (6.65 KB, 下载次数: 9)

点评

谢谢,马上测试~  详情 回复 发表于 2015-3-13 16:17
回复

使用道具 举报

287#
 楼主| 发表于 2015-3-12 22:49:08 | 只看该作者
TajuraTong 发表于 2015-3-12 17:38
嗯,若再没问题,我回头给它压一下,今天到止为止,下班了!

能够压一下更好,谢谢! 已经在用!
回复

使用道具 举报

286#
发表于 2015-3-12 17:38:49 | 只看该作者
嗯,若再没问题,我回头给它压一下,今天到止为止,下班了!

点评

能够压一下更好,谢谢! 已经在用!  详情 回复 发表于 2015-3-12 22:49
回复

使用道具 举报

285#
 楼主| 发表于 2015-3-12 17:30:25 | 只看该作者
TajuraTong 发表于 2015-3-12 16:29
试试这个,不过仍没有详细测试 grldr + freedos

这个kernel.sys牺牲了size,程式大了1k

实机测试测试grldr可以正常找到!
测试放在1.44M和2.8M的freeDOS的IMG中都正常!
回复

使用道具 举报

284#
发表于 2015-3-12 16:29:10 | 只看该作者
试试这个,不过仍没有详细测试 grldr + freedos

这个kernel.sys牺牲了size,程式大了1k
把kernel.sys放进任何的freedos镜像(size任意),原来的的kernel.sys改名为kern00.sys

就这样,什么也不用做,运行一下再回报吧!
freedos_grldr.rar (6.43 KB, 下载次数: 10)

点评

实机测试测试grldr可以正常找到! 测试放在1.44M和2.8M的freeDOS的IMG中都正常!  详情 回复 发表于 2015-3-12 17:30
回复

使用道具 举报

283#
 楼主| 发表于 2015-3-12 16:03:26 | 只看该作者
TajuraTong 发表于 2015-3-12 14:47
压缩包里一个是64k,一个是1.2m

这版的GrLdr 载入器,名称是:kernel.sys,内含Grldr.mbr和选单程式。

kk-rom版本的kernel.sys(内含grldr.mbr和选单程式),有问题。提示找不到grldr

而265楼grldr.mbr和dernel.sys的整合版本无此问题。正常!
回复

使用道具 举报

282#
发表于 2015-3-12 14:47:33 | 只看该作者
压缩包里一个是64k,一个是1.2m

这版的GrLdr 载入器,名称是:kernel.sys,内含Grldr.mbr和选单程式。
原来的kernel.sys改名为kern00.sys

两个img里的free dos(kern00.sys)可以是任何版本,只要改名为kern00.sys,再配合kernel.sys就是
两个img里的kernel.sys(grldr载入器)有些不同,因为img的size不一样,所以要做调整,二者并不能交换

要做出一个通杀的kernel.sys已有些眉目,找空再看看...

kk-rom.rar (109.2 KB, 下载次数: 4)

点评

kk-rom版本的kernel.sys(内含grldr.mbr和选单程式),有问题。提示找不到grldr 而265楼grldr.mbr和dernel.sys的整合版本无此问题。正常!  详情 回复 发表于 2015-3-12 16:03
回复

使用道具 举报

281#
 楼主| 发表于 2015-3-11 19:37:48 | 只看该作者
本帖最后由 2013abcdefg 于 2015-3-11 21:03 编辑

测试GR_Kernel.rar 改了大小就失败了。可以做一个ROM64kb.img版本的吗?
还有改默认现在如何改了?
看来通用性还是原来的kernel.sys通用一点

ROMD64KB.zip

55.67 KB, 下载次数: 7, 下载积分: 无忧币 -2

回复

使用道具 举报

280#
发表于 2015-3-11 17:42:18 | 只看该作者
本帖最后由 TajuraTong 于 2015-3-11 18:07 编辑

其实metakern.sys只是干着我在277楼做的事,或者换个说法,
我重复了metakern.sys许多年前干过的工作,可惜之前我没见过metakern.sys,
不然我大概可以省点气力,英雄所见略同就是这个意思吧。

不管metakern.sys也好,我的选单程式也好,都是把不同OS的MBR写入启动区,
但因为启动IMG的方式五花八门,img,iso,ima等等,而且镜像大小又各异,所以同一套
方法不能适应各种环境,大家可以把metakern那个镜像用UltraISO扩大或缩小容量,
包管十之八九不能运行。


下面是独立了的,含grldr选单的镜像。

GR_Kernel.rar: 是grldr和KERNEL.SYS的组合,BOOTMENU.SYS(7k)内含了grldr.mbr,不可更换,
KERNEL.SYS可以随便更换不同版本的KERNEL.SYS,扩大或缩小容量,或把
BOOTMENU.SYS和KERNEL.SYS覆制到别的镜像,不保证能正常运行!
GR_Kernel.rar (56.45 KB, 下载次数: 7)

WY3.rar: 是grldr和io.,sys的组合,KERNEL.SYS(7k)内含了grldr.mbr,不可更换,
io.sy应该可以换不同版本的io.sys,扩大或缩小容量,
或把KERNEL.SYS和io.sys覆制到别的镜像,不保证能正常运行!

WY3.rar (133.82 KB, 下载次数: 5)



265楼的程式,内置了grldr和KERNEL.SYS(size当然挺大),并不涉及各种mbr环境,
反而可以移植到不同的镜像。

暂时没空研究万用的mbr载入方式,暂时就这样。
回复

使用道具 举报

279#
 楼主| 发表于 2015-3-10 23:12:35 | 只看该作者
本帖最后由 2013abcdefg 于 2015-3-10 23:51 编辑

关注一下TajuraTong的进展.!
metakern.sys应该是和IMG的MBR关联的,可以改成作为freedos和search Grldr 及其它的引导菜单.最好是可选择的方式。这样KERNEL.SYS和Grldr.mbr可以不合并都行。
不知可行不?
回复

使用道具 举报

278#
发表于 2015-3-10 16:06:26 | 只看该作者
本帖最后由 TajuraTong 于 2015-3-11 18:18 编辑
cchessbd 发表于 2015-3-10 15:59
如果软盘镜像大小改变的话,kernel.sys还能使用吗?


不一定能运行,你可以自行测试一下
回复

使用道具 举报

277#
发表于 2015-3-10 15:59:45 | 只看该作者
如果软盘镜像大小改变的话,kernel.sys还能使用吗?

点评

只要bsf没改,kernel.sys还在,怎么改也可以  详情 回复 发表于 2015-3-10 16:06
回复

使用道具 举报

276#
发表于 2015-3-10 15:51:17 | 只看该作者
2013abcdefg 发表于 2015-3-10 14:30
TajuraTong是否可以改造一下这个metakern,使它变成选单,再由它载入DOS核心

嗯,我回头看看
回复

使用道具 举报

275#
发表于 2015-3-10 15:36:43 | 只看该作者

刚好

TajuraTong 发表于 2015-3-10 14:32
不须汇编,你运行一下wy1.img就是


谢谢了,这样也不错。刚好也可以达到我的功能。
回复

使用道具 举报

274#
发表于 2015-3-10 14:32:44 | 只看该作者
cchessbd 发表于 2015-3-10 13:37
这样越来越复杂了。我在上传个镜像给你研究吧,我还是不懂汇编。

这个镜像可以启动多种dos系统。但 ...

不须汇编,你运行一下wy1.img就是

点评

谢谢了,这样也不错。  详情 回复 发表于 2015-3-10 15:36
回复

使用道具 举报

273#
 楼主| 发表于 2015-3-10 14:30:15 | 只看该作者
TajuraTong是否可以改造一下这个metakern,使它变成选单,再由它载入DOS核心

点评

嗯,我回头看看  详情 回复 发表于 2015-3-10 15:51
回复

使用道具 举报

272#
发表于 2015-3-10 13:37:40 | 只看该作者
本帖最后由 cchessbd 于 2015-3-10 13:40 编辑
TajuraTong 发表于 2015-3-10 11:18
你这个img的mbr是专为io.sys之类的dos系统而设计,mbr可以由UltraISO读取或写入
方法是UltraISO上方的B ...


这样越来越复杂了。我在上传个镜像给你研究吧,我还是不懂汇编。

这个镜像可以启动多种dos系统。但是我只需要两到三种就够了。

提示信息也不要那么长,只需要出来按键+约12个字符的说明就够了。

metakern.rar

12.65 KB, 下载次数: 9, 下载积分: 无忧币 -2

combootf.7z

1.41 MB, 下载次数: 29, 下载积分: 无忧币 -2

点评

不须汇编,你运行一下wy1.img就是  详情 回复 发表于 2015-3-10 14:32
回复

使用道具 举报

271#
 楼主| 发表于 2015-3-10 11:35:10 | 只看该作者
TajuraTong 发表于 2015-3-10 11:24
你用winhex载入KERNEL.SYS,跳到最后,再往上一个page
会找到Kernel[空白][空白]Search Grldr[00]

谢谢TajuraTong的帮助! rom版本的img已经算是比较完美了!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 09:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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