无忧启动论坛

标题: 如何用grub2引导BIOS启动下的syslinux [打印本页]

作者: 有阴也有阳    时间: 2017-2-6 16:38
标题: 如何用grub2引导BIOS启动下的syslinux
本帖最后由 有阴也有阳 于 2017-2-7 13:51 编辑

        如何用grub2引导BIOS启动下的syslinux?

        已经解决,多方查阅资料+网友热心帮助,我说得简略一些:

        在启动U盘的根目录的boot文件夹中的syslinux文件夹中复制、粘贴有关的syslinux文件(——具体需要哪些,自己百度。),

然后把U盘插到电脑上,然后再运行如下批处理——此批处理要放在启动U盘的根目录的boot文件夹里的syslinux文件夹中运行:

@echo off
color 0a
set a=%cd%
set b=%~d0
set c=%~dp0
::echo 当前CMD默认目录是:%a%
::echo 当前盘符是:       %b%
::echo 当前盘符和路径是: %c%
echo.
echo 此批处理将为所处分区安装syslinux引导
pause
echo 正在安装syslinux引导,请稍后

\boot\syslinux\syslinux.exe -ma -d /boot/syslinux %b%

echo syslinux引导安装完成
echo.
pause

        然后用BOOTICE备份此启动U盘的“分区引导记录(PBR)”:

        一:



        二:



        三:



        四:



        完后会在/boot/syslinux文件夹中形成一个U盘的分区引导记录的备份文件——syslinux.te.bin文件。

        以上操作——主要是兴建syslinux的分区引导记录的操作会破坏我的原来的grub4dos0.4.6.a的启动U盘的grub4dos0.4.6.a的主引导记录,

所以最后还得再用BOOTICE重建一次此U盘的grub4dos0.4.6.a的主引导记录:



        好了!这就彻底完工了,现在这个启动U盘在BIOS下从grub4dos0.4.6.a启动:

        从grub4dos转到syslinux:

title 启动 syslinux 菜单
find --set-root /myudisk.txt
chainloader /boot/syslinux/syslinux.te.bin


        从grub4dos转到grub2:

title 启动 grub2 菜单
find --set-root /myudisk.txt
kernel /EFI/Grub2/BIOS/i386-pc/core.img
boot


        从grub2转到grub4dos:

menuentry "启动 grub4dos 菜 单" {
linux16 /grub/grub.exe --config-file="configfile /menu.lst"
}


        从grub2转到syslinux:

menuentry "启动 syslinux 菜 单" {
search --file /myudisk.txt --set=root
chainloader /boot/syslinux/syslinux.te.bin
}


        从syslinux转到grub4dos:

LABEL 启动 Grub4Dos 菜单
        MENU LABEL [^H] -- Grub4Dos 氨
        kernel /boot/syslinux/chain.c32
        append fs ntldr=/grldr


        从syslinux转到grub2:

LABEL 启动 Grub2 菜单
        MENU LABEL [^I] -- Grub2 氨
        kernel /EFI/Grub2/BIOS/G2ldr
        boot /EFI/Grub2/BIOS/G2ldr

        现在《我的grub4dos0.4.6.a的启动U盘》的BIOS启动部分是从grub4dos启动,然后可以在grub4dos——grub2——syslinux

三者之间相互转换——三启。

        本人所用之grub2与syslinux均取自本论坛comzhongwy大师的作品,我在此向他表示感谢!

作者: wintoflash    时间: 2017-2-6 17:12
efi的syslinux,用chainloader命令即可。
bios下的syslinux,比较复杂。如果你之前引导的是syslinux的mbr,就用chainloader命令。
如果chainloader命令不行,就加上--force参数。如果还是不行,就试一试ntldr、linux16、multiboot之类的命令。
作者: 窄口牛    时间: 2017-2-6 17:43
不是说grub2可以直接用syslinux菜单?
作者: wintoflash    时间: 2017-2-6 17:48
本帖最后由 wintoflash 于 2017-2-6 17:56 编辑
窄口牛 发表于 2017-2-6 17:43
不是说grub2可以直接用syslinux菜单?


也可以。不是百分百可用,也不符合楼主提的问题。
作者: 有阴也有阳    时间: 2017-2-6 18:50
窄口牛 发表于 2017-2-6 17:43
不是说grub2可以直接用syslinux菜单?

        请问grub2如何直接调用boot/syslinux里面的syslinux.cfg菜单——syslinux的菜单?
作者: 有阴也有阳    时间: 2017-2-6 21:26
wintoflash 发表于 2017-2-6 17:12
efi的syslinux,用chainloader命令即可。
bios下的syslinux,比较复杂。如果你之前引导的是syslinux的mbr ...

麻烦给一个用grub2直接调用syslinux.exe的菜单,

类似:
menuentry "grub4dos 菜 单" {
linux16 /grub/grub.exe --config-file="configfile /menu.lst"
}


谢谢!!!

作者: wengzhenquan    时间: 2020-10-22 11:10
wintoflash 发表于 2017-2-6 17:12
efi的syslinux,用chainloader命令即可。
bios下的syslinux,比较复杂。如果你之前引导的是syslinux的mbr ...

请问,用引导syslinux.bin的方式为何会报错?是用bootice备份的方式制作的syslinux.bin

企业微信截图_20201022101138.png (9.42 KB, 下载次数: 130)

企业微信截图_20201022101138.png





欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3