无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 14785|回复: 97

[多启相关研究]SYSLINUX解决Grub4Dos乱码问题及一些发现

[复制链接]
发表于 2009-6-1 22:34:10 | 显示全部楼层 |阅读模式
感谢坛友 jdwxabc 共同研究测试!

在有些机器上(即个别案例),Grub4Dos做为一启时会出现乱码。

本人与 jdwxabc 利用本人的愚作 系统维护多启方案 以及其他作品(包括h3大、水叔的)共同测试发现:
1、利用方案的高级安装实现Grub4Dos一启的时候会出现乱码,背景图无法加载,子菜单无法调用(configfile调用的),find --set-root找不到任何文件;
2、实现GfxBoot一启的时候乱码,估计是找不到message;
3、利用SYSLINUX一启,此后转Grub4Dos ,此时的Grub4Dos偶尔正常、无乱码,背景图正常显示,子菜单正常调用,子菜单项目正常使用。此时从Grub4Dos转SYSLINUX再转回Grub4Dos,就出现了如同 1 的情况。

总结一下就是:
      启动顺序                                            结果
a.   g4d                                                   乱码,find --set-root找不到任何文件
b.   gfx                                                    乱码,估计是找不到message
c.   SYSLINUX转g4d                                  偶尔正常
d.   SYSLINUX转g4d转SYSLINUX转g4d         乱码,find --set-root找不到任何文件


通过a、c的对比可发现,某些机器上,SYSLINUX能解决Grub4Dos乱码的问题,且Grub4Dos所有功能正常,这同时也体现了多启的重要性!
不足是在此基础上Grub4Dos转回SYSLINUX后再转Grub4Dos,Grub4Dos的乱码问题又依旧了。

关于在某些机器上Grub4Dos的乱码情况,例如jdwxabc的测试机器,无论是使用其它合盘作品或是做一个简单的启动盘,只要在该机器上实现Grub4Dos一启,就会出现乱码的现象。
且本人的方案以Grub4Dos作为一启在大部分机器上仍然是正常的,所以问题应该不出在我的方案上,而是Grub4Dos对于某些机器的兼容性上吧?

貌似 不 点 老大是参与Grub4Dos开发的吧,感谢不点老大的同时反馈一些信息,希望能给不点老大提供一些帮助~~

PS.
希望不要有人说:
既然SYSLINUX一启后转Grub4Dos成功了,就正常使用Grub4Dos嘛!何必转来转去又让Grub4Dos不能使用了!

我对此的看法是:
“转”不是最终目的,做多启也不是为了让一个东西复杂化转来转去,而是实现更多的启动可能。反馈这次“转”的发现,也是希望能对开发者提供一些信息。n

[ 本帖最后由 x.Nichdlas 于 2009-6-2 13:51 编辑 ]
 楼主| 发表于 2009-6-1 22:59:05 | 显示全部楼层
jdwxabc利用他的合盘测试SYSLINUX>G4D>SYSLINUX>G4D,情况如下:
未命名 - 1.jpg




利用我的方案做相同测试,基本也是这个情况

[ 本帖最后由 x.Nichdlas 于 2009-6-2 00:55 编辑 ]
回复

使用道具 举报

发表于 2009-6-1 23:22:27 | 显示全部楼层
看了一下楼主 《系统维护多启方案》的那个帖子,我曾经自己YY类似的多启菜单,都没有楼主所说的问题,不知是否运用(重点可能在菜单的编写上)失当?
回复

使用道具 举报

 楼主| 发表于 2009-6-1 23:31:05 | 显示全部楼层

回复 #3 zxw 的帖子

说了是“在有些机器上”了…………没办法,变色显示吧

我自己的作品,我肯定是自己使用正常的情况下才发的。
只是有朋友遇到Grub4Dos乱码的问题,通过跟他们的讨论得出一些发现,所以现在提出来让大家共同讨论一下而已。

[ 本帖最后由 x.Nichdlas 于 2009-6-1 23:33 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 00:45:50 | 显示全部楼层
原帖由 zxw 于 2009-6-1 23:22 发表
看了一下楼主 《系统维护多启方案》的那个帖子,我曾经自己YY类似的多启菜单,都没有楼主所说的问题,不知是否运用(重点可能在菜单的编写上)失当?

不是菜单编写失当,水大的、H3大的不会失当吧,在我的机子上一样乱码。朋友能否传一份你YY的样本我测试一下(FTP3\jdwxabc文件夹下),谢谢了。
回复

使用道具 举报

发表于 2009-6-2 00:57:09 | 显示全部楼层
建议提供一些资料:
1、启动介质、硬盘分区情况
2、启动盘目录、文件结构
3、grub4dos版本、菜单

最好提供一个尽量精简的、能重现问题的iso文件。

根据以往经验,凡syslinux表现强于grub4dos的实例,将很快被消灭。多启的必要性大为减弱。
回复

使用道具 举报

 楼主| 发表于 2009-6-2 01:08:28 | 显示全部楼层

回复 #6 pseudo 的帖子

资料倒是可以提供

但貌似jdwxabc利用所有的iso启动g4d都会乱码……
如此“能重现问题的iso文件”可以随便下一个

并不是说g4d不强,但不能保证g4d能启动所有机器吧?
我也曾碰到量产g4d一启启不动的机器(不是乱码,而是没提示),后来换用isolinux一启才成功的(当时用的是h3大的作品)

也许在高手的手下,总能凭借经验和利用各种手段使g4d启动任何机器(包括最新开发的fbinst),但我等菜鸟往往需要U+、或是手动安装syslinux来应付一些机器


也衷心祝愿g4d兼容性和功能越来越强大,也可免去一些纷争

[ 本帖最后由 x.Nichdlas 于 2009-6-2 01:14 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 07:45:57 | 显示全部楼层
其实是菜单的不同调用,所产生失败搜寻的结果。

请详细看…两个调用菜单所产生在不同显示菜单上…
回复

使用道具 举报

发表于 2009-6-2 08:00:16 | 显示全部楼层
如果只是乱码,但是启动正常.可以尝试以下方法.

出现乱码后手工进入G4D命令行
输入
fontfile /xxxxx(你的fonts文件路径)

并且要确保你的fonts文件是存在的,可以用"ls"命令来查看这个文件是否存在.

如果通过以上方法可以显示出中文,那一般来说就是菜单编写不当导致出现问题.

补充一点,
使用SYSLINUX加载G4D启动,最好配合bean的那个loadbin
http://bbs.znpc.net/viewthread.php?tid=4273

很多时候是由于SYSLINUX加载G4D没有完全加载引起的,使用上面的loadbin后就会正常了.

一个SYSLINUX转GRUB4DOS的例子

kernel ldntldr.bin
initrd grldr

[ 本帖最后由 chenall 于 2009-6-2 08:09 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 08:07:18 | 显示全部楼层
可不可以换一下grub4dos的版本试试,如0.4.2以及0.4.3版,我是看了这个贴子才有这种感觉的。

http://bbs.znpc.net/viewthread.php?tid=2229

------------------------------------------------------------------------------
另外,看到一个贴子说:“建立启动菜单文件MENU.LST,设置好PE和其他工具的启动命令,注意最前面一定要用find --set-root /BOOT/FONT.GZ指定字库文件,否则菜单可能出现乱码。”

看了一下G4D菜单文件,里面只有find --set-root /G4DGFX/G4DGFX.X这句,但没有find --set-root /。。。/FONT.GZ这句。(是在CHS文件中用的fontfile /G4DGFX/FONT.GZ)

我一点不懂,只是简单对比,也不知信息有没有用。

-----------------------------------------------------------------------------------------
另:“注意用fontfile如果不带一个splashimage的话,会乱的很严重。”

[ 本帖最后由 bgwhw 于 2009-6-2 08:47 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 08:16:45 | 显示全部楼层
G4D、G4DGFX改换内置的方式,试试…
回复

使用道具 举报

 楼主| 发表于 2009-6-2 09:40:00 | 显示全部楼层
额 谢各位的热心回复 当似乎没到点子上

回复 #8 chen463 的帖子
h3大的iso也会调用错误?
还有一些只有g4d的iso不会调用菜单错误吧,因为都没菜单调用,这些机器上g4d一启必乱码

回复 #9 chenall 的帖子
乱码的时候find --set-root是找不到任何文件的(读取不到usb设备任何文件) 所以此时再操作加载字体已经没有用了

回复 #10 bgwhw 的帖子
回复如上
另:“注意用fontfile如果不带一个splashimage的话,会乱的很严重。” 这句貌似是对的

回复 #11 chen463 的帖子
已经是内置菜单了 不然不会乱码 而是显示类似:
find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
commandline
reboot
halt

因为外置菜单是根本找不到的
回复

使用道具 举报

发表于 2009-6-2 10:17:10 | 显示全部楼层
请 jdwxabc 做几个测试,或许能给大家提供点思路

分别在 grub4dos 一启乱码,syslinux 第一次转 grub4dos 正确,syslinux 第二次转 grub4dos 乱码时在 grub4dos 命令行运行下面的命令:

1. find
2. root
3. 如果启动设备不是当前的根(这个好像不大可能),切换到启动设备,如: root (cd)
4. ls
5. ls grub4dos 字体所在目录,如字体在 /BOOT/GRUB/ 则运行: ls /BOOT/GRUB/ (注意最后一个 / 要有,路径的大小写最好与上一步 ls 显示的结果一致)
回复

使用道具 举报

发表于 2009-6-2 10:43:38 | 显示全部楼层
感谢楼主提到了我。我由于身体原因,已经在不久前退出了开发(其实早在两三年前都该退出了)。目前只剩下 bean 在继续维护 grub4dos 了(bean 还有别的项目也在同时开发)。这使得 grub4dos 能够正常发展下去,感谢 bean。

实践出真知,感谢各位的讨论。目前我没有发现有什么需要补充的。如果 chenall 和 pseudo 发现了 grub4dos 的 bug,你们可以自行解决,然后把补丁提交给 bean。

补充一下(权当废话好了):几年前,我的身体突然不行了,于是我就打算退出。我在当时的 grub4dos 讨论区“中国DOS联盟”提出需要有人能够继续开发 grub4dos,否则,如果这个项目夭折了,这可能会加重我的病情。幸亏 windrv 说 bean 可以接替。现在,这证实了 windrv 并没有骗我。windrv 挽救了我,同时也让 grub4dos 有了一个合适的人选,不至于夭折。我本人非常感激 windrv 的那次行动。

[ 本帖最后由 不点 于 2009-6-3 08:35 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-6-2 10:55:01 | 显示全部楼层

回复 #14 不点 的帖子

感激不点老大的辛劳~
我是通过Grub4Dos逐渐积累启动相关知识的,这个启动平台给了我许多新的见识,就如同是我开始不断提高的起点

祝不点老大身体健康~~~生活幸福
也祝所有开发人员身体健康~少熬夜~
回复

使用道具 举报

发表于 2009-6-2 11:47:01 | 显示全部楼层

回复 #5 jdwxabc 的帖子

已将部分文件打包传到你的邮箱hh61@yahoo.cn,这是过去在天意的版本上YY的(自己用,从未外传,背景图加了一点个人信息,你外传之前请YY掉我加的个人信息),现在早已摒弃未用了,按你的要求再YY了,因时间仓促可能还有一些纰漏,你测试一下,但愿不会在你所说的部分机子上还是会出现乱码。另SYSLINUX文件下分别有SYSLINUX.CFG 、SYSLINUX0.CFG 、SYSLINUX1.CFG 三个文件,你看看就应该知道了。

@其他网友:因背景图加了一点个人信息,就不在这里上传了,需要者请jdwxabc YY掉我加的个人信息后找jdwxabc提供。

[ 本帖最后由 zxw 于 2009-6-2 11:48 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 12:06:45 | 显示全部楼层
LABEL g4d
        MENU LABEL [^9]
        kernel /XNIC/BOOT2G4D.BIN
………………………………………………..
title [09] 切换至 Grub4Dos 菜单           (光盘/U盘/量产可用)
        configfile /G4DGFX/MENU.CHS

上面两个菜单,我试了,是不同的菜单显示

LABEL boothd
        MENU LABEL ---
        kernel CHAIN.C32 hd0       
而上面的指令,您还真坚持自己的调用错误….无语??没有hd0,1,只有hd0或hd0 1
回复

使用道具 举报

 楼主| 发表于 2009-6-2 12:23:35 | 显示全部楼层

回复 #17 chen463 的帖子

呵呵 谢指正boothd的问题 看来我是错信h3大了?
不过这个和gurb4dos乱码无关啊

另您测试的是我旧版的iso吗?“切换至 Grub4Dos 菜单”有这个提示“(光盘/U盘/量产可用)”?
且这个是GFX转G4D的不知道跟syslinux转g4d有何联系

BOOT2G4D.BIN内置的就是menu.chs(这个只是isolinux的调用)

少将请不要被isolinux.cfg所迷惑了 我的菜单可能复杂了点
syslinux调用要看syslinux.cfg
g4d转syslinux
find --set-root /ldlinux.sys
chainloader +1

syslinux转g4d
kernel /XNIC/GRLDRG4D.BIN

注意是GRLDRG4D.BIN而不是BOOT2G4D.BIN
GRLDRG4D.BIN内置了menus.chs

如果菜单调用错 为何在大多数机器上都能正常使用 我所讨论的是某些机器上的g4d乱码问题……希望能回归点子上

[ 本帖最后由 x.Nichdlas 于 2009-6-2 12:33 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-6-2 12:35:21 | 显示全部楼层
很抱歉我的语言组织能力较差 始终无法让大家明白理解“某些机器”这个概念……是个例 不是普遍现象的意思
回复

使用道具 举报

 楼主| 发表于 2009-6-2 13:46:13 | 显示全部楼层

回复 #17 chen463 的帖子

刚才特地试了下

USB-HDD启动(这时候U盘是hd0吧?)本机硬盘(hd1)
使用的是SYSLINUX 3.81

kernel CHAIN.C32 hd0                   刷新SYSLINUX界面(重新启动了SYSLINUX)
kernel CHAIN.C32 hd0,1                刷新SYSLINUX界面(重新启动了SYSLINUX)
kernel CHAIN.C32 hd0 1                刷新SYSLINUX界面(重新启动了SYSLINUX)

kernel CHAIN.C32 hd1                   Missing MBR Helper(卡死 重启)
kernel CHAIN.C32 hd1,1                启动本机硬盘第一分区的pbr
kernel CHAIN.C32 hd1 1                启动本机硬盘第一分区的pbr


从实践来看,还真没看出来hd0,1和hd0 1有啥区别  : >

[ 本帖最后由 x.Nichdlas 于 2009-6-3 11:53 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 15:21:01 | 显示全部楼层

回复 #1 x.Nichdlas 的帖子

原帖由 x.Nichdlas 于 2009-6-2 01:08 发表
资料倒是可以提供

但貌似jdwxabc利用所有的iso启动g4d都会乱码……
如此“能重现问题的iso文件”可以随便下一个

并不是说g4d不强,但不能保证g4d能启动所有机器吧?
我也曾碰到量产g4d一启启不动的机器 ...

一、期待楼主的资料。并希望能在本贴给出能重现问题的iso文件下载地址,同时说明能导致问题的操作序列。

“多启”有一定的研究背景,楼主既然专门发帖讨论,还请多提供资料。即使这些资料可能在别的帖中提供过,但本贴提供的资料确实不多啊,连菜单都未能看到呢。
资料越详细,无疑越利于解决问题。不点、chenall大师路过未给出很具体的说法,我猜想跟资料不足有点关系。

关注本贴的,未必都曾下载了楼主和jdwxabc的合盘成果,所以最好认为关注本贴的人之前手头还没有楼主的东西。

因为印象中合盘文件体积都很大。所以我希望能有个精简的、可重现问题的合盘iso。
合盘包含多个pe,可能只要一个pe(或工具映像)就能说明问题,那么合盘iso体积可以精简。另外本帖只涉及启动阶段,那么与启动无关的pe外置、甚至核心也可精简掉。就是说,楼主也许能提供一个足以说明问题的、体积很小的文件。大家下载这样的文件去研究本贴问题,也许效率会高些。

二、由于grub4的强大,多启的必要性大为减弱,不是否定其必要性
grub4的强大不只是其功能的强大,更由于其开发者不点、bean等的厉害。
只要提供确切的实例和资料,syslinux能做到的相信不点、bean等当能在grub4中做到,关键是提供资料。据我所知,他们很希望得到关于grub4与syslinux差距的资料。
楼主可以看看时空论坛bean做的fbinst,号称万能,迄今当之无愧。

三、本贴问题原因可能是grub4/syslinux有bug,也可能是楼主使用不当。遇到问题时,我主张疑神疑鬼,怀疑一切,包括我这句话:)

四、本人对多启技术没有研究,连单启都没弄利索,希望通过本贴讨论学点东西,先谢谢楼主和此间朋友。
回复

使用道具 举报

 楼主| 发表于 2009-6-2 17:44:19 | 显示全部楼层

回复 #21 pseudo 的帖子

谢pseudo大师指点

说实话 乱码的机器本人是没有遇到的 测试环境的资料我还真是拿不出
但在帖子里遇到3位朋友有这个情况 于是跟他们交流后得到了本帖的一些发现
所以才斗胆写出来讨论讨论的

我觉得我是不是皇上不急太监急了? : >
这个问题以后还是留待实际遇到的朋友再来反映吧
我这么提出来实在说服力不足啊~~

尽管我认为既然jdwxabc试过任何涉及g4d的iso都乱码了,问题是出在环境上,而不是iso上
但还是附上我的“方案”的启动核心iso吧 在ftp3下我的目录 改iso量产或手动安装下后可测SYSLINUX
其它各种在该累机器可现的iso我就不提供了

[ 本帖最后由 x.Nichdlas 于 2009-6-2 17:48 编辑 ]
回复

使用道具 举报

发表于 2009-6-2 22:04:47 | 显示全部楼层
原帖由 zxw 于 2009-6-2 11:47 发表
已将部分文件打包传到你的邮箱hh61@yahoo.cn,这是过去在天意的版本上YY的(自己用,从未外传,背景图加了一点个人信息,你外传之前请YY掉我加的个人信息),现在早已摒弃未用了,按你的要求再YY了,因时间仓促可 ...

谢谢你的热心帮忙,我测试后再回复你。
回复

使用道具 举报

发表于 2009-6-2 22:10:56 | 显示全部楼层

回复 #22 x.Nichdlas 的帖子

谢谢提供,下载学习
回复

使用道具 举报

发表于 2009-6-2 22:23:40 | 显示全部楼层
赶不上年经的,一直变化新版,呵呵…
V1版G4DGFX/MENUS.CHS和G4DGFX/MENUS.LST我一直强调的内置,并没有实现,此两档案改名之后,竟G4D出现乱码现象,这一直是我质疑的地方,猜测会不会是以G4D为第一启动也是如此现象,因为我电脑没有乱码,所以无法判断少数人是否搜寻外在*.LST,而造成乱码。
回复

使用道具 举报

发表于 2009-6-2 22:40:14 | 显示全部楼层
我自己YY的启动文件已经上传到FTP3\jdwxabc\自己YY的N合一PE系统.RAR。以前是准备做三启的,因乱码,改为EZB了。如有错误,请大家指正。谢谢!
我个人认为是我自己的主板的问题,属于个别的例子。各位大大的PE系统不可能全部都有问题吧,但是在我的破电脑上用U+ 一样是乱码。
回复

使用道具 举报

 楼主| 发表于 2009-6-2 22:51:08 | 显示全部楼层

回复 #25 chen463 的帖子

呵呵 本来gfx>g4d g4d>gfx我图快所以2者互换并未使用内置
在发“解决乱码的尝试方案”后内置了菜单 但别人测试后 乱码依旧 因为菜单是内置了 可是字体内置不了啊 找不到字体 注定要乱码
回复

使用道具 举报

发表于 2009-6-2 23:47:47 | 显示全部楼层

回复 #3 zxw 的帖子

刚才测试了,一样是乱码。下面是乱码图片

[ 本帖最后由 jdwxabc 于 2009-6-2 23:49 编辑 ]
IMG0385A.jpg
回复

使用道具 举报

发表于 2009-6-3 07:46:06 | 显示全部楼层
有些问题,一直没有人给出答案,

只是出现乱码而已吗?
其它的一切正常吗?比较进PE或其它工具...

还有13楼的提到的,好像都没有人看到?这些都是很重要的解决问题需要的东西.提供了这些信息以后基本上就可以解决问题了.

上传一张乱码的图片没有什么意义,显示乱码的图片只要说一下其本上都能猜到.

原帖由 wind_fsm 于 2009-6-2 10:17 发表
请 jdwxabc 做几个测试,或许能给大家提供点思路

分别在 grub4dos 一启乱码,syslinux 第一次转 grub4dos 正确,syslinux 第二次转 grub4dos 乱码时在 grub4dos 命令行运行下面的命令:

1. find
2. root
3. 如果启动设备不是当前的根(这个好像不大可能),切换到启动设备,如: root (cd)
4. ls
5. ls grub4dos 字体所在目录,如字体在 /BOOT/GRUB/ 则运行: ls /BOOT/GRUB/ (注意最后一个 / 要有,路径的大小写最好与上一步 ls 显示的结果一致)
回复

使用道具 举报

发表于 2009-6-3 08:39:15 | 显示全部楼层
谈一个我遇到的grub4dos乱码现象:
在一台笔记本和几个台式机出现过, XP启动蓝屏, 启动到grub4dos菜单乱码, 其中的工具包括PE都不能正常启动, 启动一部分后就停止不动了.   以前都是从新分区装系统和PE, 就正常了.  过一段时期, 故障反复又出现.

后发现在出现这个故障后, 把硬盘拿到其他电脑上, 启动grub4dos菜单正常, 各工具也能正常运行, 故怀疑是bios出错, 跳线清除, 重新设置后, 把硬盘装回来, 启动后一切正常.

在后来几台机器出现此现象, 都是跳线清除bios后, 重新设置, 即恢复正常.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-19 09:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表