Недавно я установил CentOS 7 на машину под управлением Windows 7. Я установил систему с двойной загрузкой и установил CentOS в раздел. Но когда я загружаю свою машину, она дает мне только две опции CentOS. Это не дает мне возможность выбрать загрузку Windows 7. Как я могу добавить Windows 7 обратно в параметры загрузки?
ПРИМЕЧАНИЕ: я читаю этот пост под названием: Двойная загрузка CenTOS 7 с Windows , но в моей /grub
папке, похоже, есть splash.xpm.gz
файл без других файлов. Кроме того, я новичок в Linux и мне нужно что-то более шаг за шагом.
РЕДАКТИРОВАТЬ # 1
Я получаю следующие результаты в командной строке:
[root@localhost home]# sudo update-grub
sudo: update-grub: command not found
[root@localhost home]# sudo grub-mkconfig
sudo: grub-mkconfig: command not found
Кроме того, в настоящее время я изучаю возможность того, что эти команды могут не относиться к CentOS. Например, в этом U & L Q & A под названием: « Эквивалент grub-update для систем RHEL / Fedora / CentOS? », А также в этом Q & A под названием « Установленный Centos 7 после Windows и не может загрузиться в CentOS », похоже, я следует переустановить grub2. Но как мне это сделать? Я только сейчас изучаю Linux.
РЕДАКТИРОВАТЬ № 2
Следующая команда работает. Вот вывод:
[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 ###
источник
Ответы:
Обычно это исправляется путем запуска сценариев, определяющих установленные операционные системы и генерирующих файл конфигурации загрузчика (
grub2
в данном случае). На CentOS 7 это должно бытьgrub2-mkconfig
.Убедитесь, что окна обнаружены. Запустить,
grub2-mkconfig
но отменить вывод:Вывод будет выглядеть (но не идентично) тому, что показано выше. Убедитесь, что Windows в списке.
Если Windows была указана в предыдущем шаге, сохраните новый файл конфигурации. Сначала сделайте резервную копию, на всякий случай.
Если все прошло хорошо, вы сможете перезагрузиться в Windows.
источник
grub2-mkconfig > /dev/null
которую я должен использовать? Кроме того, будет ли это работать из режима восстановления, если Linux не загружается?> /dev/null
отбрасывает вывод. Этот шаг только для проверки, обнаружена ли Windows. Это ничего не делает. Этоsudo grub2-mkconfig -o /boot/grub2/grub.cfg
то, что пишет новый файл конфигурации. Также обратите внимание, что команда в системах на основе Debian простоsudo update-grub
. Запуск этого из спасательной системы может работать, но сначала вам понадобятся другие вещи. Посмотрите на мой ответ здесь .Следите за ответом @terdon - когда вы выполняете тестовый шаг, и grub2-mkconfig не находит раздел Windows. Затем убедитесь, что у вас установлен пакет «ntfs-3g», чтобы ваша система Linux могла читать разделы Windows.
После установки, когда вы запускаете
... вы должны увидеть список загрузки Windows. Если другая запись / записи в порядке, продолжайте и напишите это.
источник
--enablerepo epel
переключатель для первой командыЯ сталкивался с этой проблемой при установке CentOS 7.0. Windows изначально не была указана в выводе grub2-mkconfig.
Чтобы установить ntfs-3g, как предложено в другом ответе, мне сначала нужно было установить epel-release:
Просто попытка
sudo yum --enablerepo epel install ntfs-3g
привела к тому, что хранилище не нашло сообщения.Установка epel-release позволила установить ntfs-3g. Оттуда раздел Windows был указан в grub2-mkconfig. Шаги в предыдущих ответах затем дали возможность выбрать Windows при загрузке.
источник
Подведение итогов ответов @terdon @JosephK и @clk для формализации полной процедуры.
Добавить репозиторий epel
Установить пакет ntfs-3g
Запустите
grub2-mkconfig
команду и проверьте, обнаружена ли запись «Windows».Обновите
grub.cfg
файл.источник