|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
请有兴趣的兄弟姐妹们测试GRLDR引导代码的查找功能。
在任意一个磁盘、任意一个分区的根目录下放置 GRLDR 文件,GRLDR 的引导代码都可以找到它。
测试方法是这样的:首先将机器上所有的 GRLDR 统统删去,将新的 GRLDR 文件拷贝到 C: 盘根目录,并更名为 GRLDR1。修改boot.ini,增加一行 C:\GRLDR1="GRLDR1",用这行来启动,肯定找不到 GRLDR 文件,但是,屏幕上应当显示查找GRLDR 的全过程,你的全部硬盘和全部分区都应当列出来了,如果有未列出的硬盘或者分区,则视为 BUG。
上述测试完毕,接着测试:将 GRLDR 拷贝到某个硬盘的某个分区的根目录,仍然用上述的 C:\GRLDR1="GRLDR1" 一行来启动,看看这次 GRUB 是否顺利启动了。如果没有启动,则视为 BUG。
Please interested brothers and sisters test the search function of the GRLDR boot code.
Place the GRLDR file in the root directory of any disk, any partition, the boot code of GRLDR can find it.
The test method is like this: first delete all GRLDR on the machine, copy the new GRLDR file to the root directory of C: disk and rename it to GRLDR1. Modify boot.ini, add a line C:\GRLDR1="GRLDR1", start with this line, it must not find the GRLDR file, but the whole process of finding GRLDR should be displayed on the screen, all your hard disks and all partitions should be listed, if there are unlisted hard disks or partitions, it is regarded as a BUG.
After the above test is completed, then test: copy GRLDR to the root directory of a certain hard disk and a certain partition, still use the above line C:\GRLDR1="GRLDR1" to start, see if this time GRUB starts smoothly. If it does not start, it is regarded as a BUG.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-21 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
下载地址: ftp://ftp.linuxeden.com/tinybit/grldr
这个文件会不断地更新,在初次测试失败时,两天之后再下载一次,请不断地测试它。谢谢。
也可以做第三个测试:当上述硬盘分区查找完毕后,会查找软盘 A:的(但永远也不查找软盘 B:)。所以,现在删除硬盘上的 GRLDR,在软盘根目录放置 GRLDR,看看上述 GRLDR1 的启动代码是否可以找到它。
第四个测试,如果上述查找全部失败,则接着会尝试启动你先前备份的一个 MBR。第一块硬盘 hd0 的第二个扇区,也就是紧接 MBR
之后的那个扇区,可以用来存放你想放置的任何启动扇区,可以是旧的 MBR,也可以是一个分区的引导记录,例如 DOS boot
record,还可以是你自己写的任何其它引导代码。无论你放置什么,它都称做 previous
MBR(这只是一个称呼而已)。这个引导代码的末尾两个字节必须是通常的 55, AA
才被认为是一个合法的引导扇区,否则不予启动。好了,你用DEBUG或者其它工具将你想要启动的引导扇区写入 hd0 的第二扇区,并将硬盘和软盘上的
GRLDR 都删除,然后测试上述的 GRLDR1 是否能够引导它。(既然这里有写入硬盘的操作,所以还是应该提醒一下,这很危险,不能熟练使用
DEBUG 的兄弟,千万不要自己尝试,否则,你的硬盘会很容易毁于一旦的。)
更进一步的技术实现:在 GRLDR 文件的最开头,是一个双字节的 jmp
指令,紧接该指令之后的字节,也就是第三个字节(在偏移地址0x02),它不是程序代码的一部分,而是被用来控制 GRLDR
的查找操作方式。当该控制字节的第0位被设置为1时,软盘的查找就被禁止了。当该控制字节的第1位被设置为1时,一个不含分区表的 previous
MBR 将被禁止启动。此时要求你所备份的 previous MBR 确实是你以前的 MBR,而不是某个分区的 partition boot
record。该控制字节的其它位被保留作为将来之用。这个控制字节在默认时是0,也就是说,它对什么都不禁止,所有的操作都处于最大开放状态。该控制字
节的用途很明了,用户程序可以放心地根据自己的需要任意写入该字节(当然注意不要破坏了其余那些不该写入的字节,尤其是,当该扇区处于 MBR
时,当然要更加小心了)。
Download address: ftp://ftp.linuxeden.com/tinybit/grldr
This file is constantly updated. If the initial test fails, download it again after two days and keep testing it. Thank you.
You can also do the third test: After the above hard disk partition search is completed, it will search for floppy disk A: (but never search for floppy disk B:). So now delete GRLDR on the hard disk, place GRLDR in the root directory of the floppy disk, and see if the above boot code of GRLDR1 can find it.
Fourth test: If all the above searches fail, then it will try to boot a previously backed up MBR. The second sector of the first hard disk hd0, that is, the sector immediately following the MBR, can be used to store any boot sector you want to place. It can be an old MBR, or a partition boot record, such as a DOS boot record, or any other boot code you write. No matter what you place, it is called the previous MBR (this is just a name). The last two bytes of this boot code must be the usual 55, AA to be considered a legal boot sector, otherwise it will not be booted. Okay, use DEBUG or other tools to write the boot sector you want to boot into the second sector of hd0, and delete GRLDR on the hard disk and floppy disk, then test whether the above GRLDR1 can boot it. (Since there is an operation to write to the hard disk here, so I should still remind you, this is very dangerous. Brothers who are not proficient in using DEBUG, do not try it yourself, otherwise your hard disk will be easily destroyed.)
Further technical implementation: At the very beginning of the GRLDR file, there is a two-byte jmp instruction. The byte immediately following this instruction, that is, the third byte (at offset 0x02), is not part of the program code, but is used to control the search operation mode of GRLDR. When the 0th bit of this control byte is set to 1, the search for the floppy disk is prohibited. When the 1st bit of this control byte is set to 1, a previous MBR without a partition table is prohibited from booting. At this time, the backed up previous MBR is required to be your previous MBR indeed, not a partition boot record of a certain partition. The other bits of this control byte are reserved for future use. This control byte is 0 by default, that is, it prohibits nothing, and all operations are in the maximum open state. The use of this control byte is clear, and the user program can freely write this byte according to their own needs (of course, pay attention not to damage the other bytes that should not be written, especially when this sector is in the MBR, of course, be more careful).
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-21 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 18 楼』:
使用 LLM 解释/回答一下
我已经将GRLDR的引导部分提取为GRUB.DAT.....可以在BOOT.INI或用NT软盘加载GRUB.DAT来启动自动寻找各分区根目录下的GRLDR,这样就解决了原来GRLDR只能在系统盘的限制了.....下载:http://bbs.wuyou.com/cgi-bin/topic.cgi?forum=34&topic=7201&show=0
I have extracted the boot part of GRLDR into GRUB.DAT..... You can load GRUB.DAT in BOOT.INI or with an NT floppy to start and automatically find GRLDR in the root directory of each partition, which solves the original limitation that GRLDR could only be on the system disk..... Download: http://bbs.wuyou.com/cgi - bin/topic.cgi?forum=34&topic=7201&show=0
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-25 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 19 楼』:
使用 LLM 解释/回答一下
很棒!
正如你所注意到的,GRLDR 的引导代码就是位于 GRLDR 最开头的 16 个扇区,你制作的 GRUB.DAT 必须至少是 16扇区的(也就是 8192 字节),比 16 扇区多了也行,但决不能少,如果少了,查找可能要失败。如果比 8192字节多,那么多余的字节不起任何作用(但也没有任何坏处)。
Great!
As you have noticed, the boot code of GRLDR is the first 16 sectors located at the beginning of GRLDR. The GRUB.DAT you make must be at least 16 sectors (that is, 8192 bytes). It can be more than 16 sectors, but it must not be less. If it is less, the search may fail. If it is more than 8192 bytes, the extra bytes have no effect (but there is no harm either).
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-25 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 20 楼』:
使用 LLM 解释/回答一下
是否能够启动逻辑分区上面的GRLDR呢,我还没有测试呢,请不点兄指点...还有就是你所说的MEMDRIVR我下载不到,能否发我信箱以便测试hnlyzhd@163.com
Can I boot the GRLDR on the logical partition? I haven't tested it yet. Please, Brother BuDian, give me some guidance... Also, I can't download the MEMDRIVR you mentioned. Could you send it to my mailbox for testing? hnlyzhd@163.com
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-25 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 21 楼』:
使用 LLM 解释/回答一下
可以启动逻辑分区上的 GRLDR,但是,和通常一样,只查找其根目录。
在 linux 下用 ftp 命令手动登入 ftp.linuxeden.com 就可以下载了。wget 命令有时无效,在执行 PASV命令时长时间无回应。windows 下的那些下载工具,比如 flashget, 影音传送带等等,也都通通无效,表现方式也是在执行 PASV命令是失去响应。估计这是一个什么病毒干的,挺厉害的,可惜似乎没人报告这个病毒。
在 linux 下还有一个命令可以应付这种情况,试试 curl 下载,一般能成功:
curl --ftp-port 20 -C - -O ftp://ftp.linuxeden.com/tinybit/grldr
念出来:
curl 空格 杠杠ftp杠port 空格 20 空格 杠大写的C 空格 杠 空格 杠大写的O 空格 后面就是接着URL地址。
在 windows 下用 FTP 手动登录似乎也不行的。
-----------------------
我会发给你的,不过不是现在,因为我还要改,把修改后的新版本再给你寄去。
The GRLDR on the logical partition can be booted, but, as usual, it only searches its root directory.
Under Linux, you can manually log in to ftp.linuxeden.com using the ftp command to download. The wget command is sometimes ineffective, and there is a long period of no response when executing the PASV command. Those download tools under Windows, such as FlashGet,影音传送带 and so on, are all completely ineffective, and the manifestation is also losing response when executing the PASV command. It is estimated that this is some kind of virus doing, quite powerful, but unfortunately it seems that no one has reported this virus.
There is also a command under Linux that can deal with this situation. Try downloading with curl, which generally succeeds:
curl --ftp-port 20 -C - -O ftp://ftp.linuxeden.com/tinybit/grldr
Read it out:
curl space double hyphen ftp slash port space 20 space double hyphen uppercase C space hyphen space double hyphen uppercase O space followed by the URL address.
Under Windows, it also seems impossible to log in manually using FTP.
-----------------------
I will send it to you, but not now, because I still need to make changes, and then send you the revised new version.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-25 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 22 楼』:
使用 LLM 解释/回答一下
谢谢...前面提到的几个文件已经下载,只是没有MEMDRIVE,等你做好了发我信箱就行,再次感谢..我在无忧设的有一个GRUB学习专区,如果你有时间,请到这里指点一二,Gandalf也经常在http://bbs.wuyou.com/cgi-bin/topic.cgi?forum=34&topic=5697&show=0
Thanks...The several files mentioned earlier have been downloaded, but there is no MEMDRIVE. Just send it to my mailbox when you're done. Thanks again..I have a GRUB learning area set up on Wuyou. If you have time, please come here to give some guidance. Gandalf also often visits http://bbs.wuyou.com/cgi-bin/topic.cgi?forum=34&topic=5697&show=0
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-25 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 23 楼』:
使用 LLM 解释/回答一下
那么,无需再发邮件了,因为需要的文件你都得到了,它就是 grub.exe, grldr, grub4lin 之中的任何一个。
注意它们还会不断更新的。
Well then, there's no need to send emails anymore because you've obtained all the files you need, which are any one of grub.exe, grldr, grub4lin. Note that they will keep getting updated.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-25 00:00 |
|
|
blue777
中级用户
  
积分 452
发帖 134
注册 2004-6-16
状态 离线
|
『第 24 楼』:
使用 LLM 解释/回答一下
不点兄你好,请教您下列问题:我在软盘里安装未将scdrom编译进去的GRUB时(用的是stage1和stage2),实现从光驱引导只有借助于BCDL.BIN和VIDE-CDD.SYSBoot from CD-ROM
root (fd0)
chainloader /boot/grub/cdboot.bs为了给软盘启动盘腾出更多空间,我想将scdrom编译进stage2里,这样scdrom --bootcd就可从光驱引导了,如何在Windows或DOS下将scdrom编译进GRUB的Stage2里?我没有Linux环境,也不知道编译方法.grub-0.96-patch6-scdrom和grub-0.96-patch7-bioscdrom有区别么?我能将最新版scdrom编译进低版本的GRUB如0.90版的Stage2吗?因为我用不着新功能,只想stage2既小又能支持从光驱引导,不吝请教,谢谢!
Hello, Brother Budian! I would like to ask you the following questions: When I installed GRUB without compiling scdrom into the floppy disk (using stage1 and stage2), to boot from the CD-ROM, I had to rely on BCDL.BIN and VIDE-CDD.SYS.
Boot from CD-ROM
root (fd0)
chainloader /boot/grub/cdboot.bs
In order to free up more space for the floppy boot disk, I want to compile scdrom into stage2, so that scdrom --bootcd can boot from the CD-ROM. How can I compile scdrom into the Stage2 of GRUB under Windows or DOS? I don't have a Linux environment and don't know the compilation method. Is there a difference between grub-0.96-patch6-scdrom and grub-0.96-patch7-bioscdrom? Can I compile the latest version of scdrom into the Stage2 of an older version of GRUB such as version 0.90? Because I don't need new functions, I just want stage2 to be small and support booting from the CD-ROM. I sincerely ask for your advice, thank you!
|
|
2005-2-25 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 25 楼』:
使用 LLM 解释/回答一下
楼上的,请不要做重复的工作,0.95的S\TAGE2已经支持SCDROM
Upstairs, please don't do repetitive work. The 0.95 version of S\TAGE2 already supports SCDROM
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-25 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 26 楼』:
使用 LLM 解释/回答一下
有两个办法,其一是用 gandalf 制作的版本,scdrom 模块其实是由他提供的,因为我无法解决碰到的BUG,所以,我不打算再维护这个模块了。他从 smart boot manager 里面提取出来的程序,我不能读太懂,所以,我无法继续维护。
第二个办法,可以从 GRUB for DOS 里面调用最原始的 sbm.bin,这个方法也可以启动 CDROM。sbm.bin 来自于smart boot manager ,你可以从网上搜索到这个文件,下载它用了便可。在 grub4dos 中调用 sbm.bin的方法,也可以从网络上搜索得到,例如 http://grub.linuxeden.com 上面就有介绍。sbm.bin 只有 18K,应该说还是可以接受的。
bioscdrom 模块是我自己写的,目前只能用于华硕的某些旧型号的机器,所以基本没用,你就不要编译它了。这个模块也基本上停止维护了,因为这个事情不是很重要的,它不作为优先解决的对象。将来实在有闲功夫了,再去考虑增强它的问题。
你没有 linux, 是无法编译 grub 的,如果你实在想编译,还是安装一个 linux 吧。
最省事的就是坐着等,等 gandalf 做出来一个可靠的版本直接用就行了。
虽然我的发布中仍然有 scdrom 补丁,但是我不能肯定它现在还工作,因为我没有试验过。因此之故,我不会提供一个含有 scdrom 模块的二进制文件的发布。
总而言之,gandalf 对此很熟悉,有问题最好能同他联系。
There are two methods. The first one is to use the version made by gandalf. The scdrom module was actually provided by him. Because I can't solve the bugs I encountered, I don't plan to maintain this module anymore. The program he extracted from the smart boot manager, I can't understand it too well, so I can't continue to maintain it.
The second method is to call the most original sbm.bin from GRUB for DOS. This method can also boot the CDROM. sbm.bin comes from the smart boot manager. You can search for this file on the Internet, download it and use it. The method to call sbm.bin in grub4dos can also be found on the Internet. For example, there are introductions on http://grub.linuxeden.com. sbm.bin is only 18K, which should be acceptable.
The bioscdrom module was written by myself. Currently, it can only be used for some old models of ASUS machines, so it is basically useless. Just don't compile it. This module has basically stopped being maintained because this matter is not very important and it is not a priority to be solved. In the future, when I have free time, I will consider enhancing it.
You can't compile GRUB without Linux. If you really want to compile, it's still better to install a Linux.
The easiest way is to just wait and wait for gandalf to make a reliable version and use it directly.
Although there is still a scdrom patch in my release, I can't be sure that it still works now because I haven't tested it. For this reason, I won't provide a release with a binary file containing the scdrom module.
In conclusion, gandalf is very familiar with this. It's best to contact him if you have any questions.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-25 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 27 楼』:
使用 LLM 解释/回答一下
1.gandlaf已经换工作了很忙没时间开发GRUB2.他的版本支持SCDROM已经很好.title 从光盘启动
scdrom --bootcd
scdrom --bootcd用两次命令就行了,光驱启动是GRUB的老问题了,这样已经很好3.建议不点兄为GRLDR加入安装到硬盘功能,写到MBR上,按下热键才寻找GRLDR,否则从硬盘正常启动(GANDLAF写过一个类似的STAGE1文件)
1. gandlaf has changed jobs and is very busy with no time to develop GRUB2. His version supporting SCDROM is already very good.
Title: Boot from CD
scdrom --bootcd
Using the two commands scdrom --bootcd is enough. Booting from the CD - ROM is an old problem with GRUB, and it's already very good like this.
3. It is suggested that Brother Budian add the function of installing to the hard disk for GRLDR, write it to the MBR, and only look for GRLDR when pressing the hotkey; otherwise, boot normally from the hard disk (GANDLAF has written a similar STAGE1 file).
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-25 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 28 楼』:
使用 LLM 解释/回答一下
不点兄,请你在修改chainloader功能的时候,看能否启动下面的这个BIOS模块...{{{http://bbs.wuyou.com/cgi-bin/attachment.cgi?forum=33&topic=1387&postno=9&type=.rar&name=Idiopf_1108629898}}}}}
Brother Budian, when you are modifying the chainloader function, see if you can boot the following BIOS module...{{{http://bbs.wuyou.com/cgi-bin/attachment.cgi?forum=33&topic=1387&postno=9&type=.rar&name=Idiopf_1108629898}}}}}
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-25 00:00 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 29 楼』:
使用 LLM 解释/回答一下
> 按下热键才寻找GRLDR,否则从硬盘正常启动
想法还真有趣,赞一个。目前已经实现的,是先查找 GRLDR,失败时才启动以前的 MBR备份。我会考虑再改改,做到让这个先后顺序可控制。
------------------
那个 BIOS 模块的结构怎样?它被装载到内存中什么位置?它在内存中占有多少空间?
我不需要打开它,只要知道这些情况,就知道能否用 chainloader 来做了。
> Press the hotkey to look for GRLDR, otherwise boot normally from the hard disk
The idea is really interesting, thumbs up. Currently implemented is to first look for GRLDR, and if it fails, then boot the previous MBR backup. I will consider making some changes to make the order of priority controllable.
------------------
What is the structure of that BIOS module? What position in memory is it loaded into? How much space does it occupy in memory?
I don't need to open it, as long as I know these situations, I will know whether I can use chainloader to do it.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2005-2-25 00:00 |
|
|
hnlyzhd
高级用户
   
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第 30 楼』:
使用 LLM 解释/回答一下
在逻辑分区上启动GRUB不稳定,有时候不能启动成功,并且加载中文字体会乱码
Starting GRUB on a logical partition is unstable, sometimes it fails to boot successfully, and the Chinese font appears garbled when loading.
|

我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-2-27 00:00 |
|
|