Jump to content











Photo
- - - - -

Booting into SysLinux from BCD


  • Please log in to reply
3 replies to this topic

#1 Perkins

Perkins
  • Members
  • 2 posts
  •  
    United Kingdom

Posted 07 April 2017 - 10:32 AM

Hello,

 

I'm looking for some help booting into SysLinux from BCD Boot, let me explain where I am...

 

I have modified a BCD file on a USB stick from Win10 with 2 launch options:

 

1) WinPE

2) SysLinux

 

I can launch into WinPE and the associated WIM fine but I can't seem to get SysLinux to work correctly, when selected it stops at:

 

Few lines of:

isolinux: Found something at drive = XX

 

Then,

"isolinux: Found something at drive = 9F

"isolinux: Looks resonable, continuing."

"isolinux: Disk error 01, AX = 4206, drive 9F

 

I'm modifying the BCD through Visual BCD and have the entry for SysLinux setup like so:

 

ApplicationDevice: [boot]

ApplicationPath: \Boot\SysLinux\syslinux.bin

 

Can anyone shed some light on this please as I'm pulling my hair out?!

 

Also not sure if this should be in SysLinux or Boot forum so please move if I'm in the wrong place! Thanks for any help!



#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 07 April 2017 - 11:49 AM

I don't know. :unsure:

Where did you find that syslinux.bin can be chainloaded from the BCD?

 

How (EXACTLY) did you add this Syslinux entry?

 

Is it a MBR or GPT device?

 

What I would personally do (on MBR style) would be to:

1) leave the BCD alone

2) create a bootsector file loading Syslinux [1]

3) add a BOOT.INI pointing to that bootsector

 

This should be perfectly equivalent to the recommended (by me) way to load grub4dos on a Windows Vista,/7/8/8.1/10? OS, the BOOTMGR has a built-in provision for parsing a BOOT:INI file, discarding each and every ARC PATH entry ad adding each and every "legacy" entry, see:

http://reboot.pro/to...un-it-from-hdd/

http://reboot.pro/to...sults/?p=184060

 

:duff:
Wonko

 

 

[1] probably the easiest would be to backup the bootsector, install syslinux, then backup the Syslinux bootsector and restore the previous one.



#3 Perkins

Perkins
  • Members
  • 2 posts
  •  
    United Kingdom

Posted 07 April 2017 - 11:57 AM

Hi,

 

Thanks for responding - this is running from a USB Stick not the local HDD. I'm new to this and trying to figure out the best way...

 

So BootMGR is on the active partition - pulls up BCD (\Boot\BCD) and within this BCD store I have a GUID for WinPE and one for SysLinux (previously I booted directly into SysLinux using the "SysLinux.exe -fma command"), now what I'm trying to achieve is boot into Windows BootMGR and then have the ability to launch into SysLinux as I did previously - which displayed the default menu.

 

Am I barking up the wrong tree?

Thanks,



#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 07 April 2017 - 12:33 PM

When you ran SysLinux.exe -fma command (I presume with some other parameters), the result was the overwriting of the (active partition) volume bootsector with some code capable of loading syslinux.

 

Normal booting (of Vista and up):

BIOS->MBR->Bootsector (of active partition) containing "standard" MS code->BOOTMGR->\boot\BCD entries-> chosen entry (normally WINLOAD.EXE)

 

Normal booting of Syslinux:

BIOS->MBR->Bootsector (of active partition) containing "special" Syslinux code->Syslinux

 

How (EXACTLY) you added the Syslinux entry (what you call GUID) to the \boot\BCD is relevant, as well as knowing where did you find that the procedure for adding a Syslinux entry (GUID) to the \boot\BCD was actually supported.

 

What I proposed you is ANOTHER way:

BIOS->MBR->Bootsector (of active partition) containing "standard" MS code->BOOTMGR->\boot\BCD entries + "legacy" BOOT.INI entries-> chosen entry (Syslinux entry in BOOT.INI)->copy of Syslinux bootsector containing "special" Syslinux code-> Syslinux

 

So, the idea is to replicate exactly what you already achieved by installing the Syslinux bootsector, while leaving the "standard" MS bootsector on disk and going through BOOTMGR->\boot\BCD+BOOT:INI instead of BOOTMGR->\boot\BCD

 

 

:duff:

Wonko






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users