LINUX.ORG.RU

Не грузится после установки GRUB (Debian+Windows 7+recovery)

 , , , ,


0

1

Ситуация:
Ноут любимой.
Свеже переставлена W7 в отдельный раздел (оно же создаёт загрузочный раздел в начале диска), создан раздел recovery, создан раздел для данных пользователя, для привыкания сюда же поставлен Debian. В результате установки дебиана GRUB не установился, ноут перестал грузиться без сообщений о наличии GRUB'а (никаких Kernel panic) или других вариантов загрузки.

Для лучшего понимания разбиения - картинка >>, винт изъят из ноута и подключен к другому компу, потому он там sdd, а не sda.

Далее гуглим восстановление GRUB'а. Грузимся с live-флешки и выполняем рецепты:
1)
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
mount: mount point /mnt/dev does not exist
ubuntu@ubuntu:~$ sudo mkdir /mnt/dev
ubuntu@ubuntu:~$ sudo mkdir /mnt/proc
ubuntu@ubuntu:~$ sudo mkdir /mnt/sys
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /mnt/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /mnt/sys
ubuntu@ubuntu:~$ sudo chroot /mnt
chroot: cannot run command `/bin/bash': No such file or directory
ubuntu@ubuntu:~$ mkdir /bin/bash
mkdir: cannot create directory `/bin/bash': File exists
ubuntu@ubuntu:~$ sudo mkdir /bin/bash
mkdir: cannot create directory `/bin/bash': File exists
ubuntu@ubuntu:~$ sudo chroot /mnt
chroot: cannot run command `/bin/bash': No such file or directory
ubuntu@ubuntu:~$ sudo grub-install /dev/sda
/usr/sbin/grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?).
No path or device is specified.
Try `/usr/sbin/grub-probe --help' for more information.
Auto-detection of a filesystem module failed.
Please specify the module with the option `--modules' explicitly.
ubuntu@ubuntu:~$

2)
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
ubuntu@ubuntu:~$ sudo rmdir /mnt/dev
ubuntu@ubuntu:~$ sudo rmdir /mnt/sys
ubuntu@ubuntu:~$ sudo rmdir /mnt/proc
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt /dev/sda
Installation finished. No error reported.
ubuntu@ubuntu:~$ sudo update-grub --output=/mnt/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).v ubuntu@ubuntu:~$

Оба способа не работают.

Директория boot в загрузочном разделе в результате способа 2 создаётся, конфиг файл - нет.
Если создать его руками ничего не меняется - груб всё равно не начинает грузиться, так что дело не в том, что конфигурация неверная, в чём-то другом.

Пробовал переустановить Дебиан - все сообщения, что успешна установка, виндусу и рекавери определяет, но после перезагрузки не видит, откуда грузиться.
Пробовал и LILO ставить - не помогло.

Загружаюсь с лайф флешки, все разделы на месте, всё с ними в порядке, кроме загрузочного, ноут не грузится.

Про востановление загрузчика обчитался уже.. Help, pls!



Последнее исправление: oski (всего исправлений: 2)

У вас /boot на отдельном разделе ? Т.е. файлы загрузчика находятся не на корневом разделе.

Так зачем вы монтируете раздел с файлами загрузчика и создаёте на нём /dev /proc и /sys.

Вам нужно в начале смонтировать корневой раздел, затем подмонтировать /boot, /dev и /proc, а затем уже делать chroot и восстанавливать загрузчик.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Да, таки это 500Гб.

Первое сообщение не понял. Очевидно, я впрямую пытался выполнить рекомендуемые команды, не понимая сути. Ну а как её понять, если советы обрывочные. Объясните, пожалуйста, подробнее, как делать.

oski
() автор топика
Ответ на: комментарий от oski

Так а что не понятно? делай тоже самое, только монтируй boot в /boot и /proc с /dev соответственно. А потом уже играй с грабом.

v9lij ★★★★★
()

Так винт sda или sdd все-таки? Насколько я понял разметку, в /mnt надо подмонтировать /dev/sdd5 (10 Гб раздел, если под корень ФС для линукса при установке был выделен он). А вот тогда уже в /mnt будут готовые /dev, /sys, /proc и /boot.

Kiborg ★★★
()

А ты уверен что дебиан у тебя на /dev/sda1 ? Потому что каталоги dev sys proc должны там быть, а не создаваться вручную... ты походу монтируещь раздел с виндой...

после «sudo mount /dev/sda1 /mnt» сделай «ls /mnt» и проверь что там нет случайно каталога 'windows'

ubiquitine
()
Ответ на: комментарий от int13h

Ситуация:

Ноут любимой.

язабан

это точно тех раздел ?

smilessss ★★★★★
()

решение

Бум считать, что это инструкция для последующих мученников, поэтому подробно.

Первое, в чём оказалась проблема - при установке GRUB назначает раздел с Debian - bootable. В данном случае было sda6 (что 10GB). Сам же GRUB пишется в sda1, который становится не bootable. После этого загрузка и прекращается.

Налицо некорректная установка Дебиана 6 при наличии на диске разделов с другими ОС. Сейчас буду писать разработчикам.

Так что действие 1 - назначить активным раздел, с которого будет производиться загрузка. В данном случае для меня удобно sda1. Из командной строки почему-то не прокатило, помог GParted.

2. Грузимся с флешки (наиболее простой вариант создания - UNetbootin, выбрал загрузчик Live Ubuntu)

В терминале
# монтируем раздел с дебианом
sudo mount /dev/sda6 /mnt
# монтируем туда же окружение (некие мне лично непонятные данные, создаваемые при загузке системы)
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
# в результате можно войти в root как бы в дебиана на sda6, но и из под загрузочной флешки
sudo chroot /mnt
# это уже в руте
grub-install /dev/sda1
update-grub
# мне до этого потребовалось сделать ещё установку GRUB'а
apt-get update
apt-get install grub-pc

3. Что касается данных мне здесь советов, к сожалению, они оказались для меня малополезными. То ли советующие предполагают, что вопрошающий хорошо понимает суть манипуляций. Но тогда к чему бы ему задавать вопросы? Тогда достаточно напрячь извилины. То ли сами владеют вопросом сумбурно.

Помог решить проблему живой человек, которого удалось изыскать. Честно говоря, при задаче вопроса надеялся на больший результат ..

oski
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.