I recently installed CentOS 7 on a machine that has been running Windows 7. I did a dual boot installation and installed CentOS in a partition. But when I boot up my machine, it only gives me two CentOS options. It does not give me the option to choose to boot Windows 7. How can I add windows 7 back to the boot options?
NOTE: I'm reading this post titled: CenTOS 7 dual boot with windows, but my /grub
folder only seems to have a splash.xpm.gz
file in it with no other files. Also, I'm new to Linux and need something more step by step.
EDIT #1
I'm getting the following results on the command line:
[root@localhost home]# sudo update-grub
sudo: update-grub: command not found
[root@localhost home]# sudo grub-mkconfig
sudo: grub-mkconfig: command not found
Also, I'm currently researching the possibility that these commands might not apply to CentOS. For example in this U&L Q&A titled: "Equivalent of update-grub for RHEL/Fedora/CentOS systems?", as well as this Q&A titled: "Installed Centos 7 after Windows and can't boot into CentOS" seem to imply that I should reinstall grub2. But how do I do that? I'm just now learning Linux.
EDIT #2
The following command does work. Here is the output:
[root@localhost home]# sudo grub2-mkconfig 2>/dev/null
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set pager=1
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
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 load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
terminal_output console
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux, with Linux 3.10.0-123.el7.x86_64' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-123.el7.x86_64-advanced-77a053a9-a71b-43ce-a8d7-1a3418f5b0d9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint- efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 589631f1-d5aa-4374-a069-7aae5ca289bc
else
search --no-floppy --fs-uuid --set=root 589631f1-d5aa-4374-a069-7aae5ca289bc
fi
linux16 /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=77a053a9-a71b-43ce-a8d7-1a3418f5b0d9 ro rd.luks.uuid=luks-a45243be-2514-4a81-b7a1-7e4eff712d2d vconsole.font=latarcyrheb-sun16 crashkernel=auto vconsole.keymap=us rd.luks.uuid=luks-5349515e-a082-4ff2-b035-54da7b8d4990 rhgb quiet
initrd16 /initramfs-3.10.0-123.el7.x86_64.img
}
menuentry 'CentOS Linux, with Linux 0-rescue-369d0c1b630b48cc8ef010ceb99bc668' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-369d0c1b630b48cc8ef010ceb99bc668-advanced-77a053a9-a71b-43ce-a8d7-1a3418f5b0d9' {
load_video
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 589631f1-d5aa-4374-a069-7aae5ca289bc
else
search --no-floppy --fs-uuid --set=root 589631f1-d5aa-4374-a069-7aae5ca289bc
fi
linux16 /vmlinuz-0-rescue-369d0c1b630b48cc8ef010ceb99bc668 root=UUID=77a053a9-a71b-43ce-a8d7-1a3418f5b0d9 ro rd.luks.uuid=luks-a45243be-2514-4a81-b7a1-7e4eff712d2d vconsole.font=latarcyrheb-sun16 crashkernel=auto vconsole.keymap=us rd.luks.uuid=luks-5349515e-a082-4ff2-b035-54da7b8d4990 rhgb quiet
initrd16 /initramfs-0-rescue-369d0c1b630b48cc8ef010ceb99bc668.img
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-386ED4266ED3DB28' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2' 386ED4266ED3DB28
else
search --no-floppy --fs-uuid --set=root 386ED4266ED3DB28
fi
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Best Answer
This is usually fixed by running the scripts detect the installed operating systems and generate the boot loader's (
grub2
in this case) configuration file. On CentOS 7, that should begrub2-mkconfig
.Check that windows is detected. Run
grub2-mkconfig
but discard its output:The output will look similar (but not identical) to what is shown above. Make sure that Windows is listed.
If Windows was listed in the previous step, go ahead and save the new configuration file. Make a backup first, just in case.
If all went well, you should now be able to reboot into Windows.