[syslinux] Win32 syslinux needs to support mount points, disk numbers or volume names in addition to drive letters

Shao Miller Shao.Miller at yrdsb.edu.on.ca
Mon May 14 22:18:26 PDT 2012


On 5/14/2012 17:17, Robert wrote:
> This is just a follow up to the reply (by Shao Miller) to the subject 
> (see subject line) that I initiated earlier.

Please use newlines to produce paragraphs; they're easier to read.  I've 
inserted some to make your e-mail easier for me to read.

> 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.

Well if the access is denied because you didn't start your command 
prompt window with administrative privileges, no amount of coding in 
Syslinux can help that, short of attempting to exploit a Windows 
vulnerability to escalate its privileges.  I don't think that would be 
reasonable.

> 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.

I believe that you are mistaken.

> Ntldr,

As far as I know, Windows uses the first 8 KiB of a FAT or NTFS 
partition to include filesystem code for locating and loading NTLDR.  Do 
you think it would be fair for Syslinux to use this area for LDLINUX.SYS 
and remove what Windows puts there?

> 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?

If I recall correctly, the name SYSLINUX comes from the DOS command 
SYS.COM and the fact that Syslinux is particularly good at booting 
Linux.  The SYS.COM command is what is used in DOS to make a bootable 
DOS partition.  Why don't you try an experiment?

1. Use SYS.COM to make a disk (call it "disk A") bootable to DOS
2. Use ATTRIB to remove the hidden, system, and read-only attributes 
from IO.SYS and MSDOS.SYS
3. Copy IO.SYS and MSDOS.SYS to another disk (call it "disk B")
4. Delete the IO.SYS and MSDOS.SYS from "disk A"
5. Copy those two files from "disk B" back to "disk A"
6. Try booting "disk A" to DOS

> 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 some questions for you:

1. Have you done any research into this matter?
2. Do you think that development of an well-established boot-loader like 
Syslinux hasn't involved extensive research into this matter?
3. Can you read assembly or C code?  Syslinux is open source, so many of 
the answers you might seek are available if you can read these types of 
code.

> 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.

It'd be nice if you said "please" instead of "needs."  It'd be nice if 
you did some research before judging SYSLINUX to have "bad design."

Take care and have a pleasant day. :)

- Shao Miller



More information about the Syslinux mailing list