无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 10577|回复: 23
打印 上一主题 下一主题

[分享]GRUB\syslinuX\U+三者引导试验的有趣现象

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-16 01:00:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了试验将isolinux写入U盘引导,结果发现了有趣的、奇怪的现象,不敢独享:

过程如下:
1、先用HP格式化工具U盘,将isolinux相关文件文件复制到U盘,启动:当然不成功。
2、用syslinux.exe J: 将isolinux写入U盘MBR,(保证成功写入了),启动---仍然不成功!
3、用UtlaISO的便携启动写入方式,写入USB-HDD+到U盘,启动:成功地引导isolinux!!!
    先说这个,不知道为什么用U+的HDD+或ZIP+重写MBR,都能成功引导原来的siolinux,在此过程中并没有重写isolinux.
4、接着用GRUB将GRUB写入U盘,并选择不保存原来的MBR,启动:毫无悬念,成功引导GRUB
5、再次用syslinux.exe J: 将isolinux写入U盘MBR,(保证成功写入了),启动:仍然是GRUB!!!
5、再次启动U+,用UtlaISO的便携启动写入方式,写入USB-HDD+到U盘,启动,猜猜,应该怎么样?
  答案是:竟然成功了isolinux!!!!!!!!!!!

有几问题值得探讨:
 A、为什么成功写入isolinux后,必须用U+重写为HDD+,才能启动isolinux?
 B、为什么多次反反复地进行U+的HDD、HDD+、ZIP+写入MBR操作,均不影响isolinux,均能成功启动?
 C、用GRUB写入,并未保存原来的MBR,再用U+的HDD+重写后,仍然能重新引导isolinux??????
 D、写入GRUB后,重写isolinux,竟然不成功,仍然是GRUB?

isolinux到底位于什么地方?

请哪位将本贴传给不点或U+作者,看看他们有什么说法。

[ 本帖最后由 歌理 于 2008-8-16 01:01 编辑 ]
2#
发表于 2008-8-16 08:17:51 | 只看该作者
确实有趣,看来U盘仿真磁盘的启动确实没有标准,甚至是混乱,试图用优盘启动代替光盘启动还需时日;楼主的实验,很可能换一台机器,结果会大变!u盘仿真和机器的bios有直接关系!
回复

使用道具 举报

3#
 楼主| 发表于 2008-8-16 16:03:33 | 只看该作者
经过多次试验,换不同U盘,在不同机子上试验,结果一样,另外还发现了一点规律:

一、UtlaISO支持isolinux,用U+写入到U盘时,一搬情况下,默认由NTLDR引导(这个大家知道了),但是,若文件中有/boot/isolinux/isolinux.cfg,则不管原来引导方式如何,均默认引导isolinux!!!!
  这是个重大发现!!
二、经过格式化后的U盘,非U+写入时,必须经过HDD(或HDD+、ZIP+)写入MBR,才能由u盘引导isolinux,目前尚未发现其他写入方式。

三、isolinux与GRUB和平共存,不会相互干扰,经过GRUB写入后,再经过U+的HDD+便携写入,立即变为isolinux启动。
回复

使用道具 举报

4#
 楼主| 发表于 2008-8-16 16:04:52 | 只看该作者
正在试验isolinux的兼容情况。。。。。。。。。。。
回复

使用道具 举报

5#
发表于 2008-8-16 18:42:23 | 只看该作者
楼主的试验很有意思,如果能提供每种情况的MBR和启动扇区就更好了。(可以使用WinHex)
回复

使用道具 举报

6#
发表于 2008-8-16 20:22:26 | 只看该作者
谢谢分享制作经验,辛苦啦!
回复

使用道具 举报

7#
 楼主| 发表于 2008-8-16 20:42:52 | 只看该作者
原帖由 liuhj 于 2008-8-16 18:42 发表
楼主的试验很有意思,如果能提供每种情况的MBR和启动扇区就更好了。(可以使用WinHex)

我用Wwinhex看了,看不出名堂。
回复

使用道具 举报

8#
发表于 2008-8-16 21:59:59 | 只看该作者
这个。。。
我很早前就发现了

syslinux.exe不能改变MBR
只能改变PBR
能引syslinux的启动扇区的MBR比较特别
HP的工具格式化之后再用syslinux.exe在很多机器上仍然启动不起来,在某些机器上能启动起来

grubinst如果以mbr形式写入
则无论你怎么运行syslinux.exe
都无法启动
除非grubinst的时候保留了原来的MBR,而原来的MBR的功能就是从启动扇区启动
回复

使用道具 举报

9#
发表于 2008-8-16 22:09:54 | 只看该作者
所以你的四个问题都很容易解决了
ultraiso的MBR的功能是从活动分区的启动扇区启动,这点上与fdisk的mbr功能相同,但是直接用winhex对U盘写入fdisk的mbr却无法启动syslinux,而用另外一段兼容性很好的MBR(我从网上找到的....,现在硬盘上也一直用这段MBR代码,功能也是从活动分区的引导扇区启动)


syslinux.exe只改写分区的引导记录

grubinst.exe根据楼主的选择,改写的是主引导记录,而ULTRAISO的U+改写的也是主引导记录

所以


 A、为什么成功写入isolinux后,必须用U+重写为HDD+,才能启动isolinux?
因为syslinux.exe写入的只是一个分区引导记录,必须有主引导记录来调用它,就像vista的bootsect.exe,例如bootsect.exe /nt52 c:这样并不能保证启动到NTLDR,而需要有来调用该分区引导记录的MBR,例如FDISK的MBR,其功能是调用活动分区的引导记录来启动,而u+就是这个功能,写入一个MBR来调用syslinux.exe的PBR


 B、为什么多次反反复地进行U+的HDD、HDD+、ZIP+写入MBR操作,均不影响isolinux,均能成功启动?
因为U+只针对MBR,不针对PBR,所以不会破坏当前的syslinux的PBR


 C、用GRUB写入,并未保存原来的MBR,再用U+的HDD+重写后,仍然能重新引导isolinux??????
grub没保存的也是U+的记录,GRUB里面的保存记录只是针对MBR的,不是针对PBR的,所以不影响

 D、写入GRUB后,重写isolinux,竟然不成功,仍然是GRUB?
因为你用的grub4dos的记录默认是优先从GRLDR启动,而且不引导其他MBR,所以如果存在grldr则能启动,如果不存在grldr,则不能启动,除非你保存了u+的引导记录,冰鞋grubinst写入MBR时选择了引导原来的MBR,则当GRUB的mbr启动grldr失败时会尝试保存过的U+的引导记录,而U+引导记录会转移到活动分区的PBR,也就是SYSLINUX的PBR,从而启动syslinux
回复

使用道具 举报

10#
发表于 2008-8-16 23:41:24 | 只看该作者
原帖由 歌理 于 2008-8-16 01:00 发表
1、先用HP格式化工具U盘,将isolinux相关文件文件复制到U盘,启动:当然不成功。
2、用syslinux.exe J: 将isolinux写入U盘MBR,(保证成功写入了),启动---仍然不成功!
……
5、再次用syslinux.exe J: 将isolinux写入U盘MBR,(保证成功写入了),启动:仍然是GRUB!!!


LZ你试试用syslinux.exe -sfamr j:
可能就不是这个现象了,呵呵
回复

使用道具 举报

11#
发表于 2008-8-17 07:11:51 | 只看该作者

可以用将syslinux写入MBR的功能
楼上的参数
/sfamr
其中/s表示使用类似安全模式的代码,可以获得更佳的兼容性
f表示强制写入,这在写入本地磁盘时必须使用,无论是写MBR还是PBR都需要
a表示激活缩写分区,这个如果磁盘分区没激活的时候有用的
m表示写入MBR,这就是楼主为什么直接用syslinux.exe命令无法启动的原因了,用U+处理不过是写入另外一个MBR,但是该MBR能调用活动分区上的PBR,即syslinux来启动,而直接用带m的参数就可以免去这一步
还有一个参数d,可以使得ldlinux.sys文件生成到其他目录,而不是再根目录,这样保持U盘清爽


这样可以实现U盘根目录下面只有一个boot目录,但是却可以包含非常多的内容,例如PE,各类IMG镜像等
回复

使用道具 举报

12#
 楼主| 发表于 2008-8-17 12:53:06 | 只看该作者
wowfans ,谢谢你的详细解惑!!你是linux高手吧,这是我第一次接触、了解isolinux。

自从这段时间开始玩U盘量产后,就发现USB-CDROM在DOS下无法访问(总有人问为什么一定要在DOS下用usb-cdrom,我真的不想多说),后来听说,ISOlinux可以支持DOS,才有上述试验。

有人问过,isolinux\ezboot\grub4dos,哪个兼容性更好,经过这两天亲身试验,如果仅用于制作PE等启动、安装维护系统,我个人的意见是,不要选择isolinux.

一个比较完善、能用的PE系统ISO,不管是用ezboot还是GRUB方式启动,除了各自的启动菜单文件不同之外,其他内容不需修改,但是,若改用isolinux方式启动,事情就没那么简单了,非要大动手术,才能适应ISOlinux,比如:

1、完全相同的三个文件grldr、grldr.123、grldr.bin(仅文件名不同),ezboot\grub任一个都能启动,isolinux只能启动.BIN文件(我原以为是文件出错或CFG文件写不对,花了一个小时才弄明白)

2、Per的启动文件setupldr.bin EZ或GRUB都能用,isolinux非得用另外的文件,现成PE无法直接移植。
3、我有好几个在光驱、U盘、硬盘不论是EZ启动还是GR启动,都能正常,但改用isolinux启动,死活运行不了(当然与IMG文件有关,只说明通用性差)
4、网上下的ISO文件(isolinux启动),直接iso(VM)或光驱启动,正常;放到U盘启动,就有好个功能不正常,不是找不到文件就是找不到光驱。

我原本想将isolinux用于cdrom启动,但是看到要改动的地方太多,所以我都没神气继续其他试验了。

以上仅是本人这两天试验碰到的,可能以偏概全,一家之言。

[ 本帖最后由 歌理 于 2008-8-17 14:13 编辑 ]
回复

使用道具 举报

13#
发表于 2008-8-17 14:20:02 | 只看该作者
只是会用一些引导软件,不怎么会玩linux的
我还是比较喜欢syslinux
因为它可以直接使用png的高保真图片做背景,如果嫌背景载入慢,还可以直接转换成jpg,损失一点,但是比grub4dos的14色要强多了
其次是启动速度上,在较老的机器上,启动GRLDR需要20秒左右出现菜单(内置菜单的)...我自己掐秒表算的。。。而同一U盘,同一电脑,用syslinux则只需要很短的时间,不到4秒就到菜单界面了

扩展名的要求,syslinux是有说法的,就像.bin扩展名,.0扩展名之类的,自己多了解下就能熟练使用了
再说现在有loadbin可以方便的将PE的setupldr.bin/xp的NTLDR/GRUB4DOS的GRLDR制作成.bin供syslinux调用
而且很欣慰的是,当grldr用loadbin处理后,启动速度比直接从grldr启动要快,也就是用grub4dos的mbr+GRLDR的时间比用fdisk的mbr(或者syslinux的mbr)+ldlinux.sys+grldr.bin的时间还要长....


所以本人的U盘启动,目前是 从网上找的一段MBR+syslinux的PBR+ldlinux.sys
启动到syslinux,里面又有grldr.bin来切换到GRUB4DOS菜单


isolinux的光盘兼容性不错的
记得用mkisofs来生成iso就行了
回复

使用道具 举报

14#
 楼主| 发表于 2008-8-17 17:32:39 | 只看该作者
grub 启动ISOLOADER.BIN 即可启动isolinux
回复

使用道具 举报

15#
 楼主| 发表于 2008-8-17 19:43:27 | 只看该作者
用isolinux启动模式,分别在U盘及usbcdrom情况下启动IMG,均不能找到USBcdrom
至此为止,我是不想测试了
回复

使用道具 举报

16#
发表于 2008-8-18 06:53:26 | 只看该作者
楼上的知道xp安装时生成的dos菜单吧
syslinux貌似不嫩安装在ntfs
所以如果你的C盘是fat/fat32的话就可以
先用syslinux -fs c:写入syslinux的启动扇区
然后将该启动扇区备份到文件中
然后用bootsect /nt52 c:恢复c盘的启动扇区
boot.ini中添加
c:\bootsect.sys="syslinux"
理论上这样就可以了
本人懒得试验了,因为都是ntfs分区...
c:\bootsect.sys是你备份的syslinux的启动扇区文件
回复

使用道具 举报

17#
 楼主| 发表于 2008-8-18 11:50:04 | 只看该作者
isolinux对IMG文件的CHS参数有严格要求,所以必须使用对应的CHS参数才能正确运行IMG,相比之下,GRUB或EZBOOT就强多了。
回复

使用道具 举报

18#
发表于 2008-8-18 13:15:44 | 只看该作者
各有优缺点吧, 我用syslinux引导的IMG文件在IBM笔记本上屡屡失败, EZBOOT引导的IMG文件在DELL I1501机器上失败,但是在别的机器上同样的引导方式,没有任何问题,

没有十全十美的东西
回复

使用道具 举报

19#
发表于 2008-8-18 21:11:08 | 只看该作者
原帖由 zhxy9804 于 2008-8-17 23:30 发表

哦 ,明白,那boot。ini启动isolinux呢?



ISOLINUX,用于iso9660规范的光盘,不能和grub4dos相比较。
回复

使用道具 举报

20#
发表于 2008-8-29 22:36:27 | 只看该作者
原帖由 wowfans 于 2008-8-17 14:20 发表
只是会用一些引导软件,不怎么会玩linux的
我还是比较喜欢syslinux
因为它可以直接使用png的高保真图片做背景,如果嫌背景载入慢,还可以直接转换成jpg,损失一点,但是比grub4dos的14色要强多了
其次是启动 ...

能不能分享这个兼容性好的MBR?
回复

使用道具 举报

21#
发表于 2008-8-30 11:49:22 | 只看该作者
hwd6请看wowfans发的那个帖,路径:http://bbs.wuyou.net/forum.php?m ... page%3D1&page=1
回复

使用道具 举报

22#
发表于 2008-8-30 17:23:58 | 只看该作者
syslinux 写PBR,MBR要加-m(我没记错的话)
grub,U+写MBR
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 17:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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