Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Удалял старые ядра, убил загрузку.  (Прочитано 2084 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Firefighter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Доброго времени суток, уважаемые форумчане!
Прошу помощи в восстановлении загрузки Ubuntu. Система стоит на компе у тещи, ставил года три-четыре назад еще 10.04, позднее обновил до 12.04LTS. Два раза чистил /boot от старых ядер, все работало хорошо. Вчера теща обратилась за помощью, т.к. она не смогла зайти в Skype, пароль не принимался, хотя пароль 100% верный. Заметил, что Синаптик предлагает установить обновления, а так же доступна новая версия Ubuntu 14.04LTS (надеюсь, с версией не ошибаюсь, ибо проверить сейчас не могу). Попробовал установить доступные обновления (систему пока решил не трогать), но вылетало окошко, что недостаточно места в разделе boot. Воспользовавшись проверенной инструкцией, установил, что в системе числится три ядра (для краткости назовем их 52,55 и 67). Вот тут, похоже, я допустил главную ошибку: удалить решил все, кроме последнего, 67-го ядра. Выделил в Синаптике 6 файлов на удаление, выбрал "Переустановить" для двух каких-то пакетов, на иконках которых был изображен значок [!] и нажал кнопку "Применить". Загрузка и установка завершилась какой-то ошибкой. Нажатие кнопки "Загрузка" не помогло, обновление опять завершилось той же ошибкой на этапе установки триггеров. Тогда я подумал, что лучше установить предложенные Синаптиком обновления системы, может быть тут и кроется ошибка обновления. Обновление прошло, высветилось окошко "Для завершения установки обновлений необходимо перезагрузить компьютер", на что я согласился. Итог печален: запускается grub, предлагает на выбор два удаленных ядра (52 и 55) и Memtest86+ Как восстановить загрузку, я не знаю, научите, пожалуйста.

Оффлайн Vlad_nerf

  • Новичок
  • *
  • Сообщений: 10
  • Адмиральские хлопья
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #1 : 17 Август 2014, 21:48:14 »
Могу предложить восстановить GRUB, как вариант решения вашей проблемы.
Понадобится любой LiveCD или LiveUSB, обязательно наличие пакета chroot.
После загрузки Alt+F2 и вводим:
gnome-terminal
Далее нужно просмотреть таблицу разделов:
sudo fdisk -l
Для примера возьмём такую таблицу:
/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended
/dev/sda5 13996 14593 4803403+ 82 Linux swap / Solaris

Теперь нужно примонтировать тот раздел, где находится каталог /boot. В данном примере для него не делалось отдельного раздела, но если у вас он будет - монтируйте именно его.
Итак, примонтируем раздел /dev/sda1:
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc

Следующая команда необязательна (она копирует resolv.conf):
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
Теперь перейдем в среду chroot:
sudo chroot /mnt
Если требуется - отредактируйте файл /etc/default/grub:
nano -w /etc/default/grub
Но не забудьте сохранить изменения следующей командой:
update-grub
Теперь установим/восстановим GRUB 2:
grub-install /dev/sda
В случае возникновения ошибки воспользуйтесь командой:
grub-install --recheck /dev/sda
Вот и всё, GRUB 2 восстановлен. Теперь можно выйти из chroota:
exit
Затем отмонтировать разделы и перезагрузить ваш компьютер:
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt
sudo reboot

Acer 5750G OpenSUSE 13.1 x86_x64
Intel Core i3 2.3Ghz | 8Gb RAM | Intel HD3000 | Nvidia GeForce 630M 1024Mb

Оффлайн Firefighter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #2 : 18 Август 2014, 15:46:05 »
Vlad_nerf, как я понимаю, grub жив, а вот насчет ядер не уверен. По крайней мере, при загрузке можно отредактировать записи, но я не знаю, что на что нужно исправить :(
Хочется оставить текущую версию Ubuntu, не переустанавливая, т.к. теща пользуется компом только ради скайпа (на сайте skype.com к загрузке предлагается версия только для Ubuntu версии 12.04 и 10.04, не уверен, что получится запустить скайп на 14.04)

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #3 : 18 Август 2014, 16:06:00 »
Я бы поступил так
  • Запустился бы с LiveCD
  • Примонтировал бы корневой раздел Вашей системы ну например в /mnt и все другие каталоги
     sudo mount /dev/sdaНомер_/ /mnt ; sudo mount --bind /dev /mnt/dev ; sudo mount --bind /proc /mnt/proc ; sudo mount --bind /sys /mnt/sys
  • Перешёл бы в систему sudo chroot /mnt /bin/bash
  • Установил ядро sudo apt-get install linux-image-generic linux-headers-generic
  • Обновил grub (см. выше)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Firefighter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #4 : 18 Август 2014, 19:18:19 »
Azure,
пошел по подсказанному тобой пути, попытался примонтировать первый раздел (sda1) - выдало ошибку, тогда примонтировал sda2 - вроде пустило дальше, попытка обновить ядро не удалась, т.к. установлено последнее, а вот при попытке установить grub выдало:
root@runtu:/# grub-install /dev/sda
Probing devices to guess BIOS drives. This may take a long time.
Searching for GRUB installation directory ... found: /boot/grub
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
Попытка переустановить grub тоже успехов не принесла:
grub-install --recheck /dev/sda
Installing GRUB to /dev/sda as (hd0)...
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0) /dev/fd0
(hd0) /dev/sda
root@runtu:/# grub-install --recheck /dev/sda
Probing devices to guess BIOS drives. This may take a long time.
Searching for GRUB installation directory ... found: /boot/grub
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found

Какие еще подсказки будут?

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #5 : 18 Август 2014, 19:23:47 »
Я не умею наугад и Вам не советую. Откройте parted -l и посмотрите на свои диски, какой из них какой. Кто кроме Вас знает, что и куда Вы устанавливали?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Firefighter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #6 : 18 Август 2014, 19:32:11 »
А обязательно делать все в терминале? Сейчас я сижу под Runtu с liveCD и мне доступны системные программы "из коробки"

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #7 : 18 Август 2014, 19:44:16 »
Нужно узнать список дисков в системе и что на каких находится. Делайте как умеете.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Firefighter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #8 : 18 Август 2014, 19:52:44 »
Azure,
в системе (проводник) видится три диска:
Диск 1 - 98.7 МБ
Диск 2 - 20 ГБ
Диск 3 - 20 ГБ
На первом диске лежит grub, который загружается (опознал его по содержимому menu.lst, где прописаны старые ядра). Вот содержимое значащей части menu.lst:
## ## End Default Options ##

title Ubuntu 12.04.3 LTS, kernel 3.2.0-55-generic
uuid 56a60629-b185-43e0-af15-3fc065cd1262
kernel /vmlinuz-3.2.0-55-generic root=UUID=58569be5-9ef7-4e24-bc09-436cfea2de56 ro quiet splash
initrd /initrd.img-3.2.0-55-generic
quiet

title Ubuntu 12.04.3 LTS, kernel 3.2.0-55-generic (recovery mode)
uuid 56a60629-b185-43e0-af15-3fc065cd1262
kernel /vmlinuz-3.2.0-55-generic root=UUID=58569be5-9ef7-4e24-bc09-436cfea2de56 ro  single
initrd /initrd.img-3.2.0-55-generic

title Ubuntu 12.04.3 LTS, kernel 2.6.32-52-generic
uuid 56a60629-b185-43e0-af15-3fc065cd1262
kernel /vmlinuz-2.6.32-52-generic root=UUID=58569be5-9ef7-4e24-bc09-436cfea2de56 ro quiet splash
initrd /initrd.img-2.6.32-52-generic
quiet

title Ubuntu 12.04.3 LTS, kernel 2.6.32-52-generic (recovery mode)
uuid 56a60629-b185-43e0-af15-3fc065cd1262
kernel /vmlinuz-2.6.32-52-generic root=UUID=58569be5-9ef7-4e24-bc09-436cfea2de56 ro  single
initrd /initrd.img-2.6.32-52-generic

title Ubuntu 12.04.3 LTS, memtest86+
uuid 56a60629-b185-43e0-af15-3fc065cd1262
kernel /memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

вижу на диске1 пару ядер: initrd.img-3.2.0-64-generic и initrd.img-3.2.0-67-generic (vmlinuz-3.2.0-64-generic и vmlinuz-3.2.0-67-generic)
Как я понимаю, достаточно отредактировать menu.lst, чтобы загрузилась система? Как можно отредактировать записи (боюсь, простой заменой названий и версий ядер дело не обойдется)?
« Последнее редактирование: 18 Август 2014, 20:00:49 от Firefighter »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #9 : 18 Август 2014, 20:27:49 »
Значит в п.2 рецепта изложенному выше надо примонтировать ещё и /boot
Цитировать
sudo mount /dev/sda1 /mnt/boot

По большому счёту можно и исправить menu.lst (хотя почему он у Вас? Это вроде grub-legacy, а в Ubuntu уже давно grub2)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Firefighter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Удалял старые ядра, убил загрузку.
« Ответ #10 : 18 Август 2014, 22:04:10 »
Azure,
Говорю же, ставил систему года 3-4 назад, даже на тот момент дистрибутив был устаревший (ставил Ubuntu-desctop-586-2009 или что-то вроде этого), потом обновлял до 10.10, 11.04, 12.04lts. Grub, видимо, не обновлялся.
Ну да ладно об этом, проверить правильность предположений уже не удастся, время позднее, а завтра мне на сутки заступать, так что плюнул я на это дело, установил в те же разделы Runtu, не форматируя только третий раздел с документами тещи. А потом я захотел обновить систему, но обновление не пошло, потому что дистр оказался совсем старый, количество файлов для загрузки превысило какой-то предел и загрузка обновлений всякий раз заканчивалась сообщение об ошибке загрузки. Оставим это дело до среды, а в среду запишу на диск образ ubuntu 12.04 lts и переустановлю ОС еще раз.
Спасибо за попытку помочь, но я уже успел забыть самые азы, что знал, поэтому восстановление обернулось для меня пыткой, а досаждать Вам своими ламерскими вопросами мне было неловко. Тему закрываю. Еще раз огромное спасибо :)

 

Страница сгенерирована за 0.078 секунд. Запросов: 26.