After some more work i came up with :
#FileName: mboot.lst
#ensure debug messages turned on so find lists all partitions
echo Searching For Bootable Devices
debug -1
timeout 5
default 0
debug on
#ntldr finder
find --ignore-floppies --ignore-cd /ntldr && set ntfound=1
#bootmgr finder
find --ignore-floppies /bootmgr && set mgrfound=1
#find --ignore-floppies --ignore-cd /bootmgr && set mgrfound=1
#bootmgr io.sys
find --ignore-floppies /bootmgr && set iofound=1
debug off
# reload menu a 2nd time so variables are set
if "%loadm%"=="1" set loadm=1 || set loadm=1 && configfile /mboot.lst
#goto lst
if "%ntfound%"=="1" && configfile /nt.lst
if "%mgrfound%"=="1" && configfile /mgr.lst
if "%iofound%"=="1" && configfile /io.lst
title Nothing Found Previous Menu
configfile /menu.lst
title Reboot
reboot
title Shutdown
halt
#FileName: nt.lst
echo Found NTLDR
debug -1
#ntldr finder
debug on
find --ignore-floppies --ignore-cd /ntldr > (md)0x220+1
debug off
#HD and PRT finder
cat --locate="(hd0,0)" (md)0x220+1 && set NTHD00=1
cat --locate="(hd0,1)" (md)0x220+1 && set NTHD01=1
cat --locate="(hd0,2)" (md)0x220+1 && set NTHD02=1
cat --locate="(hd0,3)" (md)0x220+1 && set NTHD03=1
cat --locate="(hd0,4)" (md)0x220+1 && set NTHD04=1
cat --locate="(hd1,0)" (md)0x220+1 && set NTHD10=1
cat --locate="(hd1,1)" (md)0x220+1 && set NTHD11=1
# reload menu a 2nd time so variables are set
if "%loadnt%"=="1" set loadnt=1 || set loadnt=1 && configfile /nt.lst
timeout 30
default 0
title Previous Menu
configfile /menu.lst
title
root ()
#ntldr title
iftitle [if "%NTHD00%"=="1"] Boot to ntldr from hd0,0
chainloader (hd0,0)/ntldr
iftitle [if "%NTHD01%"=="1"] Boot to ntldr from hd0,1
chainloader (hd0,1)/ntldr
iftitle [if "%NTHD02%"=="1"] Boot to ntldr from hd0,2
chainloader (hd0,2)/ntldr
iftitle [if "%NTHD03%"=="1"] Boot to ntldr from hd0,3
chainloader (hd0,3)/ntldr
iftitle [if "%NTHD04%"=="1"] Boot to ntldr from hd0,4
chainloader (hd0,4)/ntldr
iftitle [if "%NTHD10%"=="1"] Boot to ntldr from hd1,0
chainloader (hd1,0)/ntldr
iftitle [if "%NTHD11%"=="1"] Boot to ntldr from hd1,1
chainloader (hd1,1)/ntldr
#found bootmgr
iftitle [if "%mgrfound%"=="1"] Found BOOTMGR
configfile /mgr.lst
#found io.sys
iftitle [if "%iofound%"=="1"] Found io.sys
configfile /mgr.lst
title
root ()
title Previous Menu
configfile /menu.lst
title Reboot
reboot
title Shutdown
halt
#FileName: mgr.lst
echo Found BOOTMGR
debug -1
timeout 30
default 0
#bootmgr finder
debug on
find --ignore-floppies /bootmgr > (md)0x220+1
#find --ignore-floppies --ignore-cd /bootmgr > (md)0x220+1
debug off
#HD and PRT finder
cat --locate="(hd0,0)" (md)0x220+1 && set MGRHD00=1
cat --locate="(hd0,1)" (md)0x220+1 && set MGRHD01=1
cat --locate="(hd0,2)" (md)0x220+1 && set MGRHD02=1
cat --locate="(hd0,3)" (md)0x220+1 && set MGRHD03=1
cat --locate="(hd0,4)" (md)0x220+1 && set MGRHD04=1
cat --locate="(hd1,0)" (md)0x220+1 && set MGRHD10=1
cat --locate="(hd1,1)" (md)0x220+1 && set MGRHD11=1
cat --locate="(cd)" (md)0x220+1 && set MGRCD=1
# reload menu a 2nd time so variables are set
if "%loadmgr%"=="1" set loadmgr=1 || set loadmgr=1 && configfile /mgr.lst
#bootmgr title
iftitle [if "%MGRHD00%"=="1"] Boot to bootmgr from hd0,0
chainloader (hd0,0)/bootmgr
iftitle [if "%MGRHD01%"=="1"] Boot to bootmgr from hd0,1
chainloader (hd0,1)/bootmgr
iftitle [if "%MGRHD02%"=="1"] Boot to bootmgr from hd0,2
chainloader (hd0,2)/bootmgr
iftitle [if "%MGRHD03%"=="1"] Boot to bootmgr from hd0,3
chainloader (hd0,3)/bootmgr
iftitle [if "%MGRHD04%"=="1"] Boot to bootmgr from hd0,4
chainloader (hd0,4)/bootmgr
iftitle [if "%MGRHD10%"=="1"] Boot to bootmgr from hd1,0
chainloader (hd1,0)/bootmgr
iftitle [if "%MGRHD11%"=="1"] Boot to bootmgr from hd1,1
chainloader (hd1,1)/bootmgr
iftitle [if "%MGRCD%"=="1"] Boot to bootmgr from ODD
chainloader (CD)/bootmgr
#found io.sys
iftitle [if "%iofound%"=="1"] Found io.sys
configfile /mgr.lst
title
root ()
title Previous Menu
configfile /menu.lst
title Reboot
reboot
title Shutdown
halt
#FileName: io.lst
echo Found IO.SYS
debug -1
#io.sys finder
debug on
find --ignore-floppies --ignore-cd /io.sys > (md)0x220+1
debug off
#HD and PRT finder
cat --locate="(hd0,0)" (md)0x220+1 && set IOHD00=1
cat --locate="(hd0,1)" (md)0x220+1 && set IOHD01=1
cat --locate="(hd0,2)" (md)0x220+1 && set IOHD02=1
cat --locate="(hd0,3)" (md)0x220+1 && set IOHD03=1
cat --locate="(hd0,4)" (md)0x220+1 && set IOHD04=1
cat --locate="(hd1,0)" (md)0x220+1 && set IOHD10=1
cat --locate="(hd1,1)" (md)0x220+1 && set IOHD11=1
# reload menu a 2nd time so variables are set
if "%loadnt%"=="1" set loadnt=1 || set loadnt=1 && configfile /io.lst
timeout 30
default 0
#io.sys title
iftitle [if "%IOHD00%"=="1"] Boot to io.sys from hd0,0
chainloader (hd0,0)/io.sys
iftitle [if "%IOHD01%"=="1"] Boot to io.sys from hd0,1
chainloader (hd0,1)/io.sys
iftitle [if "%IOHD02%"=="1"] Boot to io.sys from hd0,2
chainloader (hd0,2)/io.sys
iftitle [if "%IOHD03%"=="1"] Boot to io.sys from hd0,3
chainloader (hd0,3)/io.sys
iftitle [if "%IOHD04%"=="1"] Boot to io.sys from hd0,4
chainloader (hd0,4)/io.sys
iftitle [if "%IOHD10%"=="1"] Boot to io.sys from hd1,0
chainloader (hd1,0)/io.sys
iftitle [if "%IOHD11%"=="1"] Boot to io.sys from hd1,1
chainloader (hd1,1)/io.sys
title
root ()
title Previous Menu
configfile /menu.lst
title Reboot
reboot
title Shutdown
halt
Id like to know if there are errors
And will "(md)0x220+1" used in different menu's give errors
And how do i get this to boot Linux ,android
moreover i tested it to boot XP ,Win 8 and Win 7,it works fast...
note: win 8 has 2 bootmgr's the one on (HD0.0) works the other one fails to boot on (hd0.1)
Thanx For The help!