GRUB\syslinuX\U+三者引导试验的有趣现象_牵手阁之手机充值http ...

为了试验将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+作者,看看他们有什么说法。

经过多次试验,换不同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启动。

所以你的四个问题都很容易解决了

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

可以用将syslinux写入MBR的功能

楼上的参数

/sfamr

其中/s表示使用类似安全模式的代码,可以获得更佳的兼容性

f表示强制写入,这在写入本地磁盘时必须使用,无论是写MBR还是PBR都需要

a表示xx缩写分区,这个如果磁盘分区没xx的时候有用的

m表示写入MBR,这就是楼主为什么直接用syslinux.exe命令无法启动的原因了,用U+处理不过是写入另外一个MBR,但是该MBR能调用活动分区上的PBR,即syslinux来启动,而直接用带m的参数就可以免去这一步

还有一个参数d,可以使得ldlinux.sys文件生成到其他目录,而不是再根目录,这样保持U盘清爽

我还是比较喜欢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就行了

grub 启动ISOLOADER.BIN 即可启动isolinux

楼上的知道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的启动扇区文件

isolinux对IMG文件的CHS参数有严格要求,所以必须使用对应的CHS参数才能正确运行IMG,相比之下,GRUB或EZBOOT就强多了。



郑重声明:资讯 【GRUB\syslinuX\U+三者引导试验的有趣现象_牵手阁之手机充值http ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——