Ошибка grub rescue unknown filesystem

Как восстановить загрузчик GRUB?

Если случалось так, что файлы в соответствующих разделах полностью затерты, то придется заниматься восстановлением загрузчика. Процесс этот можно осуществить двумя способами.

Первый из них предполагает взаимодействие с системой через терминал:

  1. Требуется загрузить Linux с того носителя, который использовался при инсталляции. Иногда необходимо войти в БИОС, чтобы включить загрузку с диска или флешки.
  2. Далее стоит открыть терминал, нажав комбинацию клавиш Ctrl + Alt + T, и вывести существующие разделы на экран посредством команды sudofdisk —i.
  3. После этого появится таблица с каталогами. Нужно найти корневой раздел и смонтировать его. Для этого следует ввести sudomount /dev/sda5/mnt. Вместо sda5 требуется прописать имя конкретного раздела. Он может отличаться.
  4. Восстановить загрузчик помогает команда sudo grub-install – root-directory=/mnt /dev/sda.
  5. В самом конце нужно ввести sudo reboot для перезагрузки.

При необходимости можно воспользоваться специальной утилитой, чтобы автоматизировать процесс. Для этого после загрузки с установочного носителя придется ввести всего три команды. Пример для дистрибутива Ubuntu.

  • первая – sudo add-apt-repository ppa^yannubuntu/boot-repair;
  • вторая – sudo apt-get update;
  • третья – sudo apt-get install boot-repair.

Восстановление Grub2 с помощью LiveCD

Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub

Причем, неважно будет там графический интерфейс или нет. Обычно все необходимые инструменты поддерживаются всеми дистрибутивами

А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.

Шаг 1. Загрузка LiveCD

Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.

Для запуска BIOS нажмите Del, F2, F8 или Shift +F2. В открывшимся меню перейдите на вкладку Boot, и в пункте Boot Device Priority или 1st Boot Device выберите нужное устройство:

Дальше перейдите на вкладку Exit и выберите Exit & Save settings.

Дальше начнется загрузка образа.

Шаг 2. Определение разделов

Перед тем как восстановить Grub2, нам нужно понять — на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Самый простой способ это сделать — воспользоваться утилитой fdisk.

Disk /dev/sdc: 14,5 GiB, 15514730496 bytes, 30302208 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x38972eb0

Device Boot Start End Sectors Size Id Type /dev/sdc1 * 23949312 29882367 5933056 2,8G 7 HPFS/NTFS/exFAT /dev/sdc2 29882368 30302207 419840 205M b W95 FAT32 /dev/sdc3 13551616 23949311 10397696 5G 83 Linux /dev/sdc4 2048 12621823 12619776 6G b W95 FAT32

В выводе программы вы видите — все подключенные к компьютеру разделы, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня загрузчик установлен на раздел /dev/sdc2 размером 205Мб с файловой системой Fat32, а корень — /dev/sdc3 — размером 5 Гигабайт.

Шаг 3. Монтирование файловой системы

Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:

Смонтируем папку с файлами загрузчика:

Шаг 4. Подготовка к входу в систему

Чтобы восстановить загрузчик linux mint мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром — /dev, /sys, /proc:

sudo mount —bind /dev /mnt/dev

$ sudo mount —bind /sys /mnt/sys

$ sudo mount —bind /proc /mnt/proc

Шаг 5. Вход в окружение системы

Для входа в окружение вашей системы используйте команду:

Первый параметр указывает папку, в которую была смонтирована корневая файловая система, а второй — оболочка, используемая для интерпретации команд пользователя.

Затем выполните эти команды для загрузки и обновления переменных профиля:

Теперь вы находитесь в Linux Mint, и можете выполнять почти все его программы, разумеется, недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.

Шаг 6. Восстановление Grub2

Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:

Здесь /dev/sdc — имя вашего жесткого диска.

Теперь создадим новый конфигурационный файл:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

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

Еще можно использовать команду:

Но она работает только в Ubuntu и основанных на ней дистрибутивах.

Krok třetí — nastavení prefixu a zavedení modulu[editovat]

Při bootování z first stage která má sice k dispozici všechny potřebné moduly, ale špatně nastavený prefix (viz upozornění výše), je třeba..

  1. nejdříve opravit prefix
  2. pak přenastavit root
  3. překontrolovat nastavení
  4. a po natažením modulu zkusit spustit normální menu
grub rescue> set prefix=(hd0,msdos1)/grub/
grub rescue> set root=(hd0,msdos1)
grub rescue> set
prefix=(hd0,msdos1)/grub/
root=hd0,msdos1
grub rescue> ls /
grub/ config-xxxx System.map-xxxx vmlinuz-xxxx initrd.img-xxxx
grub rescue> insmod normal
grub rescue> normal

Pokud se normální režim zavést nepodaří, je zřejmě nějaká chyba ve výchozím menu a nezbývá než se pokusit zavést systém ručně.

Как восстановить загрузчик Кали Линукс? Вариант 2.

Что понадобится для второго варианта?

  • прямые руки
  • загрузочный диск с Кали Линукс

Я пошёл другой проторенной тропинкой и воспользовался по старинке загрузочным liveDVD с Кали. Она сохранилась на виртуальном дисководе в числе других (флешка Кали Persistance не прокатила). Как уже отмечалось, такой способ восстановления загрузчика универсален, так как позволяет вернуть загрузчик Линукс при переустановке Windows (впоследствии я этим и воспользовался, окончательно перейдя на Windows 10 с Windows 7).

Для начала (уже из-под живой Кали) я загрузил утилиту по работе с разделами (проверил наименование разделов):

gparted

номер раздела с Кали отлично читается – искать не нужно: /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:

os-prober

закрепляем успех:

update-grub

Alles in ordnung.

P.S. Если вы воспользовались этой методой для возврата загрузчика при переустановке Windows, учтите, что номера разделов с точки зрения Кали также могли поменяться. И потому при попытке зайти из загрузочного меню Линукс в ОС Windows вас на секунду может задержать ошибка о том, что информация по некоторым из разделов не соответствует предыдущим записям. Подождите некоторое время, загрузчик сам справится.

Успехов.

Как восстановить загрузку

И так, имеется компьютер, на который изначально была предустановлена Windows 7 с OEM лицензией. Позже, на компьютер, второй ОС была установлена Ubuntu (версию не помню). После установки второй ОС основным загрузчиком был загрузчик Ubuntu, где можно было выбрать, загружать Windows или Ubuntu.

Когда вышла Windows 10, по программе утилизации , тьфу ты по программе бесплатного обновления обновил Windows 7 до Windows 10. Все установилось нормально, обе ОС, и Windows 10, и Ubuntu, прекрасно загружались загрузчиком Ubuntu, и прекрасно работали. И как говориться не было печали, но сегодня с утра дал добро на установку какого-то обновления для Windows 10 от Microsoft.

Итог, обновление установилось и компьютер перестал загружается, на экране появляется надпись:

error: no such partition.

Entering rescue mode.

grub rescue>

Короче если я правильно понял, обновление зачем то убило загрузчик Ubuntu, а свой нормально не прописало, в результате мой компьютер сейчас является кирпичом.

Вопрос как восстановить загрузчик, чтобы при этом загружалась и Windows 10 и Ubuntu?

источник

Почему система не загрузилась

Теперь рассказываю, что было в моем случае. Корень системы / располагался на lvm разделе вместе с /boot разделом. В какой-то момент корневой раздел был увеличен в размере за счет расширения тома lvm еще одним диском. Все это было сделано на лету, без перезагрузки системы. Причем сделано было мной давно, и с тех пор сервер ни разу не перезагружался до настоящего времени. Я не знаю почему, но данная операция привела к тому, что grub перестал загружаться с этого lvm раздела.

UUID физического тома и логического раздела не поменялись. То есть там информация, в начале загрузки, с ошибкой загрузки диска с lvmid, верная. Уиды правильные. Я понял, что причина в изменении размера диска только по аналогичным сообщениям в интернете. Наткнулся на несколько человек, которые обращались с похожей проблемой, где перед этим они тоже изменяли корневой раздел. Похоже это какой-то системный баг, возможно даже конкретной системы.

В моем случае на диске почему-то оказался отдельный раздел на 500 мб с файловой системой ext2. На нем как раз и был загрузчик, с которого я загрузился в rescue boot. Откуда взялся этот раздел, я не знаю. По идее, если он был создан автоматически во время установки системы, на нем бы и должен быть актуальный раздел /boot. Но нет, его не было в fstab и он не использовался. Я не стал долго разбираться, почему так получилось, а просто подмонтировал этот раздел в систему, обновил на нем grub и записал обновленный grub в MBR. После этого система благополучно загрузилась с этого раздела.

Если кто-то знает, почему мой загрузчик не смог загрузиться с lvm раздела, при том, что uuid указан правильно, прошу подсказки. Самому очень интересно, так как ситуация получилась неприятная и совершенно мне не понятная. Я часто расширяю корневой lvm раздел на ходу, но первый раз сталкиваюсь с тем, что это приводит к поломке загрузчика. Grub уже давно умеет грузиться с lvm раздела и каких-то дополнительных действий для этого делать не надо.

Booting from USB

This is not guaranteed to work, because it depends on how the USB device is «seen» at
GRUB boot time. Being able to boot from USB from the BIOS prompt may not be enough.

At the very least, the grub loader will have to be modified, because when the USB disk was hd0, it «saw» itself as hd0. Now it still does, but hd0 is now another disk, so grub’s looking for things in the wrong place.

The above commands might yet work, except that now it is not hd0 but hd1, 2… et
cetera. Not guaranteed at all, though. But you might get lucky.

Depending on what’s on the SSD, you might need a , swapping the disks at the BIOS level (hardware EFI support required) and maybe even hiding the SSD itself.

As a first attempt I’d try locating the image on the USB mount point and boot the image from there, hoping that USB is seen as :

Features

Rescatux 0.73 supports booting from UEFI Secure Boot and traditional BIOS. Both amd64 and 686 systems are supported.

Rescatux
includes Rescapp, a graphical rescue tool that will assist users to
regain access to a computer that has become non-bootable among many
other features.

GNU/Linux options

  • Change Gnu/Linux Password : Change a user’s password
  • File System Check (Forced Fix) : File System Check (Forced Fix)
  • Easy GNU/Linux Boot Fix : Fsck partition, update grub menues, restore GRUB into the MBR and order UEFI entries
  • Restore Grub : Restore GRUB into the MBR
  • Regenerate sudoers file : Define a new sudoers file
  • Update Grub Menus : Update GRUB Configuration File

UEFI Boot specific options

  • UEFI Partition Status : Check UEFI partition status
  • Check UEFI Boot : Check if Rescatux has boot in UEFI mode
  • Create UEFI Boot Entry : Create a new UEFI Boot entry out of your EFI files
  • Change UEFI Boot Order : Change UEFI Boot order
  • Reinstall Microsoft Windows UEFI : Reinstall Microsoft Windows UEFI boot entries
  • Fake Microsoft Windows UEFI : Fake Microsoft Windows UEFI boot entry
  • Hide Microsoft Windows UEFI : Hide Microsoft Windows UEFI boot entry and define default fallback one.

Windows password and role related options

  • Easy Windows Admin : Promote to Admin, Reset Windows (NT,200x,XP,Vista,Seven) password and unlock user
  • Reset Windows password : Reset Windows (NT,200x,XP,Vista,Seven,10) password
  • Promote Windows user to Admin : Promote Windows (NT,200x,XP,Vista,Seven,10) user to Administrator
  • Unlock Windows user : Unlock Windows (NT,200x,XP,Vista,Seven,10) user

Other options

  • Boot Info Script : Boot Information Script
  • Check bios_grub partition on GPT : Check if there is a bios_grub partition on a GPT disk
  • Gptsync : Create an hybrid MBR inside a GPT partition (Gptsync)
  • Recompute Hybrid GPT/MBR CHS : Recompute CHS values on an hybrid GPT/MBR partitiont table
  • Restore Windows MBR : Restore generic MBR code so that Windows boots again
  • System Info Script (Inxi) : System Info Script (Inxi)

Support features

  • Chat : Get online human help (chat)
  • Help : Help on using Rescapp
  • Share log : Share Rescatux logs. It generates a pastebin in paste.debian.net and shows it to you so that you can copy and paste the url in the chat.
  • Share log on forum : Share Rescatux logs on a forum. It generates a temporary file ready to copy and paste on your favourite forum (ubuntuforums.org and others).
  • Show log : Show Rescatux logs so that you can ask help and supporters can know what happens when you run Rescatux options
  • Web : Access online Rescatux website

External tools

  • Gparted : GParted is a free partition editor for graphically managing your disk partitions.
  • Testdisk : Testdisk is a text wizard drive program for rescuing disks, partitions, and files.
  • Photorec : Photorec is a text wizard drive program for rescuing files. Despite its name it recovers much more files than photo files.

Thank you

  • cjg67 for his work on improving Rescapp documentation grammar.
  • cjg67 for his incredible work on packaging Rescapp to Arch and Fedora. (BTW one of these days I need to add a page dedicated to Rescapp where I feature those packages.)
  • eris23 from linuxtracker community who has uploaded many times the Rescatux isos to the torrent site.
  • Many anonymous users which create new bugs at rescapp issues page.
  • Many anonymous users which came back to the Rescatux chat after trying our given advice in the chat
  • Alf Gaida (agaida) on the many times he has helped me on integrating LXQt to Rescatux.
  • bTactic, for helping Rescatux with their Zimbra based email service and their hosting.

Základní příkazy[editovat]

GRUB2 v záchranném režimu ( mode rescue ) má dostupnou pouze základní sadu příkazů, přesto s jejich pomocí můžete nejenom nalézt odpověď na otázku proč se váš systém nespouští, ale i případnou chybu provizorně opravit a systém spustit.

set 
je-li spuštěn bez parametrů, vypíše seznam aktuálně nastavených proměnných. Jeho prostřednictvím lze také hodnoty proměnných přenastavit
ls 
Tento příkaz je zjednodušená varianta příkazu, který je jinak součástí modulu , provádí vylistování lokálních disků a jejich obsahu, za předpokladu, že jsou natažené moduly, které to umožňují
insmod 
umožňuje natáhnout další moduly. Příkaz rmmod který umožňuje naopak jejich odebírání je stejně jako příkaz lsmod součástí modulu . Tzn. že v rescue mode nemusí být dostupný!

Tuto základní paletu příkazů lze rozšířit pomocí dalších modulů přidaných do do prvního stupně zavaděče (first stage).

Определение разделов

Теперь нужно определить раздел диска, на котором был установлен GRUB.

Выведем список разделов, для этого выполняем команду (в конце команды стоит строчная буква L):

Вывод fdisk для BIOS

Пример вывода команды:

В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).

Нас интересует диск /dev/sda. На диске /dev/sda создано несколько разделов. В моем случае /dev/sda4, на котором установлен Windows, а также 4 раздела с пометкой Linux (см. последний столбец таблицы). У вас скорее всего может быть один раздел Linux (корневой раздел) или два раздела (корневой и home). На одном из этих разделов установлен GRUB.

То есть из таблицы вы должны определить какой раздел является корневым, на нем скорее всего у вас установлен GRUB. В моем случае GRUB установлен в раздел /dev/sda2. Далее по тексту я буду его использовать (вы должны будете указывать свой раздел).

Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.

Вывод fdisk для UEFI

Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:

Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1, которые расположены на диске /dev/nvme0n1.

Способ 1. Приоритет в загрузке

Если у вас есть двойная загрузка систем Ubuntu и Windows, и вы получаете при загрузке файловую систему с ошибками, вы бы хотели перенести свои приоритеты одной из операционных систем. Вам необходимо запустить свой компьютер с Extranal Live CD или USB Ubuntu.

Как только вы запустите Ubuntu, вам нужно открыть терминал (Ctrl + Alt + t), для этого действия нужно быть root для доступа к корневым файлам:

Затем последовательно введите следующие команды:

После того, как это будет сделано, откроется окно восстановления при загрузке с двумя вариантами, выберите первый вариант (нужно быть терпеливым, потребуется время). Перезагрузите компьютер без компакт-диска или USB-накопителя и проверьте, не устранена ли проблема.

Если не помогло, тогда запустите снова живую ubuntu, откройте терминал и введите . Он снова отобразит окно, в котором нужно выбрать второй вариант. Дождитесь выполнения, перезагрузитесь и посмотрите, решилась ли проблема. Все должно запускаться.

Как исправить ошибку no such partition?

Для решения этой проблемы есть два способа – использование загрузочного Live CD дистрибутива Linux, либо загрузочный диск или флешка с Windows. При себе я имел только флешку с Windows. Но расскажу и о методе при помощи Linux.

Исправляем с помощью Linux

Возьмите загрузочный диск, можно и флешку с Linux, например, Mint, а может быть у вас есть Ubuntu. Создать такой носитель придется на другом компьютере. Загрузитесь с него. Теперь нам понадобится терминал, для этого зажимаем клавиши Ctrl+Alt+T. В терминале пишем команду:

sudo apt-get install lilo

Начинается загрузка пакета, а потом его установка, после чего вводим вот эту команду:

sudo lilo -M /dev/sda mbr

Хочу заметить, что для установки пакета вам понадобится интернет.

Теперь вы можете перезагрузить компьютер и убедиться, что ошибка error no such partition entering rescue mode исчезла.

Скорее всего вы столкнулись с проблемами еще при вводе команд. Например, не установился пакет lilo, либо вторая команда вообще не помогла. У меня было тоже самое и я не нашел этому решения, поэтому рекомендую использовать загрузочный диск с Windows.

Исправляем с помощью Windows

В данном пункте мы будет восстанавливать загрузчик, а старые записи о grub будут очищены. Вот, что необходимо сделать:

При установленной операционной системе Windows 7 необходим загрузочный носитель, либо флешка с этой системой, хотя, может подойти и любая другая, например, Windows 8;

Загрузитесь с установочного диска/флешки. Должно появиться окно с предложением об установки Windows;

Нам нужна только командная строка, поэтому нажимаем комбинацию клавиш Shift+F10;

  • В окне командной строки нужно ввести команду bootrec . На выходе мы получаем ключи, которые можем использовать с этой командной:
    • Bootrec /FixMbr – мы записываем главную загрузочную запись в системный раздел, а таблица раздела при это не перезаписывается. Применяем при повреждении загрузочной записи;
    • Bootrec /FixBoot – записывает новый загрузочный сектор. Применяется, если загрузочный сектор был заменен, поврежден;
    • Bootrec /ScanOs – ведется сканирование диска на все операционные системы, установленные на диске;
    • Bootrec /RebuildBcd – используется для поиска всех ОС на диске, а также для перестройки хранилища конфигурации загрузки.

Для восстановления загрузочной записи я ввел команду с таким ключом – Bootrec /FixMbr .

После этого я перезагрузил компьютер и все стало работать. Появилась эмблема Windows 10, и я благополучно оказался в системе.

Надеюсь данная статья поможет вам в решении ошибки error no such partition.

источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector