无忧启动论坛

标题: syslinux 可以引导在 U 盘的另一个分区的 ISO吗? [打印本页]

作者: ntccharles    时间: 2022-9-2 23:52
标题: syslinux 可以引导在 U 盘的另一个分区的 ISO吗?
我有一个 U 盘,做了两个分区 (FAT32 和 NTFS),syslinux 安装在 FAT32 中, ISO文件保存在 NTFS中,我该如何引导这个 ISO呢?

我知道,如果 ISO和syslinux在同一分区,引导方式如下:

LABEL Windows  7 PE ISO
        MENU LABEL [^E] -- Windows  7 PE ISO
        kernel /boot/syslinux/memdisk
        initrd /PE/WIN7PE.iso
        append iso raw

但 现在 ISO在另一分区,或者在本地硬盘中,上面的引导该如何修改呢?

谢谢。。。


作者: 超逸绝尘    时间: 2022-9-3 00:42
这个原来没有接触过。
作者: liuzhaoyzz    时间: 2022-9-3 09:25
syslinux的硬盘、分区跟linux下面的一致,可以用/dev/sda1,/dev/sda2,/dev/sdb1,/dev/sdb2这样子的命名。你可以在linux下面用fdisk -l命令来查看硬盘号和分区号,大概这样子:
fdisk -l 查看硬盘及分区信息
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux 主分区
/dev/sda2 14 6387 51199155 83 Linux 主分区
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris 主分区
/dev/sda4 7408 60801 428887305 5 Extended 扩展分区
/dev/sda5 7408 20155 102398278+ 83 Linux 逻辑分区
/dev/sda6 20156 26529 51199123+ 83 Linux 逻辑分区
————————————————
所以,
1、你的菜单大概可以这样子:
LABEL Windows  7 PE ISO
        MENU LABEL [^E] -- Windows  7 PE ISO
        kernel /boot/syslinux/memdisk
        initrd /dev/sda1/PE/WIN7PE.iso
        append iso raw
/dev/sda1根据你的硬盘号和分区号来确定。笨办法是逐个尝试。

2、syslinux没有grub4dos的find命令,所以不容易自动定位哪个硬盘、哪个分区,建议直接用grub4dos代替syslinux。

        


作者: wintoflash    时间: 2022-9-3 09:57
本帖最后由 wintoflash 于 2022-9-3 09:59 编辑
liuzhaoyzz 发表于 2022-9-3 09:25
syslinux的硬盘、分区跟linux下面的一致,可以用/dev/sda1,/dev/sda2,/dev/sdb1,/dev/sdb2这样子的命名。你 ...

如果syslinux所在的磁盘下有个文件夹叫dev,dev里面有个文件夹叫sda1,sda1里面有个xxx.iso,那怎么访问这个文件?
是/dev/sdXY/dev/sda1/xxx.iso吗?
作者: liuzhaoyzz    时间: 2022-9-3 10:27
wintoflash 发表于 2022-9-3 09:57
如果syslinux所在的磁盘下有个文件夹叫dev,dev里面有个文件夹叫sda1,sda1里面有个xxx.iso,那怎么访问 ...

没有尝试过这个,可能可以吧,事实上,我已经放弃syslinux启动方案很久了,BIOS下面我更喜欢grub4dos。

作者: ntccharles    时间: 2022-9-3 22:49
liuzhaoyzz 发表于 2022-9-3 09:25
syslinux的硬盘、分区跟linux下面的一致,可以用/dev/sda1,/dev/sda2,/dev/sdb1,/dev/sdb2这样子的命名。你 ...

谢谢, 大概试了一下, 没有成功....

可能是我不明白 linux 对磁盘的命名方式. /dev/sda1, /dev/sda2, /dev/sdb1, /dev/sdb2 , 这里 a, b, c,...指的是磁盘吧,1,2,3,。。。指的是分区吧。。。

在我的例子中,我用 U盘启动,那这个U盘的两个分区就应该是 /dev/sda1, /dev/sda2, 吧,我试了:

LABEL Windows  7 PE ISO
        MENU LABEL [^E] -- Windows  7 PE ISO
        kernel /boot/syslinux/memdisk
        initrd /dev/sda1/PE/WIN7PE.iso
        append iso raw

LABEL Windows  7 PE ISO
        MENU LABEL [^E] -- Windows  7 PE ISO
        kernel /boot/syslinux/memdisk
        initrd /dev/sda2/PE/WIN7PE.iso
        append iso raw

都没有成功。。。
作者: liuzhaoyzz    时间: 2022-9-4 15:31
ntccharles 发表于 2022-9-3 22:49
谢谢, 大概试了一下, 没有成功....

可能是我不明白 linux 对磁盘的命名方式. /dev/sda1, /de ...

我试了下,好像也没有成功,以前有人也尝试过,也没成功好像,syslinux感觉不行。
哪位实现了用syslinux启动另一分区的文件,烦请指点一下 - SYSLINUX - 无忧启动论坛 - Powered by Discuz! http://wuyou.net/forum.php?mod=viewthread&tid=205640
        

作者: ntccharles    时间: 2022-9-6 12:54
liuzhaoyzz 发表于 2022-9-4 15:31
我试了下,好像也没有成功,以前有人也尝试过,也没成功好像,syslinux感觉不行。
哪位实现了用syslinux ...

做了了实验,用单分区的U盘启动 SYSLINUX,正常的启动ISO是没有问题:

LABEL Windows  7 PE ISO
        MENU LABEL [^E] -- Windows  7 PE ISO
        kernel /boot/syslinux/memdisk
        initrd /ISO/WIN7PE.iso
        append iso raw

但改写成下面这样,就不能正常引导ISO:

LABEL Windows  7 PE ISO
        MENU LABEL [^E] -- Windows  7 PE ISO
        kernel /boot/syslinux/memdisk
        initrd /dev/sda1/ISO/WIN7PE.iso
        append iso raw

这里,U盘只有一个分区,那盘符应该就是/dev/sda1,理论上应该是写不写盘符是一样的。但实际写了盘符就不能正常引导,感觉SYSLINUX不支持在路径上加上盘符,或者就是不支持分区的操作。







作者: liuzhaoyzz    时间: 2022-9-8 11:21
ntccharles 发表于 2022-9-6 12:54
做了了实验,用单分区的U盘启动 SYSLINUX,正常的启动ISO是没有问题:

LABEL Windows  7 PE ISO

可能syslinux就是不支持硬盘分区的用法。
作者: yjkl    时间: 2022-10-8 09:12
学习学习。
作者: laonat    时间: 2022-11-19 21:58
谢谢分享,学习一下




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