Robert
2012-May-07 03:20 UTC
[syslinux] Win32 syslinux needs to support mount points, disk numbers or volume names in addition to drive letters
As you know, the Linux version of syslinux supports mount points. But for the Win32 version, it only supports drive letters as in: syslinux ?ma e: However, drive letters are not always available, such as drives mounted to NTFS folders. In order to install syslinux to these drives, future release of syslinux should support using mount points as the drive spec; or alternatively, support disk numbers or volume names. Most Windows built in utilities support mount points (such as format) and it should not be too hard to implement. I tried to get around this by backing up the first sector from a USB key that was formatted as a supper disk (that is, single partition with offset = 0 and no MBR, just like a floppy disk) and with syslinux successfully installed; then applying this boot sector to other USBS drives (also copy the ldlinux.sys to those drives). The drives do not boot. Just a suggestion! If you need further info on this, please email me.
Shao Miller
2012-May-07 05:10 UTC
[syslinux] Win32 syslinux needs to support mount points, disk numbers or volume names in addition to drive letters
On 5/6/2012 23:20, Robert wrote:> As you know, the Linux version of syslinux supports mount points. But > for the Win32 version, it only supports drive letters as in: syslinux > ?ma e: However, drive letters are not always available, such as drives > mounted to NTFS folders. In order to install syslinux to these drives, > future release of syslinux should support using mount points as the > drive spec; or alternatively, support disk numbers or volume names. > Most Windows built in utilities support mount points (such as format) > and it should not be too hard to implement.Did you try: subst j: c:\some\path\to\an\ntfs\mount\point syslinux -ma j: ? But yes, it probably wouldn't be too hard to support mount-points.> I tried to get around this by backing up the first sector from a USB > key that was formatted as a supper disk (that is, single partition > with offset = 0 and no MBR, just like a floppy disk) and with syslinux > successfully installed; then applying this boot sector to other USBS > drives (also copy the ldlinux.sys to those drives). The drives do not > boot.Firstly, I believe that the USB drives would have to be identical; come from the same assembly-line in the same production process (roughly). Secondly, capturing the first sector of the filesystem isn't going to capture the rest of the filesystem meta-data. Thirdly, I believe that the first sector contains a reference to which sector LDLINUX.SYS begins at. If you are simply copying LDLINUX.SYS, then there's no reason for it to land at the same sector as the original USB device.> Just a suggestion! If you need further info on this, please email me.You might be interested in Paulo Alcantara's NTFS branch of Syslinux, as there have been changes to the Windows installer in that branch. - Shao Miller
Gene Cumm
2012-May-07 10:06 UTC
[syslinux] Win32 syslinux needs to support mount points, disk numbers or volume names in addition to drive letters
On May 7, 2012 12:54 AM, "Robert" <rliu at msn.com> wrote:> > As you know, the Linux version of syslinux supports mount points. But forthe Win32 version, it only supports drive letters as in:> > syslinux ?ma e: > > However, drive letters are not always available, such as drives mountedto NTFS folders. In order to install syslinux to these drives, future release of syslinux should support using mount points as the drive spec; or alternatively, support disk numbers or volume names. Most Windows built in utilities support mount points (such as format) and it should not be too hard to implement. I'd vote mount point only as it fits the current implementation. Disk number is useless for multiple partitions. Volume name is not necessarily unique. Volume number could however be conceivable.> I tried to get around this by backing up the first sector from a USB keythat was formatted as a supper disk (that is, single partition with offset = 0 and no MBR, just like a floppy disk) and with syslinux successfully installed; then applying this boot sector to other USBS drives (also copy the ldlinux.sys to those drives). The drives do not boot. To be expected based on the contents of the SYSLINUX VBR. Never copy ldlinux.sys to make a bootable system.> Just a suggestion! If you need further info on this, please email me.With a stated and good use case. Thanks. --Gene
Robert
2012-May-14 21:17 UTC
[syslinux] Win32 syslinux needs to support mount points, disk numbers or volume names in addition to drive letters
This is just a follow up to the reply (by Shao Miller) to the subject (see subject line) that I initiated earlier.1.I tried on Windows XP: subst j: c:\MountPoint (to which my USB drive is mounted) syslinux -ma j:Got an access nenied error. So I did not try further in Windows 7 because we all know Win 7 is stricter in term of access control.2. I am new to Linux. But it is the first time I am confirmed that ldlinux.sys has to be located at certain offset on disk - a bad design! None of the bootables from other OS requires this. Ntldr, MSDOS.sys and io.sys can be anywhere on the boot partition. To make bootables for those OS, you can simply replace the MBR and VBP/PBR then copy the boot filesto anywhere on the boot partition, right? The boot loader should look up the FAT to find the locations of the boot files, which is Windows and DOS bootables do, why cann?t syslinux?? I have not got a chance to try Paulo Alcantara's NTFS branch of Syslinux but I will.Any way, back to the subject: syslinux needs to support installs to mount points, disk numbers or volume names in additionto drive letters in Win32 OS. -Robert On 5/6/2012 23:20, Robert wrote:> As you know, the Linux version of syslinux supports mount points. But> for the Win32 version, it only supports drive letters as in: syslinux > ?ma e: However, drive letters are not always available, such as drives > mounted to NTFS folders. In order to install syslinux to these drives, > future release of syslinux should support using mount points as the > drive spec; or alternatively, support disk numbers or volume names. > Most Windows built in utilities support mount points (such as format) > and it should not be too hard to implement.Did you try: subst j: c:\some\path\to\an\ntfs\mount\point syslinux -ma j: ? But yes, it probably wouldn't be too hard to support mount-points.> I tried to get around this by backing up the first sector from a USB > key that was formatted as a supper disk (that is, single partition > with offset = 0 and no MBR, just like a floppy disk) and with syslinux > successfully installed; then applying this boot sector to other USBS > drives (also copy the ldlinux.sys to those drives). The drives do not > boot.Firstly, I believe that the USB drives would have to be identical; come from the same assembly-line in the same production process (roughly). Secondly, capturing the first sector of the filesystem isn't going to capture the rest of the filesystem meta-data. Thirdly, I believe that the first sector contains a reference to which sector LDLINUX.SYS begins at. If you are simply copying LDLINUX.SYS, then there's no reason for it to land at the same sector as the original USB device.> Just a suggestion! If you need further info on this, please email me.You might be interested in Paulo Alcantara's NTFS branch of Syslinux, as there have been changes to the Windows installer in that branch. - Shao Miller
Robert
2012-May-14 21:41 UTC
[syslinux] Win32 syslinux needs to support mount points, disk numbers or volume names in addition to drive letters
This is just a follow up to the reply (by Gene)to the subject (see subject line) that I initiated earlier.1. It seems to me when talking about replacing the MBR and making a drive bootable by mark one of the partitionsactive(in Windows), disk numbers are the ones that make the most sense. Because a disk number represents the entire disk not just a partition of it. Don?t you think? Any drive letter may just represent a partition of the disk. Volume name is also unique (\\?\Volume{f3421bd0-145d-11e0-9cd0-00270e03f84a}\) and usable. MBR belongs to the disk not partitions; drive letters represents partitions. So disk number is the more qualified than drive letters.. Just my 2 cents. -Robert On May 7, 2012 12:54 AM, "Robert" <rliu at msn.com> wrote:> > As you know, the Linux version of syslinux supports mount points. But forthe Win32 version, it only supports drive letters as in:> > syslinux ?ma e: > > However, drive letters are not always available, such as drives mountedto NTFS folders. In order to install syslinux to these drives, future release of syslinux should support using mount points as the drive spec; or alternatively, support disk numbers or volume names. Most Windows built in utilities support mount points (such as format) and it should not be too hard to implement. I'd vote mount point only as it fits the current implementation. Disk number is useless for multiple partitions. Volume name is not necessarily unique. Volume number could however be conceivable.> I tried to get around this by backing up the first sector from a USB keythat was formatted as a supper disk (that is, single partition with offset = 0 and no MBR, just like a floppy disk) and with syslinux successfully installed; then applying this boot sector to other USBS drives (also copy the ldlinux.sys to those drives). The drives do not boot. To be expected based on the contents of the SYSLINUX VBR. Never copy ldlinux.sys to make a bootable system.> Just a suggestion! If you need further info on this, please email me.With a stated and good use case. Thanks. --Gene