I use a dual boot with two hard disks and two OS is Ubuntu 10.04 and Windows 7. 
Windows 7 installed on the first disk, first partition. Grub is installed on a second hard disk MBR, and Ubuntu installed on an extended partition on a second hard drive.
When I select Windows 7 on the Grub menu, the HDD lamp lights up briefly and then black screen on the monitor, with the status of the keyboard is still functioning.
Until now (with the default boot from first HDD), I have to press F12 to get into the Grub to run Linux on a second HDD.
================ fdisk -l ================================
dellph1@dellph1-desktop:~$ fdisk -l
omitting empty partition (5)
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00087dec
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       23104   185582848+   7  HPFS/NTFS
/dev/sda2           23105      121601   791177122    5  Extended
/dev/sda5           36107       74408   307660783+   7  HPFS/NTFS
/dev/sda6           74409      100081   206218341    7  HPFS/NTFS
/dev/sda7          100082      121601   172859368+   7  HPFS/NTFS
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6d43dfb2
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       10030    80560066    5  Extended
/dev/sdb5   *           1        5560    44657601   83  Linux
/dev/sdb6            5560        9387    30736384   83  Linux
/dev/sdb7            9387       10030     5164032   82  Linux swap / Solaris
dellph1@dellph1-desktop:~$ 
================= grub.cfg ==================
#
DO NOT EDIT THIS FILE
#
It is automatically generated by /usr/sbin/grub-mkconfig using templates
from /etc/grub.d and settings from /etc/default/grub
#
BEGIN /etc/grub.d/00_header
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}
function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd1,5)'
search --no-floppy --fs-uuid --set 2f014a3a-35f3-4d05-87aa-34ca677160b7
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=1024x768
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd1,5)'
search --no-floppy --fs-uuid --set 2f014a3a-35f3-4d05-87aa-34ca677160b7
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=5
fi
END /etc/grub.d/00_header
BEGIN /etc/grub.d/05_debian_theme
insmod ext2
set root='(hd1,5)'
search --no-floppy --fs-uuid --set 2f014a3a-35f3-4d05-87aa-34ca677160b7
insmod jpeg
if background_image /usr/share/backgrounds/CurlsbyCandy.jpg ; then
  set color_normal=white/black
  set color_highlight=black/light-gray
else
  set menu_color_normal=white/black
  set menu_color_highlight=black/light-gray
fi
END /etc/grub.d/05_debian_theme
BEGIN /etc/grub.d/10_linux
menuentry 'Ubuntu, with Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set 2f014a3a-35f3-4d05-87aa-34ca677160b7
    linux   /boot/vmlinuz-2.6.32-24-generic root=UUID=2f014a3a-35f3-4d05-87aa-34ca677160b7 ro splash vga=795  quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap
    initrd  /boot/initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set 2f014a3a-35f3-4d05-87aa-34ca677160b7
    echo    'Loading Linux 2.6.32-24-generic ...'
    linux   /boot/vmlinuz-2.6.32-24-generic root=UUID=2f014a3a-35f3-4d05-87aa-34ca677160b7 ro single splash vga=795
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-24-generic
}
END /etc/grub.d/10_linux
BEGIN /etc/grub.d/30_os-prober
menuentry "Windows 7 (loader) (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 5cac2139ac210f58
    chainloader +1
}
END /etc/grub.d/30_os-prober
BEGIN /etc/grub.d/40_multisystem
Ajout de MultiSystem
MULTISYSTEM MENU
menuentry "PLoP Boot Manager" {
    linux16 /boot/plpbt
}
menuentry "Smart Boot Manager" {
search --set -f /boot/sbootmgr.dsk
    linux16 /boot/memdisk
    initrd16 /boot/sbootmgr.dsk
}
FIN MULTISYSTEM MENU
END /etc/grub.d/40_multisystem
================================================ 
I want to keep the Grub on the second HDD.
I have been using the Startup Manager, Boot Manager and Grub Customizer, and this problem still unsolved. The easiest thing that I can possibly do is to install Grub on first HDD, but I was curious and maybe someone can help.