Задать вопрос
@neosapient
VC9, VC11, QT4, QT5, MySQL

[закрыто] В чем ошибка при настройки Grub для поиска Windows 7? Как исправить?

Вопрос закрыт, так как в итоге удалил все операционки и установил их с нуля.

Здравствуйте.

Стал сыпаться винчестер. Я решил установить новый большего объема и поставить туда Windows 7 и Ubuntu 16.4. В какой то момент у меня стала конфигурация
/dev/dsa - 500 Gb - старый диск - Windows 7
/dev/dsb - 1000 Gb - новый диск - Windows 7 + Ubuntu 16.4
Что интересно, когда ставил новую Windows, то она подцепилась к загрузчику на старом диске. В свою очередь на новом диске обосновался Grub, который в одном из пунктов меню позволял перейти на загрузчик Windows.

В общем, сегодня отключил старый диск. Т.е. новый стал /dev/dsa.
Grub смог работать с Ubuntu, но не смог запустить запустить загрузчик Windows - что логично, так как диск изъят из компа.

В общем пробую вызвать обновление Grub
> sudo update-grub
Перезагружаюсь, и ... пункт Windows Loader исчез. А пункта загрузки Windows не появилось.

Тогда решаю переустановить Grub
> sudo grub-install /dev/sda
Перезагружаюсь, ... пункта загрузки Windows не появилось.

Полез читать форумы. Там предложен вариант ручного добавления пункта меню в Grub через UUID раздела диска. Получить этот идентификатор можно через команду
> ls -la /dev/disk/by-uuid
drwxr-xr-x 2 root root 160 апр 2 21:24 .
drwxr-xr-x 6 root root 120 апр 2 21:24 ..
lrwxrwxrwx 1 root root 10 апр 2 21:55 0b87a9c3-7edd-47cf-8803-feefb59e122b -> ../../sda1
lrwxrwxrwx 1 root root 10 апр 2 21:55 2ab1cb42-9d1d-4ee9-a7a5-7fa6be4e87cb -> ../../sda6
lrwxrwxrwx 1 root root 10 апр 2 21:55 4c33d77c-a230-4c2d-a3fd-25b674ed09ef -> ../../sda7
lrwxrwxrwx 1 root root 10 апр 2 21:55 4EB83987B8396E99 -> ../../sda4
lrwxrwxrwx 1 root root 10 апр 2 21:55 a0adb5a5-d708-4275-a14a-0dbd1c2dd636 -> ../../sda5
lrwxrwxrwx 1 root root 10 апр 2 21:55 E85292D95292AC36 -> ../../sda2


Windows 7 лежит на в разделе sda2. Т.е. беру идентификатор UUID = E85292D95292AC36
6670f885bcb448959a02017aabe861cd.png
spoiler

> sudo fdisk -l
Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sda1 * 2048 6146047 6144000 3G 83 Linux
/dev/sda2 6146048 614627327 608481280 290,2G 7 HPFS/NTFS/exFAT
/dev/sda3 614629374 1127321599 512692226 244,5G 5 Расширенный
/dev/sda4 1127321600 1953519615 826198016 394G 7 HPFS/NTFS/exFAT
/dev/sda5 614629376 907595775 292966400 139,7G 83 Linux
/dev/sda6 907597824 932009983 24412160 11,7G 82 Linux своп / So
/dev/sda7 932012032 1127321599 195309568 93,1G 83 Linux

Partition 3 does not start on physical sector boundary.
Записи таблицы разделов не соответствуют порядку разделов на диске.


В общем, беру идентификатор UUID = E85292D95292AC36
Добавляю следующий текст в файл /etc/grub.d/40_custom

menuentry "Windows 7" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set E85292D95292AC36
chainloader +1
}


> sudo update-grub

В спойлере текст конца файла /boot/grub/grub.cfg. Там видно, что мой блок добавился.
spoiler
#

### 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.

menuentry "Windows 7" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set E85292D95292AC36
chainloader +1
}
### 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 ###


Перезагружаюсь. Запускается Grub. Вижу пункт меню "Windows 7". Захожу в него и поучаю сообщение об ошибке бутовой загрузки.

В чем может быть ошибка? Как исправить?
  • Вопрос задан
  • 250 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ipc_ngs
1. в команде search замените --set на --set=root
2. попробуйте добавить команду "insmod ntldr" и заменить "chainloader +1" на "ntldr /bootmgr" для запуска виндового загрузчика непосредственно (убедитесь, что в корне виндового раздела sda2 действительно есть такой файл)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы