|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
抱歉,少发了第一行,现补上。
33C08ED0BC007CFB5007501FFCBE1B7C
Sorry, the first line was sent less, now make up.
33C08ED0BC007CFB5007501FFCBE1B7C
|
|
2006-7-23 17:43 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
请教大师:我如何在DOS命令行下嵌入菜单命令(或者AUTOEXEC.BAT中),您能具体说明吗?
至于config.sys,因为您给出了样板,我就知道了。
我要求的菜单很简单:
1. 能够启动U盘上的IMG的文件;
2. 能够启动硬盘上某一分区上的ISO文件(非WIN或WIN PE之类的ISO文件)。
Ask the master: How can I embed menu commands under the DOS command line (or in AUTOEXEC.BAT)? Can you specify it specifically?
As for config.sys, since you gave the sample, I know it.
The menu I require is very simple:
1. Can start the IMG file on the USB flash drive;
2. Can start the ISO file on a partition on the hard disk (non-WIN or non-WIN PE ISO files).
|
|
2006-7-23 18:18 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 18 楼』:
使用 LLM 解释/回答一下
我要的是 GRUB 下 cat --hex (fd0)+1 或者 cat --hex (fd1)+1 的输出结果。你能保证你上面给出的这个结果和cat 的输出结果是基本一致的吗?如果是的,继续看下面的;如果不是的,不要继续看了,你把 cat 的结果贴出来再说。
根据你贴出的结果来看,U 盘是一个含有分区表的硬盘格式,所以,GRUB 处理这样不合乎常规的软盘格式时,出现了问题。这确实可能是 GRUB 的问题,因为 GRUB 从来没有处理过这样的情况。你等待一两天,待我去研究研究,再给你一个答复。不过,我认为 GRUB 因此而干脆就死机的可能性,应该也是不大的。
你最好能把整个 U 盘用某个16进制工具全部克隆下来,上载到某处,让我研究研究。
你再做如下测试:把整个 U 盘仿真为一个硬盘,看看能否访问其中的文件。步骤如下:
map (fd0) (hd2)
map --hook
然后,
geometry (hd2)
看看 hd2 中有多少个分区。进一步再看看其中是否有 U 盘中的文件,这你自己操作吧,不用我详细说了。
============
在DOS命令行嵌入菜单很简单,就是刚才举例说明的那样:
grub.exe --config-file="此处填写menu.lst的内容"
双引号要带上,中间填写menu.lst 的内容。menu.lst 有许多行,行与行之间本来是回车换行,现在在 DOS 的命令行中,不可能嵌入回车换行,所以,把所有的回车换行,改成分号(;) 就可以了。
你看看例子文件 config.sys 就明白了。在 device= 的情况下,双引号之内可以嵌入多达 4000 字节的命令。而在 DOS 的命令行下,命令行的总长度都不能超过 127 个字符,所以,嵌入的菜单应该是很小的。
Last edited by 不点 on 2006-7-23 at 18:45 ]
I want the output result of cat --hex (fd0)+1 or cat --hex (fd1)+1 under GRUB. Can you ensure that the result you gave above is basically consistent with the output of cat? If yes, continue to look below; if not, don't continue, just post the result of cat.
From the result you posted, the USB flash drive is a hard disk format with a partition table, so there is a problem when GRUB handles such an unconventional floppy disk format. This may indeed be a problem with GRUB, because GRUB has never handled such a situation. You wait for one or two days, wait for me to study it, and then give you a reply. However, I think the possibility that GRUB simply crashes because of this is also not very high.
You'd better clone the entire USB flash drive completely with a certain hexadecimal tool and upload it somewhere for me to study.
You do the following test: simulate the entire USB flash drive as a hard disk and see if you can access the files in it. The steps are as follows:
map (fd0) (hd2)
map --hook
Then,
geometry (hd2)
See how many partitions are in hd2. Further see if there are files in the USB flash drive, you can operate it yourself, no need for me to explain in detail.
====================
It's very simple to embed a menu in the DOS command line, which is as exemplified just now:
grub.exe --config-file="Fill in the content of menu.lst here"
The double quotes should be included, and fill in the content of menu.lst in the middle. menu.lst has many lines, and originally there are carriage returns and line feeds between lines. Now in the DOS command line, carriage returns and line feeds cannot be embedded, so change all carriage returns and line feeds to semicolons (;).
You can understand it by looking at the example file config.sys. In the case of device=, up to 4000 bytes of commands can be embedded within double quotes. And in the DOS command line, the total length of the command line cannot exceed 127 characters, so the embedded menu should be very small.
Last edited by 不点 on 2006-7-23 at 18:45 ]
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-23 18:29 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 19 楼』:
使用 LLM 解释/回答一下
非常抱歉,我是用WINHEX取的U盘第一扇区,经过您的指点,运行cat --hex (fd0)+1后显示的实际上是DOS引导区。经我在WINHEX与绝对第63扇(总扇区128000扇)相比较,完全一致:
EB3C904D5357494E342E310002020600
0200020000F8F9003F00FF003F000000
C1F30100800029772550AC4E4F204E41
4D45202020204641543136202020FA33
C98ED1BCFC7B1607BD7800C576001E56
1655BF2205897E00894E02B10BFCF3A4
061FBD007CC645FE0F8B46188845F938
4E247D228BC199E87701721A83EB3A66
A11C7C663B078A57FC750680CA028856
0280C31073ED33C98A461098F7661603
461C13561E03460E13D18B7611608946
FC8956FEB82000F7E68B5E0B03C348F7
F30146FC114EFE61BF0007E823017239
382D741760B10BBED87DF3A66174394E
740983C7203BFB72E7EBDDBE7F7DAC98
03F0AC84C074173CFF7409B40EBB0700
CD10EBEEBE827DEBE5BE807DEBE098CD
165E1F668F04CD19BE817D8B7D1A8D45
FE8A4E0DF7E10346FC1356FEB104E8C1
0072D6EA00027000B442EB2D60666A00
525006536A016A108BF474EC919233D2
F7761891F776184287CAF7761A8AF28A
E8C0CC020ACCB801028A5624CD138D64
1061720A40750142035E0B497577C303
1801270D0A496E76616C696420737973
74656D206469736BFF0D0A4469736B20
492F4F206572726F72FF0D0A5265706C
61636520746865206469736B2C20616E
64207468656E20707265737320616E79
206B65790D0A0000494F202020202020
5359534D53444F532020205359537F01
0041BB0007807E020EE940FF000055AA
I'm very sorry. I used WINHEX to take the first sector of the USB flash drive. After your guidance, running cat --hex (fd0)+1 shows that it's actually the DOS boot sector. I compared it in WINHEX with the absolute 63rd sector (total sectors 128000 sectors), and they are exactly the same:
EB3C904D5357494E342E310002020600
0200020000F8F9003F00FF003F000000
C1F30100800029772550AC4E4F204E41
4D45202020204641543136202020FA33
C98ED1BCFC7B1607BD7800C576001E56
1655BF2205897E00894E02B10BFCF3A4
061FBD007CC645FE0F8B46188845F938
4E247D228BC199E87701721A83EB3A66
A11C7C663B078A57FC750680CA028856
0280C31073ED33C98A461098F7661603
461C13561E03460E13D18B7611608946
FC8956FEB82000F7E68B5E0B03C348F7
F30146FC114EFE61BF0007E823017239
382D741760B10BBED87DF3A66174394E
740983C7203BFB72E7EBDDBE7F7DAC98
03F0AC84C074173CFF7409B40EBB0700
CD10EBEEBE827DEBE5BE807DEBE098CD
165E1F668F04CD19BE817D8B7D1A8D45
FE8A4E0DF7E10346FC1356FEB104E8C1
0072D6EA00027000B442EB2D60666A00
525006536A016A108BF474EC919233D2
F7761891F776184287CAF7761A8AF28A
E8C0CC020ACCB801028A5624CD138D64
1061720A40750142035E0B497577C303
1801270D0A496E76616C696420737973
74656D206469736BFF0D0A4469736B20
492F4F206572726F72FF0D0A5265706C
61636520746865206469736B2C20616E
64207468656E20707265737320616E79
206B65790D0A0000494F202020202020
5359534D53444F532020205359537F01
0041BB0007807E020EE940FF000055AA
|
|
2006-7-23 19:39 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 20 楼』:
使用 LLM 解释/回答一下
顺便说一下,我用的是台电64M的U盘。我是用惠普HPUSBFW.zip作成的USB_ZIP.您再看一下,如有必要,我作一个ghost给您。不过文件很大,需要分多次用邮件传送给您。其它我再慢慢试。
您也要休息一下了。别着急,身体要紧。保重保重!!
By the way, I'm using a Teclast 64M USB flash drive. I used HPUSBFW.zip to make it USB_ZIP. Please take a look again. If necessary, I'll make a ghost for you. But the file is very large and needs to be sent to you by email in multiple parts. I'll try other things slowly. You should also take a rest. Don't rush, take care of your health. Take care!
|
|
2006-7-23 19:46 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 21 楼』:
使用 LLM 解释/回答一下
我用geometry (hd2)查看了有4个分区,但无U盘中的文件显示。其显示如下:
drive 0x82:c/h/s=80/2/18,The mumber of sectors=2880,CHS Bytes per Sector=512
partition mun:0,Filesystem type unknown,partition type 0x74
partition mun:1,Filesystem type unknown,partition type 0x65
partition mun:2,Filesystem type unknown,partition type 0x53
partition mun:3,Filesystem type unknown,partition type 0xbb
其中后4行与我下午用cat (fd0, 后显示的一致。此外它还多了一行:
partition mun:0,Filesystem type unknown,using whole disk
我发现它显示的C/H/S数与WINHEX显示的7/255/63不同。
另外,我在U盘的DOS下使用以下命令:
grub.exe --config-file="map --mem (hd0,5)/diskedit.img;map --hook;chainloader (fd0)+1;rootneverity (fd0);"
然后回车,U盘灯闪烁一会儿,屏幕出现
grub -
但没有死机,却也没有启动img文件。我的书写格式是否正确?为什么没有执行?
I used geometry (hd2) to check and there are 4 partitions, but no files from the USB drive are displayed. The display is as follows:
drive 0x82:c/h/s=80/2/18,The number of sectors=2880,CHS Bytes per Sector=512
partition num:0,Filesystem type unknown,partition type 0x74
partition num:1,Filesystem type unknown,partition type 0x65
partition num:2,Filesystem type unknown,partition type 0x53
partition num:3,Filesystem type unknown,partition type 0xbb
The last four lines are the same as what was displayed after I used cat (fd0, earlier in the afternoon. In addition, there is one more line:
partition num:0,Filesystem type unknown,using whole disk
I found that the displayed C/H/S number is different from the 7/255/63 shown by WINHEX.
In addition, I used the following command under DOS on the USB drive:
grub.exe --config-file="map --mem (hd0,5)/diskedit.img;map --hook;chainloader (fd0)+1;rootneverity (fd0);"
Then I pressed Enter, the USB drive light flashed for a while, and the screen showed
grub -
But there was no crash, but the img file was not started. Is my writing format correct? Why didn't it execute?
|
|
2006-7-23 22:26 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 22 楼』:
使用 LLM 解释/回答一下
又有笔误!应是rootnoverity!
There is another typo! It should be rootnoverity!
|
|
2006-7-23 22:30 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 23 楼』:
使用 LLM 解释/回答一下
grub.exe --config-file="map --mem (hd0,5)/diskedit.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
grub.exe --config-file="map --mem (hd0,5)/diskedit.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
|
|
2006-7-23 22:35 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 24 楼』:
使用 LLM 解释/回答一下
Originally posted by fastslz at 2006-7-23 22:35:
grub.exe --config-file="map --mem (hd0,5)/diskedit.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
是我发帖时书写错了。
为可靠起见,我又重新试了一次,以确保书写正确,结果仍是:
grub> -
不过,话说回来,这种方式,出错后不知道有无提示。如果正常情况下,出错了也无提示,那就不太好用了。
Originally posted by fastslz at 2006-7-23 22:35:
grub.exe --config-file="map --mem (hd0,5)/diskedit.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
It was a mistake when I posted.
For reliability, I tried again to make sure the writing was correct, and the result was still:
grub> -
However, having said that, I don't know if there is any prompt after an error with this method. If there is no prompt in case of an error under normal circumstances, then it is not very easy to use.
|
|
2006-7-23 22:58 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 25 楼』:
使用 LLM 解释/回答一下
我也试了4种装载方法现在报告如下结果:
方法1
grub.exe --config-file="find --set-root /boot/zzcl/slzbootj.img;map --mem /boot/zzcl/slzbootj.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
::能够启动
方法2
grub.exe --config-file="map --mem /boot/zzcl/slzbootj.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
::能够启动
方法3
grub.exe --config-file="map --mem (hd0,7)/boot/zzcl/slzbootj.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
::不能够启动(光标停留grub>- 提示符)
以上3个方法img位置均(hd0,7)/boot/zzcl/slzbootj.img
方法4
grub.exe --config-file="map --mem (hd0,5)/grub/288.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
::能够启动
grub版本grub_for_dos-2006-07-23包,(hd0,5)和(hd0,7)磁盘类型都是FAT32
描述:确实有点奇怪,按理说方法3算标准装载方法却不能启动,方法2之前也说过是自己实践中摸索出来的非标准装载方法(虚拟路径)反而能够启动,更奇怪的是方法3和方法2其实是一样的装载方法却能启动。
明天继续测试......
I also tried 4 loading methods and now report the results as follows:
Method 1
grub.exe --config-file="find --set-root /boot/zzcl/slzbootj.img;map --mem /boot/zzcl/slzbootj.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
:: Can boot
Method 2
grub.exe --config-file="map --mem /boot/zzcl/slzbootj.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
:: Can boot
Method 3
grub.exe --config-file="map --mem (hd0,7)/boot/zzcl/slzbootj.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
:: Cannot boot (cursor stays at grub>- prompt)
In the above 3 methods, the img position is all (hd0,7)/boot/zzcl/slzbootj.img
Method 4
grub.exe --config-file="map --mem (hd0,5)/grub/288.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
:: Can boot
Grub version is grub_for_dos-2006-07-23 package, and both (hd0,5) and (hd0,7) disk types are FAT32
Description: It's really a bit strange. According to reason, method 3 is the standard loading method but cannot boot, and method 2 was also said before to be a non-standard loading method (virtual path) I explored in practice and can boot instead. What's stranger is that method 3 and method 2 are actually the same loading method but can boot.
Continue testing tomorrow......
|
|
2006-7-24 01:13 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 26 楼』:
使用 LLM 解释/回答一下
我今天又进行了试验,首先我将
grub.exe --config-file="map --mem (hd0,5)/diskedit.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
作了一个批处理,这样即使有错误,也便于查找。在U盘中使用这个批处理,果然成功了!于是我再次在U盘的DOS命令行中键入同样的命令,这次也成功了--那么我昨晚的试验还是有差错?可是我反复检查了多次呀!真是怪!
接着,我又用以下命令来读取U盘中的IMG文件:
grub.exe --config-file="map --mem (fd0)/diskedit.img (fd0);map (fd0) (fd1);map --floppies=2;map --hook;chainloader (fd0)+1;rootnoverity (fd0);"
无论是作成批处理还是直接在DOS下键入后执行,运行到
map --mem (fd0)/diskedit.img (fd0)
处即死机!后来我去掉map (fd0) (fd1);map --floppies=2也同样不成功。
我估计这可能是不点说“进入 GRUB 的环境之后,不能有访问 U 盘的动作(菜单命令也不要有访问U盘的动作),否则仍然免不了死机”的缘故吧。
I did an experiment again today. First, I made a batch file with grub.exe --config-file="map --mem (hd0,5)/diskedit.img (fd0);map --hook;chainloader (fd0)+1;rootnoverity (fd0);" so that it's easier to find errors if there are any. Using this batch file on the USB drive, it was successful! Then I typed the same command again in the DOS command line of the USB drive, and it was successful this time—so was my test last night still wrong? But I checked it many times repeatedly! It's really strange!
Then, I used the following command to read the IMG file in the USB drive: grub.exe --config-file="map --mem (fd0)/diskedit.img (fd0);map (fd0) (fd1);map --floppies=2;map --hook;chainloader (fd0)+1;rootnoverity (fd0);" Whether making it into a batch file or directly typing and executing it in DOS, it freezes at map --mem (fd0)/diskedit.img (fd0)! Later, I removed map (fd0) (fd1);map --floppies=2 and it was still unsuccessful.
I estimate this might be because "after entering the GRUB environment, there should be no actions accessing the USB drive (menu commands should also not have actions accessing the USB drive), otherwise it will still inevitably freeze."
|
|
2006-7-24 06:14 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 27 楼』:
使用 LLM 解释/回答一下
还是笔误,你在顶楼写的正确,现在却错了:rootnoveri(t)y 应该是 rootnoveri(f)y 才对。
现在比较明朗了:访问U盘上的文件会导致死机。此时我们不能说访问U盘上的任何文件都一定导致死机,但可以肯定,访问某些文件,会死机。你记录一下有哪些文件会导致死机,然后,用 quit 命令退回 DOS 下,在 DOS 下用某个工具(比如 EDIT)打开同样的文件,记住要读取到文件的结尾,看看是否同样会导致死机。如果 DOS 下也死机,那就可以肯定是 BIOS 的 BUG 了,这就没有任何疑问了。如果 DOS 下打开这些文件通畅无阻,出来的结果也都对,那就说明是 GRUB 和 U盘的 BIOS 之间存在某种未知的问题,我们还有希望继续追踪其真实的原因。
不过我现在似乎已经发现了某些问题。叙述如下:
1。从 geometry (fd0) 的输出结果为 C/H/S=80/2/18, 总扇区数为 2880 可见,这个(fd0)的容量是1.44M的标准软盘的容量。然而你的一个 diskedit.img 文件竟然也在这个软盘中,我猜想这个 IMG 文件也有 1.44M 那么大。这就有矛盾了!1.44M的软盘中居然还装下1.44M的IMG文件(还有别的大量文件),这应该是不可能的。
2。从你 cat 出来的第一扇区中发现,H=255,S=63,总扇区数=127937, C=127937/255/63=7.9637(向上舍入,等于8)。所以它是 C/H/S=8/255/63 的几何参数,总容量接近 64M。因此,这个盘当然可以装下 1.44M 的 IMG 了。但问题在于,BIOS 的 INT13 磁盘接口却以 C/H/S=80/2/18 来访问这个磁盘,最大只能访问 2880 个扇区,也就是开头的 1.44M 的内容。如果文件的一部分处于 1.44M 以后的位置,那就可能导致死机(死机的本身是属于 BIOS 的BUG,因为你可以读错,或者返回一个出错号码,但不应该死机)。
由以上分析可以设想,假如你 U 盘上的这个分区只有 1.44M 的大小(精确地说,是 2880 个扇区),那么你将不再碰到任何问题了。你可以重新分区你的U盘来证实这个猜想。总而言之,归根结底,还是 BIOS 的缺陷所导致的。假如 BIOS 允许读取超过 1.44M 的软盘,就不会有这样的问题出现了。你可以向主板厂商反映这一要求,要求他们不要限制 U 盘的启动容量,不要让 U 盘死机,真正贴心地为用户着想。
虽然还没有得到你的证实,但情况应该就是这样了。
It's still a typo. What you wrote in the top post was correct, but now it's wrong: rootnoveri(t)y should be rootnoveri(f)y.
Now it's clearer: Accessing files on the USB flash drive causes a system crash. At this time, we can't say that accessing any file on the USB flash drive will definitely cause a system crash, but we can be certain that accessing some files will cause a system crash. You can record which files cause a system crash, then use the quit command to return to DOS, and in DOS use a certain tool (such as EDIT) to open the same file, and remember to read to the end of the file to see if the same system crash occurs. If a system crash also occurs under DOS, then it can be confirmed that it's a BIOS bug, and there's no doubt about it. If these files are opened smoothly under DOS and the results are all correct, then it means there's some unknown problem between GRUB and the BIOS of the USB flash drive, and we still have hope to continue tracking the real reason.
But now I seem to have discovered some problems. The description is as follows:
1. From the output result of geometry (fd0) being C/H/S=80/2/18 and the total number of sectors being 2880, it can be seen that the capacity of this (fd0) is the capacity of a standard 1.44M floppy disk. However, your diskedit.img file is actually in this floppy disk, and I guess this IMG file is also 1.44M in size. This is contradictory! It's impossible to fit a 1.44M IMG file (and many other files) in a 1.44M floppy disk.
2. From the first sector you cat out, it's found that H=255, S=63, the total number of sectors=127937, and C=127937/255/63=7.9637 (rounded up, equal to 8). So its geometry parameters are C/H/S=8/255/63, and the total capacity is close to 64M. Therefore, this disk can certainly hold the 1.44M IMG. But the problem is that the BIOS's INT13 disk interface accesses this disk with C/H/S=80/2/18, and can only access 2880 sectors at most, that is, the first 1.44M of content. If part of the file is in the position after 1.44M, it may cause a system crash (the system crash itself is a BIOS bug, because you can read incorrectly or return an error number, but it shouldn't cause a system crash).
From the above analysis, it can be assumed that if this partition on your USB flash drive is only 1.44M in size (precisely, 2880 sectors), then you will no longer encounter any problems. You can re-partition your USB flash drive to confirm this assumption. In a word, it all comes down to the defect of the BIOS. If the BIOS allows reading floppy disks larger than 1.44M, there won't be such problems. You can reflect this requirement to the motherboard manufacturer, asking them not to limit the boot capacity of the USB flash drive and not to let the USB flash drive crash, truly thinking about users.
Although your confirmation hasn't been received yet, the situation should be like this.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-24 09:26 |
|
|
neiljoy
初级用户
 
积分 132
发帖 58
注册 2006-7-23
状态 离线
|
『第 28 楼』:
使用 LLM 解释/回答一下
按照你的要求,完成了以下试验,现报告如下:
1.我特意用WinImage制作了一个标准720KB的diskgen.img镜象文件,且经试用可以正常启动运行;
2.作一批处理,内容为:
grub.exe --config-file="map --mem (fd0)/diskgen.img (fd0);map (fd0) (fd1);map --floppies=2;map --hook;chainloader (fd0)+1;rootnoverify (fd0);"
仍与以前相同,当屏幕显示map --mem (fd0)/diskgen.img (fd0)时死机;
3.从U盘重新启动到DOS后,先运行GRUB,进入到GRUB命令行下,然后用quit返回到DOS下,运行Edit.com,打开上述镜象文件,能够完全打开(可以显示读出进度的百分比),该文件总共为4091行。
According to your requirements, the following experiment has been completed, and the report is as follows:
1. I specially used WinImage to make a standard 720KB diskgen.img image file, and it can start and run normally after trial;
2. Make a batch processing, the content is:
grub.exe --config-file="map --mem (fd0)/diskgen.img (fd0);map (fd0) (fd1);map --floppies=2;map --hook;chainloader (fd0)+1;rootnoverify (fd0);"
It is still the same as before. When the screen displays map --mem (fd0)/diskgen.img (fd0), it crashes;
3. Restart from the USB flash drive to DOS, first run GRUB, enter the GRUB command line, then use quit to return to DOS, run Edit.com, open the above image file, and can be completely opened (the percentage of the reading progress can be displayed), the file has a total of 4091 lines.
|
|
2006-7-24 11:35 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 29 楼』:
使用 LLM 解释/回答一下
我不是要你制作一个小于 1.44M 的 IMG,而是要你把 U 盘的分区大小缩小为 1.44M。
如果分区大,一个小文件也可能被分配到 1.44M 以后的扇区,这样在打开时就会死机。
EDIT 是不能打开一个二进制的 IMG 文件的,只能打开其中的一部分而已。你需要用一个16进制的编辑器来打开,这个测试才有效。
你再确认一下,是不是在 GRUB 下可以打开 U 盘上的 IO.SYS 文件(DOS启动时读过它)。
如果同样失败死机,你准备一个 DEBUG 程序(DOS中有这个程序),我想让你在 DOS 下做进一步测试(测试 int 13 /AH=8,DL=0 的返回结果)。
还有啊,现在你可以做以下测试:
cat --hex (fd0)2878+1
cat --hex (fd0)2879+1
cat --hex (fd0)2880+1
cat --hex (fd0)2881+1
cat --hex (fd0)5000+1
cat --hex (fd0)127935+1
看看哪几个会死机?
Last edited by 不点 on 2006-7-24 at 12:09 ]
I don't want you to make an IMG smaller than 1.44M, but to reduce the partition size of the USB drive to 1.44M.
If the partition is large, a small file may also be allocated to a sector after 1.44M, which will cause a crash when opening.
EDIT cannot open a binary IMG file, only a part of it. You need to use a hex editor to open it, and this test will be valid.
Please confirm again whether the IO.SYS file on the USB drive can be opened under GRUB (which is read during DOS startup).
If it also fails and crashes, prepare a DEBUG program (this program is available in DOS), and I want you to do further tests under DOS (test int 13 /AH=8, DL=0 return result).
Also, now you can do the following tests:
cat --hex (fd0)2878+1
cat --hex (fd0)2879+1
cat --hex (fd0)2880+1
cat --hex (fd0)2881+1
cat --hex (fd0)5000+1
cat --hex (fd0)127935+1
See which ones will crash?
Last edited by 不点 on 2006-7-24 at 12:09 ]
|

因为我们亲手创建,这个世界更加美丽。 |
|
2006-7-24 11:51 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 30 楼』:
使用 LLM 解释/回答一下
笔误!我也被误进去了,改过来后25楼的第3个方法还是能启动的 
Typo! I was also mistakenly included. After correction, the 3rd method on floor 25 can still be started.
|
|
2006-7-24 11:53 |
|
|