China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-25 05:16
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » Ask: Regarding the problem of booting grub4dos with syslinux. View 2,118 Replies 7
Original Poster Posted 2008-01-03 14:29 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
Credits 3,946
Posts 1,884
Joined 2006-01-20 13:00
20-year member
UID 49283
Gender Male
Status Offline
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. [The problem of not finding the menu was solved through menu internalization. May I ask, if not internalized, how to set it to find the menu file?]

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
Floor 2 Posted 2008-01-03 15:51 ·  中国 福建 厦门 电信
中级用户
★★
Credits 480
Posts 197
Joined 2006-09-20 00:40
19-year member
UID 63115
From 黄冈
Status Offline
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
Floor 3 Posted 2008-01-03 16:06 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
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.
因为我们亲手创建,这个世界更加美丽。
Floor 4 Posted 2008-01-03 17:07 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
Credits 3,946
Posts 1,884
Joined 2006-01-20 13:00
20-year member
UID 49283
Gender Male
Status Offline
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
Floor 5 Posted 2008-01-03 17:23 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
Credits 3,946
Posts 1,884
Joined 2006-01-20 13:00
20-year member
UID 49283
Gender Male
Status Offline
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
Floor 6 Posted 2008-01-03 20:51 ·  中国 福建 厦门 海沧区 电信
中级用户
★★
Credits 480
Posts 197
Joined 2006-09-20 00:40
19-year member
UID 63115
From 黄冈
Status Offline
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 ]
Floor 7 Posted 2008-01-04 07:39 ·  中国 安徽 马鞍山 电信
金牌会员
★★★★
Credits 3,946
Posts 1,884
Joined 2006-01-20 13:00
20-year member
UID 49283
Gender Male
Status Offline
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
Floor 8 Posted 2008-01-04 14:58 ·  中国 福建 电信
中级用户
★★
Credits 480
Posts 197
Joined 2006-09-20 00:40
19-year member
UID 63115
From 黄冈
Status Offline
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 ]
Forum Jump: