ntccharles 发表于 2022-9-2 23:52:49

syslinux 可以引导在 U 盘的另一个分区的 ISO吗?

我有一个 U 盘,做了两个分区 (FAT32 和 NTFS),syslinux 安装在 FAT32 中, ISO文件保存在 NTFS中,我该如何引导这个 ISO呢?

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

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

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

谢谢。。。

超逸绝尘 发表于 2022-9-3 00:42:26

这个原来没有接触过。

liuzhaoyzz 发表于 2022-9-3 09:25:14

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 Windows7 PE ISO
      MENU LABEL [^E] -- Windows7 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:02

本帖最后由 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:10

wintoflash 发表于 2022-9-3 09:57
如果syslinux所在的磁盘下有个文件夹叫dev,dev里面有个文件夹叫sda1,sda1里面有个xxx.iso,那怎么访问 ...

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

ntccharles 发表于 2022-9-3 22:49:26

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

谢谢, 大概试了一下, 没有成功....{:1_185:}

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

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

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

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

都没有成功。。。

liuzhaoyzz 发表于 2022-9-4 15:31:35

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:30

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

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

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

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

LABEL Windows7 PE ISO
        MENU LABEL [^E] -- Windows7 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:41

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

LABEL Windows7 PE ISO


可能syslinux就是不支持硬盘分区的用法。

yjkl 发表于 2022-10-8 09:12:20

学习学习。

laonat 发表于 2022-11-19 21:58:19

谢谢分享,学习一下
页: [1]
查看完整版本: syslinux 可以引导在 U 盘的另一个分区的 ISO吗?