How to use grub rescue on ubuntu 18.04 lts

Введение

Есть сильно нагруженная виртуальная машина, для которой нужно было добавить ядер и оперативной памяти. Аптайм у нее был примерно пол года. Ничего не предвещало беды. Я предупредил, что простой будет секунд 30 и ребутнул машину. Как только увидел консоль виртуалки, понял, что дальше начинается веселье с непредсказуемым результатом. Адреналина добавила информация от разработчиков, что бэкапов у них нет 🙂

Machine UUID...
Booting from Hard Disk...
error: disk 'lvmid/....' not found.
Entering rescue mode...
grub rescue>

Для тех, кто еще не знаком с подобным, поясню. Начальный загрузчик не смог найти /boot раздел для продолжения загрузки. Вместо этого он сообщил, что раздел с указанным lvmid, где располагается boot, он не видит и дальше загрузиться не может. Машина находится в режиме grub rescue. Причин появления этого режима может быть много. Мне всегда приходится с чем-то новым сталкиваться, но методика решения проблемы примерно одна, и я дальше о ней расскажу. А потом поясню, что было с этой конкретной виртуалкой.

Поиск разделов ОС для загрузки

Для начала, даем команду

В ответ получаем приблизительно следующее:

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

Я лично произвожу поиск перебором каждого обнаруженного раздела.

Более правильным вариантом считается поиск при помощи

Если вы видите следующие директории

Это корневой раздел, запоминаем его  (hd0,msdos5)

Проверяем, на этом ли разделе находятся файлы ядра

Должна присутствовать директория grub и файлы initrd.img-……-generic и vmlinuz-……-generic

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

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

В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа — с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.

Начнем с того, что вам нужна 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 или Boot Option #1 выберите нужное устройство:

Дальше перейдите на вкладку Exit и выберите Exit & Save settings. Дальше начнется загрузка образа.

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

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

В выводе программы вы видите — разделы всех подключённых к компьютеру дисков, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня корень — /dev/nvme0n1p5 — размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее

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

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

Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как удалить загрузчик Grub в UEFI

Эта проблема тоже решается с помощью утилиты Bootice. Только на это раз вам нужна именно 64-битная версия программы.

Одно из преимуществ UEFI на MBR в том, что здесь можно устанавливать сразу несколько загрузчиков на специальный раздел. Для удаления загрузчика Grub и восстановления функциональности Windows достаточно переместить Grub чуть ниже в очереди загрузки UEFI.

Откройте программу, перейдите на вкладку UEFI и нажмите Edit Boot Enteries. Откроется такое окно:

Здесь у вас есть два варианта действий. Либо опустить Grub ниже загрузчика Widnows кнопкой Down, либо полностью удалить запись о загрузчике кнопкой Del. Но в обоих случаях файлы загрузчика останутся на диске. Полностью удалить загрузчик Grub со всеми его файлами нужно из командной строки. Это немного сложный процесс, но всё же мы его разберём.

Кликните в левом нижнем углу экрана правой кнопкой мыши, в открывшемся контекстном меню выберите Командная строка от имени администратора.

Далее нам понадобится утилита diskpart, все действия мы выполним с помощью неё. Запустите её командой:

Затем смотрим доступные диски:

И выбираем наш единственный диск, на котором сейчас установлена Windows, а раньше была установлена Ubuntu:

После того, как был выбран диск, мы можем посмотреть список разделов на нём:

Среди этих разделов есть и раздел с файлами EFI, для обычной системы он скрыт, но не для этой утилиты. В нашем случае это Volume 2. Как правило, это небольшой раздел с файловой системой FAT32 и отмеченный как системный.

Мы выбрали этот раздел текущим с помощью команды:

Затем назначим ему букву, чтобы можно было с ним работать:

Утилиту можно закрывать. Дальше продолжаем выполнять действия в консоли. Сделать всё с помощью проводника вы не сможете, потому что нужны права администратора. Переходим на диск E:

Переходим в папку EFI:

Удаляем папку с файлами загрузчика Ubuntu:

Готово: удаление загрузчика Grub завершено, и теперь его файлов больше нет в системе.

How to Fix Error: No Such Partition Grub Rescue Windows 11/10

How to fix error no such partition grub rescue on Windows 11/10? Here are practical ways to try out.

Workable Solutions Step-by-step Troubleshooting
Fix 1. Rebuild the MBR and BCD Use EaseUS Partition Master and Windows 11/10 Automatica Repair tool to fix MBR and restore the BCD files to solve Windows 11/10 grub rescue issue…
Fix 2. Restore boot sector code Damaged boot sector code may cause the Windows 11/10 grub rescue error prompt. You should try to restore the boot sector code into consideration…
Fix 3. Configure the active partition Using the Diskpart to configure and set the system partition as active is another effective method to fix error no such partition on Windows 11/10…

Перезагрузка компьютера

Выходим из окружения chroot, для этого выполняем команду:

Отмонтируем все разделы, которые мы примонтировали:

Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:

Если вы монтировали EFI-раздел, отмонтируем:

Отмонтируем корневой раздел:

Перезагружаем компьютер. Для этого выполняем команду:

Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:

  • удерживать клавишу Shift , если у вас классический BIOS;
  • нажать Esc , если у вас UEFI.

Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:

Мне это помололо на компьютере, который использует UEFI.

Final Verdict

You can use the three most effective ways to fix Windows 10 grub rescue problem. You can learn that both Windows Automatic Repair and EaseUS Partition Master can be helpful in resolving the problem.

We highly recommend you use EaseUS Partition Master to help you partition the hard drive correctly. Using the tool is far easier than the manually inputting command lines to fix error no such partition grub rescue on Windows 10.

All you need to do is download and launch the program, select the partition, and then choose precisely what you want to do with it. EaseUS Partition Master allows you to directly transfer space from one drive to another to make full use of disk space.

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

Первый способ

gnome-terminal

Далее необходимо узнать Вашу таблицу разделов. Используйте команду:

sudo fdisk -l

На экран должна быть выведена примерно такая таблица:

/dev/sda3     239616 233392328 233152713 111,2G Microsoft basic data
/dev/sda4  233394176 234438655   1044480   510M Windows recovery environment
...
Disk identifier: 0x7d6fe43d

Device     Boot    Start        End    Sectors   Size Id Type
/dev/sdc1  *        2048   29304782   29302735    14G 83 Linux
/dev/sdc2       29304832 1953523711 1924218880 917,6G 83 Linux

Из таблицы видим, что Linux (загрузочный /-корень отмечен звёздочкой) стоит, в нашем случае, на разделе /dev/sdc1.

Теперь подключим этот раздел в /mnt следующей командой (следим за пропусками между кодами и порядковыми номерами разделов):

sudo mount /dev/sdc1 /mnt

Затем, для записи grub в MBR, вводите следующую команду:

sudo grub-install --root-directory=/mnt /dev/sdc

В случае, если нужно только восстановить MBR диска (например, после переустановки Windows), то этого достаточно, закрываем терминал и перезагружаем.

Если нужно обновить и меню grub (например, после установки Windows), то нужно сделать:

sudo update-grub --output=/mnt/boot/grub/grub.cfg

Восстановление закончено!

Восстановление используя chroot

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

Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys  /mnt/sys

Если раздел /boot или /var находится отдельно, то Вам необходимо примонтировать их в /mnt/boot и /mnt/var

sudo chroot /mnt

Теперь необходимо установить GRUB, используя команду:

grub-install /dev/sda

Если Вы получили сообщение об ошибке, то используйте команду:

grub-install --recheck /dev/sda

Также в некоторых случаях может помочь вариант:

grub-install --recheck --no-floppy /dev/sda
exit

Теперь необходимо отмонтировать разделы:

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

Если Вы монтировали раздел /boot воспользуйтесь командой:

sudo umount /mnt/boot

Затем перезагрузим Ваш компьютер командой:

sudo reboot

При необходимости Вы можете обновить меню загрузчика командой:

sudo update-grub

Как исправить ошибку 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.

Нередко возникает необходимость в установке двух принципиально разных операционных систем на один компьютер: Windows и Linux. Разумеется, подобное «соседство» будет связано с некоторыми неудобствами. Для установки, как правило, используют специальную программу GRUB. Но к сожалению, при её использовании можно столкнуться с рядом ошибок. В этой статье разберёмся с тем, как исправить ошибки загрузчика GRUB. Давайте же начнём. Поехали!

Для начала давайте определимся с тем, что из себя представляет эта программа. GRUB — представляет собой системный загрузчик, устанавливающийся непосредственно с Линукса и записывающий все данные на первый раздел диска (MBR).

Сам rescue mode является отличительной чертой GRUB 2 от его предыдущей версии. Этот режим запускается, если программе-загрузчику не удалось найти файл «grub.cfg» либо не удалось передать управление в kernel (ядро). В итоге не удаётся найти загрузочные файлы и запустить операционную систему. Именно тогда и возникает ошибка.

Следуйте инструкциям ниже, чтобы узнать, как решить проблему с GRUB

Entering rescue mode

Итак, в случае проблем с загрузкой Ubuntu вы можете оказаться в режиме grub rescue.

Machine UUID...
Booting from Hard Disk...
error: no such partition.
Entering rescue mode...
grub rescue>

Это может символизировать как простую ошибку, которую легко исправить, так и серьезные проблемы. Рассказываю, что нужно делать в таком случае и как починить загрузку системы.

Первым делом запускаем команду ls и смотрим, какие разделы у нас доступны.

> ls
(hd0) (hd0,gpt3)

В моем случае доступен только один 3-й раздел, скорее всего корневой. Раздела /boot, который обычно 1-й или 2-й нет. Проверим это наверняка. Смотрим содержимое доступного раздела:

> ls (hd0,gpt3)/

По содержимому раздела видно, что это корневой. Самого раздела /boot, с которого должна начинаться загрузка  ubuntu тут не видно. Если его никто специально не удалял и не затирал, то он пропал в результате какого-то сбоя или ошибки. Можно попробовать это исправить. Сделаем это отдельно ниже, а пока рассмотрим случай, когда boot раздел тут все же присутствует и имеет имя, к примеру, (hd0,gpt2). Тогда там же в консоли grub продолжаем.

> set prefix=(hd0,gpt2)/grub 
> set root=(hd0,gpt2)

Далее загружаем некоторые модули. Какие будут нужны, точно не известно и зависит от типов разделов диска. Показываю самые популярные:

> insmod ext2
> insmod lvm
> insmod part_msdos

Можно для начала попробовать вообще без модулей, а потом добавлять по одному. В самом конце загружаем модуль normal.

> insmod normal
> normal

После этого у вас должно открыться стандартное меню загрузки Ubuntu. Если это так, то вам повезло. Дальше загрузится система. Вам нужно будет в нее зайти и далее перейти в раздел по восстановлению grub в этой статье. Получилось так, что у вас сам загрузочный раздел жив, но сбились его настройки, поэтому он сам не смог загрузить основную систему. Это не трудно исправить и ниже я показываю как.

Final Verdict

You can use the three most effective ways to fix Windows 10 grub rescue problem. You can learn that both Windows Automatic Repair and EaseUS Partition Master can be helpful in resolving the problem.

We highly recommend you use EaseUS Partition Master to help you partition the hard drive correctly. Using the tool is far easier than the manually inputting command lines to fix error no such partition grub rescue on Windows 10.

All you need to do is download and launch the program, select the partition, and then choose precisely what you want to do with it. EaseUS Partition Master allows you to directly transfer space from one drive to another to make full use of disk space.

Further reading: how to fix error no such partition grub rescue on Linux Ubuntu

We have discussed how to deal with error no such partition grub rescue on Windows 10. Actually, the error can also happen after resizing Ubuntu partition, restoring Ubuntu OS to an old version or reinstall Ubuntu OS. Then, how to fix no such partition error on Ubuntu?

Step 1. Boot Ubuntu from a bootable live CD/DVD. Run “grub rescue>ls” to list all partitions. Then, you can run the following commands to list file system of partition

  • grub rescue> ls (hd0,1)

  • grub rescue> ls (hd0,2)

  • grub rescue> ls (hd0,…)

Note: Remember the partition whose file system is normal rather than unknown (here is hd0 msdos3).

Step 2. Run commands below:

  • grub rescue> set root=(hd0,3)

  • grub rescue> set prefix=(hd0,3)/boot/grub

  • grub rescue>insmod(hd0,3) /boot/grub/normal.mod

  • grub rescue> normal

Step 3. Then, reboot your computer and enter Ubuntu Linux; then run the following commands:

  • sudo update-grub

  • sudo grub-install /dev/sda

Step 4. You can reboot your PC to see if the issue is resolved.

Восстановление загрузочной записи windows

Загрузчик Grub, это загрузчик, который используется по умолчанию в большинстве дистрибутивов Linux. Grub расшифровывается как GRand Unified Bootloader, он поддерживает загрузку не только Linux, но и Widnows и DOS.

Если вы устанавливали Linux, а потом, по каким-либо причинам решили его удалить и вернуть Windows, или создали загрузочную флешку Linux, но теперь она вам больше не нужна, нужно удалить загрузчик Grub. В этой инструкции мы рассмотрим, как удалить загрузчик Grub из MBR или из UEFI также поговорим о том как удалить Grub с флешки.

Как удалить загрузчик Grub и восстановить Windows

Если на вашем компьютере установлено две операционные системы, Windows и Linux и вы хотите стереть Linux и его загрузчик, восстановив загрузчик Widows, и у вас используется таблица MBR, то это сделать очень просто.

В сети часто советуют способ взять установочный диск Windows, загрузиться с него в режиме восстановления и выполнить команды:

bootrec fixboot

Это действительно ответ на вопрос как удалить grub и восстановить загрузчик windows и он работает. Но есть способ намного проще. Вам даже не придется перезагружать компьютер. Утилита Bootice позволяет восстановить загрузчик Windows и удалить Grub с жесткого диска в несколько кликов.

Затем Windows NT 5.x / 6.x MBR:

И нажмите кнопку Config / Install:

И готово, вы смогли успешно полностью удалить загрузчик Grub. Можете перезагружаться и проверять.

Как удалить загрузчик Grub в UEFI

Эта проблема тоже решается с помощью утилиты Bootice. Только на это раз вам нужна именно 64 битная версия программы.

Одно из преимуществ UEFI на MBR в том, что здесь можно устанавливать сразу несколько загрузчиков на специальный раздел. Для удаления загрузчика Grub и восстановления функциональности Windows достаточно переместить Grub чуть ниже в очереди загрузки UEFI.

Откройте программу, перейдите на вкладку UEFI, и нажмите Edit Boot Enteries. Откроется такое окно:

Здесь у вас есть два варианта действий. Либо опустить Grub ниже загрузчика Widnows, кнопкой Down, либо полностью удалить запись о загрузчике кнопкой Del. Но в обеих случаях файлы загрузчика останутся на диске. Полностью удалить загрузчик Grub со всеми его файлами нужно из командной строки. Это немного сложный процесс, но все же мы его разберем.

Кликните в левом нижнем углу экрана правой кнопкой мыши, в открывшемся контекстном меню выберите Командная строка от имени администратора.

Затем смотрим доступные диски:

И выбираем наш единственный диск, на котором сейчас установлена Windows, а раньше была установлена Ubuntu:

После того как был выбран диск, мы можем посмотреть список разделов на нем

Среди этих разделов есть и раздел с файлами EFI, для обычной системы он скрыт, но не для этой утилиты. В нашем случае это Volume 2. Как правило, это небольшой раздел с файловой системой FAT32 и отмеченный как системный:

Мы выбрали этот раздел текущим с помощью команды:

Затем назначим ему букву, чтобы можно было с ним работать:

assign letter=D:

Переходим в папку EFI:

Удаляем папку с файлами загрузчика Ubuntu:

Готово, удаление загрузчика Grub завершено и теперь его файлов больше нет в системе.

Как удалить Grub с флешки

На флешках, как правило, используется таблица разделов MBR. Чтобы удалить загрузчик Grub с флешки недостаточно просто ее отформатировать. Загрузчик записывается в таблицу MBR, а поэтому нам придется ее пересоздать. Очень не рекомендую использовать этот способ для удаления загрузчика Grub с жесткого диска, потому что вы потеряете все данные.

Работать будем в системе Linux. Сначала посмотрите какое имя устройства у вашей флешки, например, с помощью программы Gparted или в терминале, командой:

Затем удалим полностью существующую таблицу разделов:

dd if=/dev/zero of=/dev/sdc count=512

Теперь, с помощью той же Gparted создаем новую таблицу разделов:

Создаем раздел на флешке и форматируем в файловую систему FAT32:

Теперь вы знаете как удалить mbr с флешки, только не сотрите mbr с жесткого диска, потому что потом будет сложно восстанавливать.

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

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

Adblock
detector