Grub2 detecting two Windows 7 (loader) entries
A quick solution if sda is a external drive
I don't know whether your /dev/sda
hard drive is an internal or an external drive. If it is an external drive, Unplug the external drive before running update-grub2
command. This should help quickly.
Solution:
Mount the /dev/sda1
drive. (I assume you can do that very easily). Then in that drive look for a folder named Boot
and a file named bootmgr
. Remove both the folder and file. Then run update-grub2
command again.
You might want to install grub2 again. As I see your Ubuntu installation is at /dev/sdb
, the commands will be
sudo grub-install /dev/sdb
sudo update-grub
What was the cause of the problem:
Grub2 looks for the Windows boot files for detecting Windows entries. Though you removed Windows 7, the Windows 7 boot files aren't removed (which are "Boot" folder and "bootmgr" file). And as Windows 7 boot files are there, grub2 simply assumes that, there are Windows 7 installation also. Hence the dual entry.
You should find what you're looking for inside of /boot/grub/grub.cfg
. This file is dynamically generated by update-grub2
. I am dual booting Ubuntu 32bit and 64bit. If I wanted to remove one, I would simply delete it's section from this file. Here is what one of my entries looks like-
menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 94916094-afe9-4b74-9413-a3c54b39eb91
linux /boot/vmlinuz-3.2.0-23-generic root=UUID=94916094-afe9-4b74-9413-a3c54b39eb91 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-23-generic
}
Changes should take effect immediately, so make a backup and be careful. Also, anything you change in this file will be completely over written if you run update-grub2
again.