- Error no such partition или как восстановить загрузчик Кали Линукс?
- ЧТО ИСПОЛЬЗУЕТСЯ ДЛЯ ВОССТАНОВЛЕНИЯ?
- Как восстановить файлы?
- вариант второй позволит восстановить загрузчик Кали Линукс в любом случае
- Как восстановить загрузчик Кали Линукс? Вариант первый.
- Как восстановить загрузчик Кали Линукс? Вариант 2.
- О том о сем бложик
Error no such partition или как восстановить загрузчик Кали Линукс?
Всем привет, после обращений пользователей описываю пару вероятных решений проблем о том, как быстро восстановить загрузчик Кали Линукс без переустановки системы. Один из описанных способов пригодится вам, даже если вы просто решили ПЕРЕУСТАНОВИТЬ Windows.
Во втором способе упоминается о том, как решить «проблему наоборот» — Кали Линукс Есть, а Windows пропала.
Итак, после штатного завершения сеанса в Windows и очередного включения ноутбука тот сообщил, что у меня…
Нет, мол, больше такого раздела на жёстком диске. Проблема понятна — загрузчик Кали помахал рукой, унеся за собой ещё и записи о двух Windows, располагавшихся рядом. Как итог: ни Линукс ни Windows не загружаются.
ЧТО ИСПОЛЬЗУЕТСЯ ДЛЯ ВОССТАНОВЛЕНИЯ?
- битый загрузчик от Кали Линукс Rolling с Windows 7
- диск liveDVD с Кали Линукс (на всякий случай)
- загрузочный Windows 7 (вообще просто лежит)
Как восстановить файлы?
Ничего не надо восстанавливать: они, конечно же, на месте. Но первым же желанием было воткнуть загрузочный диск с Windows, пройти процедуру восстановления загрузочного сектора, временно теряя при этом доступ к Кали. Не безвозвратно, конечно. Так как…
вариант второй позволит восстановить загрузчик Кали Линукс в любом случае
Если вы решите пойти этим путём (или что-то уже пошло не так), стоит лишь:
- загрузиться с диска с Windows 7 (8/10) подходящей версии
- выйти в консоль Восстановления системы
- вызвать командную строку и выбрать букву диска, где лежит Windows. Сделать это просто: сама Windows присваивает им буквы C или D. Почти всегда это D. Так в консоли и наберите:
есть ли на диске папки Windows. Их вы ни с чем не перепутаете. Если всё на месте, вводим финишную команду:
Windows появится после перезагрузки. Можно будет скачать недостающий образ Кали и после этого перейти к варианту 2 . Но это путь через Китай.
Как восстановить загрузчик Кали Линукс? Вариант первый.
Его попробовать я не успел. И смысл метода в том, что вы вообще не покидаете пределов ремонтного терминала Кали и пытаетесь отремонтировать загрузчик «наживую». Приводимый пример — самый действенный для всех Линукс систем по восстановлению погибшего загрузчика.
Что понадобится для первого варианта?
Диски ждут очереди, а мы начинаем работу с терминалом. Прямо из терминала grub rescue Проверьте список видимых разделов командой:
Терминал выдаст всё, что обнаружил в виде списка в одной строке типа:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
Мол, три раздела ( msdosX ) на одном ( hd0 ) винчестере. Пробуем каждый из них по порядку командами:
Если терминал возвращает ошибку о том, что тип файловой системы загрузчику неизвестен (в силу исторических обстоятельств понимает в типах файловых структур он до сих пор немного):
Переходим к следующему разделу, пока не увидите:
Как обнаружите, идём проторенной давно дорожкой: возвращаем root нашему разделу (я для примера взял первый из моих же — он им и оказался):
set prefix=(hd0,msdos3)/boot/grub
Вставляем в ядро модуль (ничего указывать больше не нужно — ни путь, ни файл):
И попробуем загрузчик сразу проявить себя:
Появилось? Должно. Загрузитесь в Кали, минуя Windows, и введите команды, которые проверят и сохранят новый загрузчик:
Если после перезагрузки вас снова выбрасывает в ремонтный терминал, повторите описанные шаги, добавив туда команды
grub-install /dev/sda update-grub exit
Таким образом можно восстановить загрузчик Линукс не прибегая ни к каким инструментам вообще.
Как восстановить загрузчик Кали Линукс? Вариант 2.
Что понадобится для второго варианта?
Я пошёл другой проторенной тропинкой и воспользовался по старинке загрузочным liveDVD с Кали. Она сохранилась на виртуальном дисководе в числе других (флешка Кали Persistance не прокатила). Как уже отмечалось, такой способ восстановления загрузчика универсален, так как позволяет вернуть загрузчик Линукс при переустановке Windows (впоследствии я этим и воспользовался, окончательно перейдя на Windows 10 с Windows 7).
Для начала (уже из-под живой Кали) я загрузил утилиту по работе с разделами (проверил наименование разделов):
номер раздела с Кали отлично читается — искать не нужно: /dev/sda3
А теперь в терминале вот эти команды; по порядку или в строку через && :
mount /dev/sda3 /mnt mount --bind /dev /mnt/dev mount --bind /dev/pts /mnt/dev/pts mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt grub-install /dev/sda update-grub exit umount /mnt/dev/pts umount /mnt/dev umount /mnt/proc umount /mnt/sys umount /mnt
Посматривайте на терминал, он должен обнаружить и входную точку в Windows записью (по-русски или на английском):
Найден Windows 7 на /dev/sdaX
Перезагружаемся, LiveDVD с Кали вынимаем.
Входим в Кали через отремонтированный загрузчик обычным порядком и проверив, на месте ли Windows:
P.S. Если вы воспользовались этой методой для возврата загрузчика при переустановке Windows, учтите, что номера разделов с точки зрения Кали также могли поменяться. И потому при попытке зайти из загрузочного меню Линукс в ОС Windows вас на секунду может задержать ошибка о том, что информация по некоторым из разделов не соответствует предыдущим записям. Подождите некоторое время, загрузчик сам справится.
О том о сем бложик
TL;DR: Бездумный dist—upgrade на Linux — это плохо. А ещё это может поломать grub и система не сможет загрузиться. На помощь в этом случае придет LiveCD, где нужно будет выполнить несколько простых команд.
И вновь приветствую всех в своем блоге.
Знаете, что может быть лучше отдыха в субботу? Эксперименты с ноутбуком! А знаете чем у меня всегда заканчиваются эксперименты? Конечно же проблемами с загрузкой!
Начну с того, что на ноутбуке у меня реализован дуалбут между Windows 10 и Kali Linux. На Kali Linux я захожу раз в несколько месяцев, и за это время успевает выйти достаточно много обновленных версий для установленных пакетов.
А знаете что я люблю делать еще больше, чем экспериментировать? Обновлять! Ведь это так здорово, когда после обновления ты смотришь как изменился функционал или внешний вид приложения!
Именно поэтому каждый мой заход на Kali Linux начинается с выполнения двух команд:
sudo apt-get update
sudo apt-get dist-upgrade
И вот, вновь выполнив уже привычные команды, я перезагрузил ноутбук и столкнулся с таким вот неприятным сообщением:
error: symbol ‘grub_file_filters’ not found.
Entering rescue mode…
grub rescue>
К счастью, у меня была заранее записанная флэшка с установщиком Kali Linux, который можно загрузить и как Live систему. так что оставалось лишь найти в гугле подходящие команды для восстановления. Увы, сейчас я уже не найду ссылок, но зато есть четкая последовательность команд, которая помогла мне с восстановлением загрузчика.
В первую очередь, загружаемся с линуксового LiveCD/LiveUSB (желательно конечно с Kali Linux) и запускаем терминал.
Дальше, нужно найти раздел с установленной Kali Linux на компьютере. Для этого я поочередно монтировал sda1,sda2,sdb1,sdb2 в /mnt, и каждый раз через ls смотрел его содержимое. Если там будет иерархия с папками /dev, /root, /var и т.п., то это нужный раздел. В моём случае, это был sda1.
Как только раздел найден, остается лишь выполнить следующие команды (только не забудьте заменить sda1 и sda на ваш раздел соответственно).
sudo mount /dev/sda1 /mnt
sudo mount —rbind /dev /mnt/dev
sudo mount —rbind /proc /mnt/proc
sudo mount —rbind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
update-grub
После чего, можно делать reboot, и радоваться починенной загрузке двух систем!
Вот не очень качественные фотографии, где я вводил данные команды. Опечатки в процессе ввода прилагаются.
UPD: Данный способ помог мне и с этой ошибкой:
error: symbol ‘grub_calloc’ not found.
grub rescue>