中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » GRUB 加载的另一方法,非MDR和NTLDR加载
作者:
标题: GRUB 加载的另一方法,非MDR和NTLDR加载 上一主题 | 下一主题
shigzh
初级用户




积分 142
发帖 15
注册 2004-5-15
状态 离线
『楼 主』:  GRUB 加载的另一方法,非MDR和NTLDR加载

第一步:
把GRUB 中的GRLDR 拷到C盘根目录下,写好BOOT\GRUB\MENU.LST,最好GRLDR为中文版,制作一个win98启动盘,然后进行,
往DBR中写入WIN2000/XP的引导代码,可用BOOTPART.EXE 进行写入,命令为:
bootpart winnt boot:c:
具体方法可用BOOTPART /?取得。
第二步:
读出DBR的引导代码,可采用在纯DOS方式下运行DEBUG.EXE来取得,方法为:
debug
-l 100 2 0 1 ;2为C盘,依次类推,注意应为引导盘。
r cx
:200          ;512字节
-n c:\boot.bin
-w
-q
第三步:
用16进制编辑器编辑C:\BOOT.BIN文件,把其中的两处NTLDR改为GRLDR保存即可。
回写DBR的引导代码,注意纯DOS方式,方法为:
debug
-n c:\boot.bin
-l 100
r cx
:200          ;512字节
-w 100 2 0 1   ;2为C盘,依次类推,注意应为引导盘。
-q
重新启动计算机即可。
建议有编程经验的高手编写一个程序专门为grldr写引导扇区(DBR),类似BOOTPART.EXE,我为了为grldr写引导扇区,改了bootpart.exe中的dos71段的dbr引导代码,然后采用类似的方法,为GRLDR写入引导扇区代码,还可以。软盘也可采用类似方法获得,我不懂编程,见笑了,希望对大家有用。


2005-3-4 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 2 楼』:  

这个方法对于 FAT12/16/32 是可以的,但是对于 C: 盘为 NTFS 的,则失败。而且,当你执行最后一步操作,将新的 GRLDR引导扇区覆盖掉旧的 NTLDR 引导扇区之后,你的系统就只能引导 GRLDR 而不能进入 NTLDR 了。这也意味着你的 NT系统难以引导了(目前其实差不多可以说是无法引导了)。






因为我们亲手创建,这个世界更加美丽。
2005-3-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 3 楼』:  

补充:在 FAT12/16/32 的情况,你通过备份先前的 NTLDR 引导扇区,仍然可以用 chainloader 引导它,但是在 NTFS的情况下,可就麻烦了。虽然还是有办法引导它,但繁琐多了。你需要备份的 NT boot record 不再仅仅是 512 字节的,而需要是8192  字节的。然后,才可以用新版的 GRUB4dos 中的 chainloader 来启动它。

chainloader --load-segment=0xd00 --load-offset=0 --boot-CS=0xd00 --boot-IP=0x256 (hd0,0)/bootsect.dat
rootnoverify (hd0)
boot

这和启动故障恢复控制台(Fault recovery console) 的方法是完全一样的。这个方法适用于C 盘是 NTFS 系统的情况。如果bootsect.dat 是故障恢复控制台的引导代码,chainloader 就启动的是故障恢复控制台,如果 bootsect.dat是你自己备份的 8192 字节的 NT boot record ,那chainloader将启动的是 NTLDR。






因为我们亲手创建,这个世界更加美丽。
2005-3-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hnlyzhd
高级用户




积分 544
发帖 164
注册 2004-10-17
状态 离线
『第 4 楼』:  

嘿嘿,我就等着你的GRLDR内置安装到硬盘MBR的命令了,还有GRLDR自动寻找时对扩展分区支持不太完善,我已经在上面的贴子中贴了图



    我的留言簿

http://hnlyzhd.ys168.com            我的网络盘
2005-3-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 5 楼』:  

好的,既然这样,那我干脆先做这个了。不过由于这个涉及重大的安全问题,所以也不能太急。慢慢来,等可以测试的时候再提供给大家下载。

现在只是一个想法,还没有详细的技术设计思路。换句话说,还没开始动工。







因为我们亲手创建,这个世界更加美丽。
2005-3-6 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hnlyzhd
高级用户




积分 544
发帖 164
注册 2004-10-17
状态 离线
『第 6 楼』:  

你也不要急,实际上安装到MBR和SATGE1写到MBR是一样的,STAGE1启动时找STAGE2文件,你这个只不过是自动寻找分区上的GRLDR而已,不知我的想法是否正确,说起来很惭愧,我没有学过计算机,GANDALF太忙了没时间,这些天他把他的ISOGRUB.BIN完善一下,以后就不再做GRUB的任何开发了....



    我的留言簿

http://hnlyzhd.ys168.com            我的网络盘
2005-3-6 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bondia61
新手上路





积分 4
发帖 2
注册 2006-1-22
状态 离线
『第 7 楼』:  

太厲害了
努力學習中
謝謝大大囉

2006-8-23 08:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: