|
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
状态 离线
|
|
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 |
|