Автор Тема: [p7] После обновления Grub слетела загрузка  (Прочитано 4281 раз)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
https://www.altlinux.org/Rescue
https://www.altlinux.org/Восстановление_загрузочной_записи
Восстановление Grub


Цитировать
После того как проведены подготовительные действия и сделан сhroot, необходимо перегенерировать конфиг grub:

grub-mkconfig -o /boot/grub/grub.cfg
после чего, если используется обычный BIOS-режим, следует заново установить GRUB в MBR:

grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB
если же используется EFI-режим, может потребоваться восстановить загрузчик в ESP-разделе (EFI System Partition), который монтируется в /boot/efi:

mount -a # достаточно смонтировать точку монтирования /boot/efi
grub-efi-autoupdate

Загрузчик grub обладает очень широкими возможностями. Вероятно, нелишним будет почитать про него предварительно.
« Последнее редактирование: 22.12.2015 20:03:04 от ruslandh »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
Подготовка chroot
Цитировать

Загрузитесь с установочного диска ALT Linux в режиме «Rescue». После загрузки мы получаем терминал с командной оболочкой от имени суперпользователя root.

В автоматическом режиме

Воспользуйтесь утилитой mount-system, нахотящейся, как и fixmbr, в rescue-образе. Как и fixmbr, она запускается без параметров. В случае успешного выполнения достаточно будет выполнить chroot в указанную точку монтирования (для первой обнаруженной системы это может быть /mnt/system1). В противном случае потребуется сделать то же самое в ручном режиме.

chroot /mnt/system1
В ручном режиме

Ручная подготовка chroot состоит из следующих этапов:

    Уточняем информацию о том, на каком устройстве находится корневой раздел. Для этого можно воспользоваться утилитой fdisk (или своей памятью, или заранее заготовленными записями). Если будет обнаружено несколько разделов c Linux, возможно, придётся проверять их подряд. Для определённости будем считать, что корневой раздел находится на /dev/sda5
    Монтируем корневой раздел с жёсткого диска к файловой системе RescueCD:

mount /dev/sda5 /mnt
    Если есть отдельный раздел с /boot, монтируем его в точку /mnt/boot

mount /dev/sda1 /mnt/boot    Убеждаемся, что смонтировали действительно тот раздел

ls /mnt/
Если остальные разделы не нужны (для lilo корневого раздела и /boot достаточно, к примеру), продолжаем; если нужны, повторяем для остальных разделов.

    Монтируем виртуальные ФС (потребуются для установки загрузчика либо иных задач по прямой работе с диском):

mount --bind /proc /mnt/proc
mount --bind /dev  /mnt/dev
mount --bind /sys  /mnt/sys
    Выполняем chroot в собранную ФС:

chroot /mnt

Оффлайн STamm

  • Участник
  • *
  • Сообщений: 124
Этими подсказками  я и пользуюсь. Спасибо, буду еще раз пробовать.
Счас посмотрел на диск sdc через менеджер разделов калькулейт линукса он выдал:
"Не удалось найти верную таблицу разделов на этом диске"  :-\ ??

Оффлайн STamm

  • Участник
  • *
  • Сообщений: 124
Сделал:
mount /dev/sdc6 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev  /mnt/dev
mount --bind /sys  /mnt/sys
grub-mkconfig -o  /boot/grub/grub.cfg
тут он выдал список разделов с фс
grub-install /dev/sdc6
выдало:
/usr/sbin/grub -bios-setup: Warning: File system 'EXT2' doesn't support embedding.
/usr/sbin/grub -bios-setup: Warning: Embedding is not possible. GRUB can only be installed in this setup by using
blocklists. However, blocklists are UNRELIABLE and their use is discouraged.
/usr/sbin/grub -bios-setup: Warning: eror:  will not proceed with blocklists.
что ему не понравилось? какие блоклисты?
что делать? могет ну его нафиг, переустановить систему и отлавливать обновление к Grub(у)?
« Последнее редактирование: 22.12.2015 20:58:46 от STamm »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
"Не удалось найти верную таблицу разделов на этом диске"  :-\ ??
Не знаю, что за менежджер там, и что он умеет. Советую для восстановления скачать образ rescue соответствуюбщей архитектуры и использовать именно его.

Оффлайн STamm

  • Участник
  • *
  • Сообщений: 124
"Не удалось найти верную таблицу разделов на этом диске"  :-\ ??
Не знаю, что за менежджер там, и что он умеет. Советую для восстановления скачать образ rescue соответствуюбщей архитектуры и использовать именно его.
восстанавливаюсь с лайфСД АЛьТ линукса 7.03 kdesktop

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
Вроде ваш случай:

http://www.linux.org.ru/forum/general/7488486
Цитировать
     grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
    grub-setup: error: will not proceed with blocklists.

Либо переместите (*parted'ом) первый раздел вперёд так, чтобы в пространство между ним и MBR влез бы core.img, либо добавьте --force и надейтесь на то, что всё заработает.

И дальше по ссылке.

Оффлайн STamm

  • Участник
  • *
  • Сообщений: 124
Цитировать
Вроде ваш случай:
И дальше по ссылке.
прошел по ссылкам в одном месте было сказано про
mkinitrd
Вот аглицкий вариант:
1. Boot the target machine into rescue mode, using appropriate boot media
2. Run the following command to determine which devices are /, /boot and swap:
 fdisk -l
 3. Using that information mount the appropriate devices:
 mount /dev/%root device% /mnt
mount /dev/%boot device% /mnt/boot
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
 4. Change the system root to the newly selected location:
 chroot /mnt
 5. Modify the /etc/fstab file to make sure the correct devices are being used.  For example the root, boot, and swap devices might be listed with these device names:
 /dev/sda1
/dev/sda2
/dev/sda3
 According to the fdisk -l output, however, the devices should be listed as follows:
 /dev/cciss/c0d0p1
/dev/cciss/c0d0p2
/dev/cciss/c0d0p3
 6. Modify the /boot/grub/menu.lst file and replace the boot partition information with the correct device id.  For example, the boot partition may be listed as this device:
/dev/sda2
 Where it should be this device:
 /dev/cciss/c0d0p2
 7. Make sure that the /var/tmp directory exists and then run the following command (note: the /var/tmp directory may need to be manually created first):
 
mkinitrd

 8. Reboot the target machine

mkinitrd применить до установки grub(a)&

   

« Последнее редактирование: 22.12.2015 21:25:29 от STamm »

Оффлайн STamm

  • Участник
  • *
  • Сообщений: 124
ruslandh!
Огромное вам спасибо за ваше долготерпение и помощь.
На сегодня все. проблема сейчас более мене известна, завтра буду штудировать гугл.
конечно было-бы лучше что-бы разработчики АЛьТа это сделали, но...

Оффлайн Merblud

  • Участник
  • *
  • Сообщений: 479
Прошу советов по решению сразу двух проблем, возникших после обновления Grub.

1. Обновил Grub на десктопе с uefi. Теперь как и у топикстартера получаю надпись GRU (сейчас не могу точно посмотреть, но по памяти вроде бы именно GRU), и на это все. Гружусь с флэшки в efi режиме. Вызываю там опцию меню для поиска альтернативных загрузчиков. Находится соответствующий "старый" загрузчик, далее установленная система нормально грузится. Что посмотреть, куда копать?

2. На ноутбуке тоже uefi. Тоже сделал обновление. Теперь почему-то GRUB не может загрузить ядро по-умолчанию. Т.е. меню загрузчика отображается. Я могу выбрать любое установленное ядро, вплоть до последнего ядра, и все они грузятся. Но стоит выбрать загрузку, сконфигурированную по умолчанию, получаю пустой экран и на этом все. Обновил ядро. Ничего не изменилось. Стоит выбрать пункт меню, указывающий непосредственно на последнее ядро - грузимся. Выбираю пункт меню загрузки по умолчанию (который сконфигурирован через символические ссылки на то же самое последнее ядро) - висим. Символические ссылки проверял.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
mkinitrd
Вообще-то в ALT сейчас штатная утилита для создания initrd это make-initrd

Оффлайн Merblud

  • Участник
  • *
  • Сообщений: 479
По второму вопросу, который я задавал, сам же и отвечу.
У неработавшего пункта меню отсутствовала опция, отвечающая то ли за сплэш, то ли за видео режим (не могу вспомнить точно, потом еще посмотрю).
К сожалению уже нет возможности проверить, то ли эта опция была удалена при обновлении, то ли её всегда не было, и тогда получается, что обновленный grub почему-то не может работать на моей конфигурации так же корректно, как предыдущий.

Оффлайн STamm

  • Участник
  • *
  • Сообщений: 124
mkinitrd
Вообще-то в ALT сейчас штатная утилита для создания initrd это make-initrd
Спасибо, учту ежели что. А пока переустановил систему и отловил обновление GRUB(a)? Думаю до 8 АЛьТа продержусь. Еще раз спасибо за потраченное на помощь мне время. С наступающим Новым Годом! Всех благ земных.