Не могу отремонтировать GRUB

Я пытаюсь восстановить GRUB после установки Windows 7.

У меня есть 64-битные и 32-битные живые компакт-диски с Ubuntu + Super Grub Disk (Rescatux) + Boot-Repair-Disk . Я следую за ответом шагов. Но на 6-м шаге я получаю

/usr/sbin/grub-probe: error while loading shared libraries: libdevmapper.so.1.02.1: wrong ELF class: ELFCLASS32 после выполнения команды update-grub.

А потом я попытался использовать Boot-Repair . Сначала попытался Рекомендовано восстановить , и он успешно завершен, но при перезагрузке меню загрузки не появляется. И затем в следующий раз я держу левую клавишу Shift во время загрузки. Тем не менее, он автоматически загружает Windows.

А потом я попытался использовать Advanced repair . Те же результаты. Это мои журналы Boot-Repair: http://paste.ubuntu.com/936178/

Мне нужны конкретные ответы для моей системы. Спасибо.

Примечание:

Моя установленная система Ubuntu 64-битная, и у меня есть 64-битные и 32-битные Live CD

Примечание 2

(после загрузки с 32-битного Live CD) (см. Примечание 3 для результатов 64-битного Live CD )

file /lib/libdevmapper.so.1.02.1 -> /lib/libdevmapper.so.1.02.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

file /usr/sbin/grub-probe -> /usr/sbin/grub-probe: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

ubuntu@ubuntu:~$ sudo mkdir /mnt/ubusda3
ubuntu@ubuntu:~$ sudo mount -t ext4 /dev/sda3 /mnt/ubusda3
ubuntu@ubuntu:~$ file /mnt/ubusda3/sbin/init
/mnt/ubusda3/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

Примечание 3

(после загрузки с 64-битным Live CD)

file /lib/libdevmapper.so.1.02.1 -> /lib/libdevmapper.so.1.02.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

file /usr/sbin/grub-probe -> /usr/sbin/grub-probe: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu# mkdir /mnt/ubusda3
root@ubuntu:/home/ubuntu# mount -t ext4 /dev/sda3 /mnt/ubusda3
root@ubuntu:/home/ubuntu# file /mnt/ubusda3/sbin/init
/mnt/ubusda3/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
root@ubuntu:/home/ubuntu# file /mnt/ubusda3/lib/libdevmapper.so.1.02.1
/mnt/ubusda3/lib/libdevmapper.so.1.02.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
2
задан 13 April 2017 в 15:23

2 ответа

Драт!

Я наконец-то получил мультизагрузочную версию Ubuntu и установку Windows 7, работающую на виртуальной машине VirtualBox, чтобы я мог поэкспериментировать с инструментами восстановления. Оказывается, мое первоначальное предложение было неверным и не сработало так, как я думал. : - (

Итак ... начинаем сначала ...

Хотя я собираюсь больше экспериментировать с ВМ, чтобы больше узнать о различных инструментах, таких как Boot-Repair [ 115] или с помощью Live CD и chroot и для переустановки GRUB, я подумал, что наиболее целесообразная вещь, которую я могу предложить сейчас, - это набросать один из способов, позволяющих загружаться из Windows, в меню GRUB.

Я не предлагаю это как «окончательное» решение. Но оно должно, по крайней мере, снова включить загрузку раздела Ubuntu, что также, я думаю, открывает другие варианты восстановления.

Кроме того, попробовав его на ВМ У меня есть уверенность, что это должно сработать. (Мысленно скрестив здесь пальцы ...)

Использование EasyBCD 2.1.2 для загрузки с GRUB из меню загрузки Windows

  1. Запуск Windows Затем откройте страницу EasyBCD 2.1.2 в браузере и используйте ссылку Скачать бесплатно для ограниченного некоммерческого использования , чтобы загрузить и установить EasyBCD. [ 118]
    Примечание: eath Купить сейчас кнопку в нижней части страницы.
    Пока они запрашивают имя и amp; электронная почта, вам не нужно вводить их для загрузки.
  2. Откройте программу EasyBCD и выберите Добавить новую запись на боковой панели слева.
  3. Выберите крайнюю правую вкладку NeoGrub в разделе « Операционные системы » и нажмите кнопку Install . [ 1110]
    Примечание: Это добавит код загрузчика NeoGrub в ваш каталог C:\.
    Вы должны увидеть файл NeoGrub и каталог NST в C:\, если установка работала правильно.
  4. Выберите вкладку Linux / BSD . Выберите тип GRUB, который использует ваша установка (например, GRUB 2) и, при необходимости, отредактируйте имя записи, которую вы собираетесь добавить в меню загрузки Windows.
  5. Нажмите кнопку Добавить запись , чтобы добавить запись для загрузки Linux (меню GRUB) в меню загрузки Windows.
  6. Выберите Редактировать меню загрузки на боковой панели, чтобы просмотреть изменения.
    Примечание: Вы можете удалить запись для NeoGrub Bootloader , если хотите.
    Он был добавлен при установке загрузчика NeoGrub на шаге (3). Вам нужен загрузчик, но вам не нужен пункт меню загрузки для него. Вам нужна только запись, добавленная на шаге (5).
  7. Сохраните изменения и перезагрузите компьютер. Когда появится меню загрузки Windows, выберите запись, которую вы добавили для загрузки Linux. После небольшой задержки должно появиться загрузочное меню GNU GRUB.
  8. [Тысяча сто двадцать девять]
0
ответ дан 13 April 2017 в 15:23

Загрузитесь с live CD и попробуйте эти команды (только если у вас уже установлена ​​Ubuntu). Это для Grub2.

Вам нужно найти раздел с Ubuntu и заменить / dev / sdAX. Это можно сделать с помощью следующей команды sudo fdisk -l, а затем выберите раздел «Linux»

sudo su
mkdir /mnt/root
mount -t ext4 /dev/sdAX /mnt/root
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
mount -o bind /sys /mnt/root/sys
chroot /mnt/root /bin/bash
sudo grub-install /dev/sda
sudo update-grub
0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

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