Perhaps you want to boot to a linux OS via syslinux (or isolinux) but load a grub4dos menu from the menu?
Once syslinux runs, it will look for a syslinux.cfg file (which is the menu file). If your payload (e.g. linux OS) does not have one, then look for a isolinux.cfg file and copy and rename it to syslinux.cfg.
You can easily load syslinux from a grub4dos menu using rmprepusb as follows:
Method 1
This method simply installs grub4dos to the MBR (master boot record) and syslinux to the PBR (partition boot record).
1. Format a USB drive using RMPrepUSB as FAT32 and Boot as HDD (use Win7/bootmgr boot option though it does not really matter which one you use)
2. Use the Install Syslinux button in RMPrepUSB to install syslinux (if you want to install an earlier version then simply copy the appropriate syslinux.exe from the Syslinux folder in the RMPrepUSB folder (press F3) to the RMPrepUSB folder and overwrite the syslinux.exe that is already there)
3. Now install grub4dos to the Master Boot Record by clicking on the RMPrepUSB Install grub4dos button and say YES when prompted. Then press ENTER to copy across the grldr file when prompted.
4. Finally add an entry to your grub4dos menu.lst file (just press F4 in RMPrepUSB to load it into Notepad):
title Load syslinux menu
chainloader (hd0,0)+1
Method 2
An alternative is to chainload from a syslinux/isolinux bin file as follows:
1. Format a USB drive using RMPrepUSB as FAT32 and Boot as HDD (use Win7/bootmgr boot option, although it does not really matter which one you use).
2. In RMPrepUSB press F3 to open Explorer, hold down the SHIFT key and right-click on any folder (e.g. the LANG folder) and select 'Open command windows here'. When a command prompt appears, type:
cd ..
syslinux.exe -f X: X:\syslinux.bin
where X: is the drive letter of your target USB drive. This creates the boot file syslinux.bin onto drive X: which contains the syslinux boot code. It also creates the bootfile ldlinux.sys on drive X: (the file attributes are set to Hidden, ReadOnly and System so may not be visible in Windows Explorer).
You will need to add a \syslinux.cfg file and any extra files required, such as vesamenu.c32 and any other payload files required by your cfg menu.
If you already have an isolinux.cfg file, simply rename it to syslinux.cfg.
If you want the default syslinux.cfg file to be in a different folder other than the root of the USB drive, add a -d parameter, e.g. to use \syslinuxzboot\syslinux.cfg use the command:
syslinux -f -d /boot/syslinux f: f:\syslinux.bin
(if you want to install an earlier version like version 3 - e.g. if you get 'not a COM32R image' error when using syslinux version 4) then simply use the cd command to change to the appropriate version which is located in the RMPrepUSB\Syslinux folder structure).
Note: If you already have a syslinux.bin or isolinux.bin file present in your payload OS, then you may not need to create the syslinux.bin file.
3. Now install grub4dos to the Master Boot Record by clicking on the RMPrepUSB Install grub4dos button and say YES when prompted. Then press ENTER to copy across the grldr file when prompted.
4. Finally add an entry to your grub4dos menu.lst file (just press F4 in RMPrepUSB to load menu.lst in Notepad):
chainloader /syslinux.bin
Note: If you boot to syslinux.bin and get an error message about 'no UI or DEFAULT', it means either it cannot find the syslinux.cfg file or the syslinux.cfg file does not contain a 'default' statement.
Make sure that a syslinux.cfg file is present. If you have an isolinux.cfg file, then simply rename it to syslinux.cfg.
Or instead, you can try one of these (and copy over the grldr file):
default grub4dos
LABEL grub4dos
MENU LABEL Grub4dos
BOOT /grldr
LABEL grub4dos using ntdlr
COM32 /chain.c32
APPEND ntldr=/grldr
LABEL grub4dos using ntdlr - get grub4dos to look for menu.lst on 2nd PRIMARY partition first (2nd ptn is root)
COM32 /chain.c32
APPEND ntldr=/grldr hd0 2
LABEL grub4dos using ntdlr - get grub4dos to look for menu.lst on 2nd LOGICAL partition first (2nd log ptn is root)
COM32 /chain.c32
APPEND ntldr=/grldr hd0 6
LABEL grub4dos using ntdlr - get grub4dos to look for menu.lst on 2nd partition of 2nd HDD first, then swap hd0 with hd1
COM32 /chain.c32
APPEND ntldr=/grldr hd1 2 swap
To boot to Windows Vista/7/8/WinPE v2,3,4 etc. which is located on a 2nd partition of the boot drive, try this (no menu.lst is needed)
If you are loading one ISO in grub4dos and then chaining to syslinux which loads another 2nd ISO and then find that the DOS payload does not see the first grub4dos ISO ("no CD found!"), then this is probably due to mixing grub4dos map commands with syslinux memdisk. In this case try changing your grub4dos menu so that it uses memdisk to load an ISO file rather than a map command - e.g.