- menuentry 'Search and boot Windows' --class=boot_windows {
- if search -n -s -f /bootmgr; then
- ntldr /bootmgr
- elif search -n -s -f /NTLDR; then
- ntldr /NTLDR
+ menuentry 'Search and boot Windows' --class=boot_windows {
+
+ set partid=3
+ while [ $partid -le 128 ]; do
+ if vt_check_part_exist $partid; then
+ for bt in bootmgr BOOTMGR Bootmgr BootMGR; do
+ if [ -f ($vtoydev,$partid)/$bt ]; then
+ set root=($vtoydev,$partid)
+ ntldr /$bt
+ boot
+ fi
+ done
+ else
+ break
+ fi
+ vt_incr partid 1
+ done
+
+ if search -n -s -f /Boot/BCD; then
+ for bt in bootmgr BOOTMGR Bootmgr BootMGR; do
+ if [ -f /$bt ]; then
+ if regexp '^hd0' $root; then
+ ntldr /$bt
+ else
+ drivemap -s hd0 $root
+ ntldr /$bt
+ fi
+ break
+ fi
+ done
+ elif search -n -s -f /NTDETECT.COM; then
+ drivemap -s hd0 $root
+ ntldr /ntldr