|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『楼 主』:
请教:关于用syslinux引导grub4dos的问题。
使用 LLM 解释/回答一下
请教:关于用syslinux引导grub4dos的问题。
据说u盘启动的,采用syslinux的兼容性不错。因此考虑采用syslinux来加载gghost.img.
试了一下,发现加载非标准镜像的速度特别慢。而且对img的要求比较严格,我的gghost.img载入后提示不能启动。
于是就想到用syslinux引导grub后启动img。
试了一下, 用
label 1
KERNEL grub.exe
可以启动grub,可是却找不到放在u盘根目录的menu.lst,从而直接进入了命令行。【通过菜单内置解决了找不到菜单问题,请问此时,假如不内置的话,如何设置才能找到菜单文件?】
假如用syslinux能直接引导grldr,就能解决找不到根目录的菜单问,于是翻了帖子,看到bean有一个帖子"在grub2-syslinux里引导grub4dos和ntldr"介绍了syslinux引导grub4dos,于是下载了文件loadbin.bin,根据里面的说明写入了syslinux.cfg,
kernel loadbin.bin
append initrd=grldr
可是运行后提示找不到linux,不知何故?也不清楚哪里用错了。
请知道的人指教。
u盘启动方式很多,也不清楚到底哪种方式兼容性最好。
Ask: Regarding the problem of using syslinux to boot grub4dos.
It is said that for USB drive booting, using syslinux has good compatibility. Therefore, I considered using syslinux to load gghost.img.
I tried it and found that loading non-standard images is extremely slow. Moreover, it is quite strict about the img. My gghost.img prompts that it cannot boot after being loaded.
So I thought of using syslinux to boot grub and then start the img.
I tried it. Using
label 1
KERNEL grub.exe
can boot grub, but it cannot find the menu.lst placed in the root directory of the USB drive, thus directly entering the command line.
If syslinux can directly boot grldr, it can solve the problem of not finding the root directory menu. So I flipped through the posts and saw that there is a post by bean "Booting grub4dos and ntldr in grub2-syslinux" which introduced syslinux to boot grub4dos. So I downloaded the file loadbin.bin, and according to the instructions inside, I wrote syslinux.cfg,
kernel loadbin.bin
append initrd=grldr
But after running, it prompts that linux is not found. I don't know why? I also don't know where I made a mistake.
Please let those who know give guidance.
There are many ways to boot from a USB drive, and I don't know which one has the best compatibility.
|

Windows 一键还原
http://www.yjhy.com |
|
2008-1-3 14:29 |
|
|
barton
中级用户
  
积分 480
发帖 197
注册 2006-9-20 来自 黄冈
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
label 1
KERNEL grub.exe
menu.lst是否和grub.exe放在同一目录?
第二种方法提示找不到linux,你的syslinux用的是什么版本,试看看debug版本会出现些什么提示,还有就是syslinux.cfg配置是什么样的
label 1
KERNEL grub.exe
Is menu.lst placed in the same directory as grub.exe?
The second method prompts that linux is not found. What version of syslinux are you using? Try to see what prompts the debug version will have, and also what the syslinux.cfg configuration is like
|
|
2008-1-3 15:51 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
通过 grub.exe 启动的,好像就没有默认的“当前设备”了,所以,就找不到 menu.lst 了。不过,你可以用
label 1
KERNEL grub.exe --config-file=(fd0)/menu.lst
或者类似的参数,来指定菜单文件。
When booted via grub.exe, there seems to be no default "current device", so the menu.lst cannot be found. However, you can use
label 1
KERNEL grub.exe --config-file=(fd0)/menu.lst
or similar parameters to specify the menu file.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2008-1-3 16:06 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
Originally posted by barton at 2008-1-3 15:51:
label 1
KERNEL grub.exe
menu.lst是否和grub.exe放在同一目录?
第二种方法提示找不到linux,你的syslinux用的是什么版本,试看看debug版本会出现些什么提示,还有就是syslinux.cfg配置是什么样的
在同一目录,试过readme中提到的都不行,看来就是不点讲的不存在当前设备了。
考虑了指定fd0,但是会不会变成是hd0? 不会的话倒没问题,若可能成了(hd0,0),如何解决比较有通用性?
syslinux版本是3.51的。以前下的,用过一次,加载img太慢就没用了。今天有人要u盘启动gghost,试用dos启动不行,所以就想到兼容性好的sysliinux了。
(DOS file) .\menu.lst, the MENU.LST in the current dir.
(DOS file) \menu.lst, the MENU.LST in the root dir of
the current drive.
(GRUB file) /menu.lst, the MENU.LST in the root dir of
the boot device.
Originally posted by barton at 2008-1-3 15:51:
label 1
KERNEL grub.exe
Is the menu.lst in the same directory as grub.exe?
The second method prompts that linux is not found. What version of syslinux are you using? Try to see what prompts the debug version will have, and what the syslinux.cfg configuration is like
In the same directory, I have tried what is mentioned in the readme, but it doesn't work. It seems that it is indeed not pointing to the current device.
I considered specifying fd0, but will it become hd0? If not, it's okay. If it might become (hd0,0), how to solve it more universally?
The version of syslinux is 3.51. I downloaded it before and used it once, but it was too slow to load the img, so I didn't use it. Today someone wanted to boot gghost from a USB drive, and the DOS boot didn't work, so I thought of the more compatible sysliinux.
(DOS file) .\menu.lst, the MENU.LST in the current dir.
(DOS file) \menu.lst, the MENU.LST in the root dir of
the current drive.
(GRUB file) /menu.lst, the MENU.LST in the root dir of
the boot device.
|

Windows 一键还原
http://www.yjhy.com |
|
2008-1-3 17:07 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
Originally posted by barton at 2008-1-3 15:51:
试看看debug版本会出现些什么提示,还有就是syslinux.cfg配置是什么样的
用法是bean的帖子里写的。
kernel loadbin.bin
append initrd=grldr
文件文件都没找到,换debug版本的grldr也没用吧。
个人理解这是syslinux没引导成功grldr。
应是kernel loadbin.bin未执行成功。
Originally posted by barton at 2008-1-3 15:51:
Try to see what prompts the debug version will have, and what the syslinux.cfg configuration is like
The usage is written in bean's post.
kernel loadbin.bin
append initrd=grldr
The files were not found, and it doesn't help to change to the debug version of grldr.
Personally, I understand that this is because syslinux failed to boot grldr.
It should be that kernel loadbin.bin was not executed successfully.
|

Windows 一键还原
http://www.yjhy.com |
|
2008-1-3 17:23 |
|
|
barton
中级用户
  
积分 480
发帖 197
注册 2006-9-20 来自 黄冈
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
Originally posted by 不点 at 2008-1-3 16:06:
通过 grub.exe 启动的,好像就没有默认的“当前设备”了,所以,就找不到 menu.lst 了。不过,你可以用
label 1
KERNEL grub.exe --config-file="(fd0)/menu.lst"
或者类似的参数,来指定菜单文件。
看看不点说的或者下面这个是否找到菜单
label 1
KERNEL grub.exe
APPEND --config-file="(fd0)/menu.lst"
我说的debug版本是syslinux的,o(∩_∩)o... 好像只有isolinux有debug版本
Last edited by barton on 2008-1-4 at 03:00 PM ]
Originally posted by Budian at 2008-1-3 16:06:
It's booted through grub.exe, and it seems there is no default "current device", so the menu.lst cannot be found. However, you can use
label 1
KERNEL grub.exe --config-file="(fd0)/menu.lst"
or similar parameters to specify the menu file.
See if what Budian said or the following one finds the menu
label 1
KERNEL grub.exe
APPEND --config-file="(fd0)/menu.lst"
The debug version I mentioned is for syslinux. O(∩_∩)o... It seems only isolinux has a debug version
Last edited by barton on 2008-1-4 at 03:00 PM ]
|
|
2008-1-3 20:51 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
Originally posted by barton at 2008-1-3 20:51:
看看不点说的或者下面这个是否找到菜单
label 1
KERNEL grub.exe
APPEND --config-file=(fd0)/menu.lst
我说的debug版本是syslinux的,o(∩_∩)o... 好像只有isolinux有debug版本
不好意思,我对syslinux了解很少,是拿来主义。呵呵。
除了照猫画虎,其他的不会。
假如是会不会启动后是HD0? 假如会的话,如何处理妥当些?
Originally posted by barton at 2008-1-3 20:51:
Check if the following is found in the menu
label 1
KERNEL grub.exe
APPEND --config-file=(fd0)/menu.lst
The debug version I mentioned is for syslinux, o(∩_∩)o... It seems only isolinux has a debug version
I'm sorry, I know very little about syslinux, just using it as a ready-made solution. Hehe.
Other than imitating, I can't do anything else.
If it starts as HD0, how to handle it properly?
|

Windows 一键还原
http://www.yjhy.com |
|
2008-1-4 07:39 |
|
|
barton
中级用户
  
积分 480
发帖 197
注册 2006-9-20 来自 黄冈
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
syslinux我也只是用其中的isolinux和pxelinux而已, 和grub4dos用法很类似
但是对于U盘被识别为fd或者hd的问题,可以用grub的find来定位看看是否可行,syslinux好像也没办法解决这个问题
(syslinux里是根据是否有 " / " 符号来确定是否是当前设备根目录,不带任何符号表示在isolinux/pxelinux文件夹内-相对路径, syslinux.exe-syslinux.com没用过,不明)
你看看下面的这个用法是否可以奏效
label 1
KERNEL grub.exe
APPEND --config-file="find --set-root /gghost.txt;configfile /menu.lst;boot"
如果不成功就考虑用内置菜单吧
:-)
Last edited by barton on 2008-1-4 at 03:21 PM ]
I only use isolinux and pxelinux in syslinux, which is very similar to the usage of grub4dos.
But for the problem that the USB flash drive is recognized as fd or hd, you can use grub's find to locate and see if it works. Syslinux seems to have no way to solve this problem.
In syslinux, it is to determine whether it is the root directory of the current device according to whether there is a "/" symbol. No symbol means it is in the isolinux/pxelinux folder - relative path. I haven't used syslinux.exe-syslinux.com, so I don't know.
See if the following usage can work.
label 1
KERNEL grub.exe
APPEND --config-file="find --set-root /gghost.txt;configfile /menu.lst;boot"
If it doesn't work, consider using the built-in menu.
:-)
Last edited by barton on 2008-1-4 at 03:21 PM ]
|
|
2008-1-4 14:58 |
|