无忧启动论坛

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

硬盘SYSLINUX启动方法-引导LDLINUX.SYS(见二楼)

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-2 17:07:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用以下方式用G4D可以启动:

1. 提取FAT扇区文件
title 启动SYSLINUX
find --set-root /boot/syslinux.bif
chainloader /boot/syslinux.bif

2. 从扇区启动
title 启动SYSLINUX
find --set-root /boot/syslinux/ldlinux.sys
chainloader +1

3. 制作IMG文件启动
title   启动 SYSLINUX.img
find --set-root /SYSLINUX.img
map --mem /SYSLINUX.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

4. iso启动                        
title SYSLINUX.iso
find --set-root /SYSLINUX.iso
map --mem /SYSLINUX.iso (hd32)
map --hook
chainloader (hd32)
boot



还有其他方式吗?可否直接引导ldlinux.sys呢?

谢谢!

还是Paulu大师的BOOTICE 好!http://bbs.wuyou.net/forum.php?mod=viewthread&tid=139062&extra=page%3D1
强烈支持!

[ 本帖最后由 ZXQ99925 于 2009-6-5 07:10 编辑 ]

评分

参与人数 1无忧币 +10 收起 理由
天涯海角1216 + 10

查看全部评分

2#
 楼主| 发表于 2009-6-2 17:34:17 | 只看该作者
我的意思是能否直接引导ldlinux.sys从而直接启动SYSLINUX呢?

方法一:

1.  我将FAT的第一启动扇区(512字节)和生成在根目录的ldlinux.sys用WINHEX直接合并,不足31个扇区,最后面用0补齐为31扇区。(512字节要放最前,有PBR)

2   再用BOOTICE将1中文件导入FAT的1-31引导扇区,删除分区下的ldlinux.sys后启动成功!

方法二:

1.  用BOOTICE将上述成功的分区导出1-31扇区文件用G4D的chainloade--也成功!(为了防止干扰,重新将该分区写G4D引导!)

如果要尝试,要注意安全,错误之处请各位大师批评指正!

[ 本帖最后由 ZXQ99925 于 2009-6-4 06:33 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2009-6-2 17:38:06 | 只看该作者
或者将FAT扇区里的引导信息加入ldlinux.sys里,让G4D chainloader引导呢?
回复

使用道具 举报

4#
发表于 2009-6-2 17:42:17 | 只看该作者
你问的新问题应属未知领域,你可以试探索一下,发扬DIY精神
回复

使用道具 举报

5#
 楼主| 发表于 2009-6-2 18:29:20 | 只看该作者

回复 #4 zxw 的帖子

是的!
只是很难的!我不懂C语言,所以无法下手了!
回复

使用道具 举报

6#
发表于 2009-6-2 22:08:53 | 只看该作者
你的方法已经很好了!
其他方法可能不太好做===

评分

参与人数 1无忧币 +10 收起 理由
ZXQ99925 + 10

查看全部评分

回复

使用道具 举报

7#
发表于 2009-6-3 10:07:32 | 只看该作者
也可用ISO映像启动:
title SYSLINUX.iso
find --set-root /SYSLINUX.iso
map --mem /SYSLINUX.iso (hd32)
map --hook
chainloader (hd32)
boot

只是无法直接引导ldlinux.SYS

[ 本帖最后由 天涯海角1216 于 2009-6-3 10:11 编辑 ]

评分

参与人数 1无忧币 +10 收起 理由
ZXQ99925 + 10

查看全部评分

回复

使用道具 举报

8#
发表于 2009-6-3 10:35:37 | 只看该作者
可以尝试
chainloader --force /boot/syslinux/ldlinux.sys

chainloader --force /boot/syslinux/ldlinux.bin

注.bin文件是在官方压缩包的core目录下(相当于PBR引导代码+ldlinux.sys)

呵呵没实践过,其中有一种能引导才对。
回复

使用道具 举报

9#
发表于 2009-6-3 10:48:05 | 只看该作者
要使 SYSLINUX 在硬盘上启动,必须要依赖于安装程序(因为有扇区列表和校验码需要处理),然后 chainload 这个分区或将引导扇区导出来(需配合LDLINUX.SYS)
回复

使用道具 举报

10#
 楼主| 发表于 2009-6-3 11:17:03 | 只看该作者

回复 #8 yjd 的帖子

谢谢!
在FAT32分区下,我试了!但是不成功------
回复

使用道具 举报

11#
发表于 2009-6-3 11:25:12 | 只看该作者
Pauly 大提醒有扇区列表和校验码 囧

可以请教这位http://bbs.znpc.net/viewthread.php?tid=5578&extra=page%3D1大师
看他能否来个syslinux的合并版^_^。

[ 本帖最后由 yjd 于 2009-6-3 11:27 编辑 ]
回复

使用道具 举报

12#
发表于 2009-6-3 11:27:15 | 只看该作者
原帖由 Pauly 于 2009-6-3 10:48 发表
要使 SYSLINUX 在硬盘上启动,必须要依赖于安装程序(因为有扇区列表和校验码需要处理),然后 chainload 这个分区或将引导扇区导出来(需配合LDLINUX.SYS)

这个也太不灵活了吧
回复

使用道具 举报

13#
发表于 2009-6-3 11:30:58 | 只看该作者
校验码应该是能解除吧?(是自校验)?类似于破解

记得上次有个帖子修改文件夹名字也是有校验不能用。
回复

使用道具 举报

14#
发表于 2009-6-3 11:35:08 | 只看该作者
有源文件,有条件的可以自己编译,把校验那部分拿掉.
要合并也可以,把 SYSLINUX 在分区上的引导扇区提取出来, 跟 LDLINUX.SYS 合并,然后就可以用 G4D 来 chainloader 了, 不过还是要列出扇区,计算校验码
回复

使用道具 举报

15#
发表于 2009-6-3 11:47:33 | 只看该作者
原帖由 Pauly 于 2009-6-3 11:35 发表
有源文件,有条件的可以自己编译,把校验那部分拿掉.
要合并也可以,把 SYSLINUX 在分区上的引导扇区提取出来, 跟 LDLINUX.SYS 合并,然后就可以用 G4D 来 chainloader 了, 不过还是要列出扇区,计算校验码

刚才也想到这个方法。看起来跟1楼1,2方法没啥区别(局限性很大不同硬盘不同分区都有区别)。还自找麻烦^_^。

我到是希望高手出个去校验的版本。这样方便更改目录名。
回复

使用道具 举报

16#
发表于 2009-6-3 11:53:21 | 只看该作者

回复 #15 yjd 的帖子

你要更改什么目录名? SYSLINUX 对目录名没有限制,安装后你把文件改称什么名字都可以,放在那个分区的任何位置都可以
回复

使用道具 举报

17#
发表于 2009-6-3 12:05:29 | 只看该作者
那有可能我记错了。我记得上次哪位朋友发了个帖子
也可能是讲的isolinux,现在找不那贴了
回复

使用道具 举报

18#
 楼主| 发表于 2009-6-3 13:45:39 | 只看该作者
谢谢楼上两位大师的帮助!!!
我也试着用mkimage将扇区文件和ldlinux.SYS合并,但是不能启动!
正如Pauly大师所说,是要列出扇区,计算校验码!
回复

使用道具 举报

19#
 楼主| 发表于 2009-6-3 15:06:36 | 只看该作者
事实上  ldlinux.bin  相当于第一启动扇区部分加上 ldlinux.sys的总和。

试着将FAT32分区的BPB部分写入ldlinux.bin里对应部分,
结果显示:(不写入BPB也同样的显示结果)

SYSLINUX 3.81 2009-05-29   EBIOS  LOAD  ERROR ,  BOOT ERROR     

何故?
谢谢!



ldlinux.BIN.rar (11.38 KB, 下载次数: 50)                    ldlinux.SYS.rar (11.14 KB, 下载次数: 52)                         PBR扇区文件.rar (599 Bytes, 下载次数: 40)

[ 本帖最后由 ZXQ99925 于 2009-6-3 22:46 编辑 ]
回复

使用道具 举报

20#
 楼主| 发表于 2009-6-4 06:17:56 | 只看该作者

初步成功

方法一:

1.  我将FAT的第一启动扇区(512字节)和生成在根目录的ldlinux.sys用WINHEX直接合并,不足31个扇区,后面用0补齐为31扇区。

2   再用BOOTICE将1中文件导入FAT的1-31引导扇区,删除分区下的ldlinux.sys后启动成功!

方法二:

1.  用BOOTICE将上述成功的分区导出1-31扇区文件用G4D的chainloade--也成功!(为了防止干扰,重新将该分区写G4D引导!)

如果要尝试,要注意安全,错误之处请各位大师批评指正!

[ 本帖最后由 ZXQ99925 于 2009-6-4 06:19 编辑 ]
回复

使用道具 举报

21#
发表于 2009-6-4 08:41:58 | 只看该作者
楼上这个结论可能为时过早,我记得有个帖子说删除ldlinux.sys后也能启动成功(在未写入新的文件之前)
回复

使用道具 举报

22#
发表于 2009-6-4 09:20:18 | 只看该作者
原帖由 ZXQ99925 于 2009-6-4 06:17 发表
方法一:

1.  我将FAT的第一启动扇区(512字节)和生成在根目录的ldlinux.sys用WINHEX直接合并,不足31个扇区,最后面用0补齐为31扇区。(512字节要放最前,有PBR)

2   再用BOOTICE将1中文件导入FAT的1-31引导扇区,删除分区下的ldlinux.sys后启动成功!

方法二:

1.  用BOOTICE将上述成功的分区导出1-31扇区文件用G4D的chainloade--也成功!(为了防止干扰,重新将该分区写G4D引导!)


这里有个误区:

首先,SYSLINUX 的启动不像 G4D 那样开放,使用起来没有那么灵活。

楼主提到的这两个方法能成功启动的原因是最早生成的 LDLINUX.SYS 在磁盘上的扇区没有被覆盖,而与 PBR 上的 31 扇区无关。
为什么这么说呢,因为在分区上安装了 SYSLINUX 之后,PBR 上记录了 LDLINUX.SYS 这个文件的起始扇区,而就算 LDLINUX.SYS 在 WINDOWS 下删除了它的内容还是存在的,也就是说楼主这两个方法之所以能成功是因为原来的 LDLINUX.SYS 没有被覆盖,内容没有被破坏。

不信的话你可以试一下,用 WINHEX 把分区第3-30扇区清零(楼主用的什么文件系统?FAT32 分区的第二个扇区不能被覆盖的,而 FAT16 分区的保留扇区好像没那么多),你会发现你的两个方法照样成功。而如果你用 WINHEX 找到原来的 LDLINUX.SYS,把那个位置的数据修改修改,你会发现 SYSLINUX 已经不能启动了,呵呵。

我准备在下个版本的 BOOTICE 中实现这样的功能,如果分区为 FAT32,可以把 LDLINUX.SYS 的内容放到分区的保留扇区里面,这样在分区上就没有 LDLINUX.SYS 这个文件了,可以保持根目录清爽,且不易被删除,还可以节约 16K 空间(这个好像没什么用,呵呵),只可以 FAT16 的保留扇区只有 6 个,装不下,呵呵
回复

使用道具 举报

23#
 楼主| 发表于 2009-6-4 11:23:29 | 只看该作者

Pauly大师聪明!

我正想提这个建议:
总共31个扇区不到!完全可以写入启动扇区里启动!这样就完美多了!
谢谢!
回复

使用道具 举报

24#
 楼主| 发表于 2009-6-4 11:26:02 | 只看该作者
我正试着把ldlinux.bin写入启动扇区,看能否成功?当然要修改PBR部分!
回复

使用道具 举报

25#
发表于 2009-6-4 18:38:50 | 只看该作者
原帖由 Pauly 于 2009-6-4 09:20 发表


这里有个误区:

首先,SYSLINUX 的启动不像 G4D 那样开放,使用起来没有那么灵活。

楼主提到的这两个方法能成功启动的原因是最早生成的 LDLINUX.SYS 在磁盘上的扇区没有被覆盖,而与 PBR 上的 31 扇区 ...


那到时候配置文件cfg放哪里?
回复

使用道具 举报

26#
发表于 2009-6-4 18:55:54 | 只看该作者

回复 #25 yjd 的帖子

SYSLINUX.CFG 文件的位置不受影响,还是按这个顺序搜索:

/boot/syslinux/syslinux.cfg
/syslinux/syslinux.cfg
/syslinux.cfg
回复

使用道具 举报

27#
发表于 2009-6-4 19:13:53 | 只看该作者
这个要学习一下!!!!!
回复

使用道具 举报

28#
发表于 2009-6-4 20:34:32 | 只看该作者
还是Pauly了解深入。期待这个功能^_^

现在不可能有人用fat16了。所以这个没必要考虑。但是程序判断是需要的。
回复

使用道具 举报

29#
发表于 2009-6-4 20:36:36 | 只看该作者

回复 #28 yjd 的帖子

呵呵 我的u盘小 常常格成fat16的
回复

使用道具 举报

30#
发表于 2009-6-4 22:50:53 | 只看该作者
我已经在新的 BOOTICE 中实现了将 SYSLINUX 安装到分区的保留扇区功能,FAT16 和 FAT32 均可,前提是分区的保留扇区要能够容纳下 LDLINUX.SYS,目前的 3.81 版本需要保留扇区至少为 32 个。
用 WINPM 9.0 PRO 格式化时,无论 FAT16 还是 FAT32 都可以指定保留扇区的数目,7.0 不行,其他版本的没有测试。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-29 22:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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