Как исправить «ошибку: неизвестная файловая система. grub rescue>

Введение

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

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

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

Удаляем Grub

Некоторые юзеры затрудняются в вопросе, как удалить Grub, так как он подменяет собой стандартный загрузчик, и при удалении Linux перестают загружаться также и оставшиеся операционные системы. Хотя сам процесс несложный, применимы различные способы, зависящие от установленной второй системы.

Удаление при установленной Windows XP

Если на ПК стоит Windows XP, проблема, как удалить Grub, решается не так быстро, но без особых сложностей. Запустите менеджер жёсткого диска, который удалит программные компоненты, отмеченные ext. Хорошо подходит для процедуры удаления Power Quest PartitionMagic 8.0. Затем вам потребуется восстановление загрузчика Windows для работы ПК после удаления Linux. Действуйте по алгоритму.

С помощью утилиты удалите разделы с меткой ext

  1. Внизу окна приложения цветовое обозначение разделов. Удалив эксплуатируемые Linux, освободите место, оно выделится серым.
  2. Умная машина станет перезагружаться, высветится сообщение: «NTLDR is missing». Оно говорит, что система не может запустить ОС Windows, требуется восстановить файлы.
  3. Запустите консоль восстановления и подключите компакт-диск либо загрузочную флешку.
  4. Консоль запросит указать, в какую копию ОС следует войти. Ставьте «1».
  5. У вас запросят пароль администратора, введите его.
  6. Затем введите команду fixmbr, восстанавливающую таблицы разделов, перезаписывающую загрузочную область.
  7. Консоль выведет предупреждение и запросит подтверждения процесса, введите «Y».
  8. Загрузочная область создаётся, введите затем команду fixboot для записи загрузочного сектора на основной диск.
  9. Подтвердите по запросу операцию, набрав «Y».

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

Удаление при установленных Windows 7, 8

Процедура при установленных Windows 7-8 проще, чем вышеописанная. В данном случае вам не понадобятся загрузочные флешки, запуск консоли. Действуйте по алгоритму:

  1. Заходите в «Пуск» — «Выполнить».
  2. В поле окна открытия утилит впишите list disk, нажмите Enter, после чего увидите список устройств, имеющихся у вашего ПК.
  3. Впишите «select disk №…», указав номер диска с установленным Grub.
  4. Нажмите Enter. Выйдет сообщение о выборе диска.
  5. Вбейте команду «clean» — «Enter».
  6. Появится сообщение об успешной очистке диска.

Если вы уже удалили Linux, то Windows не сможет загрузиться. Поэтому нужен установочный диск или флешка с системой. Настройте BIOS на загрузку с нужного устройства и загрузитесь с диска или флешки. Вместо установки выберите восстановление системы, а затем командную строку. В этой строке введите поочередно такие команды:

  • EXE /FixBoot
  • BOOTREC.EXE /FixMBR

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

Удаление при FreeDos

При установленной FreeDos программу-загрузчик удалить возможно посредством командной строки. Вы просто форматируете диск с загрузочной областью.

  1. Запустите командную строку.
  2. Просмотрите содержание дисков, дав команду «dir».
  3. Обнаружив загрузочный сектор, отформатируйте весь раздел, вбив команду «format» и указав на этой же строчке нужный диск, например, «с:».
  4. После выполнения процедуры Grub будет убран с жёсткого диска.

Удаление Grub4Dos

Если у вас установлен загрузчик Grub4Dos, его удалить легко через командную строку. Набираете там команду «sudo apt-get purge grub2 grub-pc», и Grub удалит себя. Далее с помощью загрузочного диска, специальной консоли выполняете восстановление загрузчика, запуск имеющейся ОС.

Хотя Linux имеет много преимуществ перед другими системами, часто выбирают современные ОС либо устанавливают две системы. Но переходы между ними затруднены, возникают конфликты в программном обеспечении, и приходится удалять такой привычный, удобный Linux. Выше мы подробно описали, каким образом выполнить удаление, не нарушив работы второй системы. Теперь вы сможете, удалив Grub, оставить на ПК только одну ОС; знаете, как восстановить загрузчик Windows. Внимательно выполняйте операции, действуйте по руководству, прилагаемому к загрузчику, и вы успешно сделаете всё необходимое.

Interview

  • Q: Tell us about Rescatux. Where, how and why?
  • A: Before Grub2 was the norm there was Grub which was able to edit minimally your system (install grub on the mbr). I develop a GUI around it named Super Grub Disk, later on I improved it by modifying its source code. But then Grub2 started to be used by default in many distributions. Super Grub2 Disk was born, a GUI around Grub2 but, guess what, it couldn’t install grub on the mbr. So a live cd was needed and I started to tinker with Rescatux around 2010.
  • Q: For those people that still do not know Rescatux, can you please explain what Rescatux is?
  • A: It’s a Debian GNU/Linux based live cd aimed at rescue tasks. It features Rescapp a graphical wizard for helping to recover your system.
  • Q: Why did you choose the Rescatux name?
  • A: In Spanish it might mean Rescate Linux. And in English Rescue a Tux computer. I also wanted one single name (contrary to the three words from Super Grub2 Disk).
  • Q: Who’s in charge of the development?
  • A: Most of the development is done by me, adrian15. Many people have helped all along these almost ten years.
  • Q: What’s the Rescatux target audience?
  • A: GNU/Linux newbies such as Ubuntu users in 2015 and MX Linux users in 2020. It’s also targeted to repair technicians and, of course, distro hoppers.
  • Q: What are the main difficulties on developing Rescatux?

    • A1: Lack of time.
    • A2: When I’m able to build on Debian 9, then Debian 10 appears and I have to rethink all of it.
    • A3: live-build, one of the Debian tools for making live cds was not as good as I needed it to be and I needed to improve it, then push back the changes to upstream.
    • A4: Getting useful feedback from people who uses Rescatux (even having an integrated chat) is difficult.
    • A5: Nobody has steped in to add CI/CD and check if Rescatux always fixes the same problems. We would need something similar to what ReactOS and Tails do on their projects.
    • A6: Lack of contributors. This is not a tool where, as a developer, you can learn useful skills for your everyday work unless you are GNU/Linux repair technician.
    • A7: I prefer QT but Gparted, Firefox and other projects are based on GTK and make Rescatux iso slightly bigger.
    • A8: UEFI, Secure Boot and what not. We live in a time where old BIOS systems and new UEFI systems are available. Both need to be supported and also Secure Boot. And trying to test Secure Boot in a virtual machine is not easy. You cannot use Virtualbox but you need to setup and user KVM/Qemu in special ways. And many UEFI firmwares are not very well programmed.
  • Q: What are the main collaborations or help you received on Rescatux ?
  • A: The most recent contributor is cjg67 which helped a lot on improving written English in Rescapp. It’s also nice that many Linux magazines write articles about it and even record DVDs with Rescatux in them.
  • Q: Can you tell us anything about the Rescatux future?
  • A: Rescapp, the main Rescatux program is stable. It might need some options reorganisation (feedback is welcomed) or some documentation rewriting. But it is stable. My mid term goal on Rescatux is bringing back my work on live-boot, live-build, liveid, chntpw (which I will fork), and rescapp back to Debian. If one such goal is achieved one could be able to install rescapp on a Debian live cd thanks to the apt-get command.

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 в этой статье. Получилось так, что у вас сам загрузочный раздел жив, но сбились его настройки, поэтому он сам не смог загрузить основную систему. Это не трудно исправить и ниже я показываю как.

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

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

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

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

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

Selected Problems and Bugs

External Drive Installs and »grub-pc» Updates

Launchpad Bug 496435 Installs of Ubuntu on external drives can cause problems as grub-install uses device names (e.g. sda, sdb) rather than UUIDs in certain circumstances. If connected to another machine when an update of grub-pc is made, the upgrade may be written to the incorrect device and make the computer unbootable.

A workaround is posted on the bug link above.

External Drive Installs and MBR Selection

When installing Ubuntu to a USB drive, the potential exists for GRUB 2 to write to the hard drive’s MBR or split the installation between the hard drive and the USB drive (rather than completely on the USB device). This can render the main drive unbootable.

Workaround: During the final stages of the install there is an «Advanced» button which allows the user to select the install location. See the bug report for more details.

Boot Partition is in Logical Volume whose Volume Group contains a snapshot

When your boot partition (the one providing /boot) is a LV, make sure not to have any LVM snapshots inside the containing VG. At reboot this will render your system unbootable, dropping you in a «grub rescue>»-shell with the following message: «error: no such disk.»

The grub-rescue-shell provided does not help you, because all modules (esp. lvm) are unreachable. You’ll have to boot from a install medium and remove all snapshots that are in the same VG as your boot partition by hand.

This issue is extremely annoying if your server is in a remote datacenter since the origin of the problem cannot be spotted easily and repairing the system may be hard.

While this will be fixed in the upcoming Maverick Meerkat 10.10 release, the current Lucid Lynx LTS 10.04 is affected.

A workaround would be to install ubuntu using a separated non-LVM partition for /boot if you are using LVM snapshots regularly.

There’s some kind of irony that if you’re careful and take a LVM snapshot before upgrading (and possibly rebooting) your system, this will trigger the bug.

insmod fails with «error: no such disk»

Several grub2 modules, such as the linux-module depends on other modules, which is attempted to be auto-loaded. For this to work, the variable $prefix, must be set to where the grub2 modules can be found. Usually, this is accomplished with the command «set prefix=/boot/grub».

Key Points About Terminal Menu Editing:

  • If the menu is displayed, the automatic countdown may be stopped by pressing any key other than the ENTER key.
  • If the menu is not normally displayed during boot, hold down the SHIFT key as the computer attempts to boot to display the GRUB 2 menu.

    In certain circumstances, if holding the SHIFT key method does not display the menu pressing the ESC key repeatedly may display the menu.

  • Press the ‘e’ key to reveal the selection’s settings.
  • Use the UP/DN/Left/Right cursor keys to navigate to the desired point for editing.
  • Make a single or numerous changes at any spot in the menu. Do not use ENTER to move between lines.

  • TAB completion is available, which is useful in entering kernel and initrd entries.

    • After starting to type the kernel or initrd name, press TAB.
    • If additional characters are not added, look at the bottom of the menu as there may be multiple choices. Add characters until only one entry is visible at the bottom, then TAB again.
  • When editing is complete:
    • CTRL-x or F10 — boot with the changed settings (highlighted for emphasis).

    • CTRL-c or F2 — jump to the command line to perform diagnostics, load modules, change settings, etc.

      If an edit is incomplete and GRUB 2 detects an error in the kernel or initrd line it will return to the line when exiting this mode.

    • ESC — Discard all changes and return to the main menu.

    • The choices are listed at the bottom of the screen as a reminder.
  • Edits made to the menu in this manner are non-persistent. They remain in effect only for the current boot.

    Once successfully booted, the changes can be made permanent by editing the appropriate file, saving the file, and running update-grub as ‘root’.

Как загрузить Kaspersky Rescue Disk через GRUB

  1. Настройте DHCP- и TFTP-серверы.

    Пример настройки DHCP- и TFTP-серверов для PXE-загрузки через dnsmasq в файле /etc/dnsmasq.conf:

#port=0

#DNS on/off

log-dhcp

dhcp-range=192.168.85.0,192.168.85.150,255.255.255.0,12h

dhcp-option=option:router,192.168.85.1

#Set architecture tag for client request

dhcp-match=set:efi-x86_64,option:client-arch,7

dhcp-match=set:efi-x86_64,option:client-arch,9

dhcp-match=set:efi-x86,option:client-arch,6

dhcp-match=set:bios,option:client-arch,0

dhcp-boot=tag:efi-x86_64,»krd/EFI/boot/bootx64.efi»

dhcp-boot=tag:efi-x86_64,» krd/EFI/boot/krd_grub.efi»

dhcp-boot=tag:efi-x86,»krd/EFI/boot/bootia32.efi»

dhcp-boot=tag:bios,»krd/boot/grub/pxe/pxegrub.0″

enable-tftp

tftp-root=/pxeboot

  1. Cкопируйте папку /pxeboot/krd/boot в /pxeboot/boot для ручной PXE-загрузки через GRUB.
  2. Загрузите компьютер с Kaspersky Rescue Disk через PXE, выбрав загрузку с Network Boot. Инструкция в статье.
  3. Выберите язык графического интерфейса и нажмите Enter на клавиатуре.

Если русский интерфейс не заработал, выберите английский.

  1. На этапе выбора графического режима нажмите E на клавиатуре (английская раскладка).

  1. Переместите курсор в конец второй строки в командном окне. Используйте клавиши Влево, Вправо, Вверх, Вниз.
  2. Введите адрес вашего NFS- или HTTP-сервера через пробел после параметра dostartx. Пример:
    • для NFS-загрузки: dostartx netboot=nfs://testsrv:/pxeboot/krd/
    • для HTTP-загрузки: dostartx netboot=http://192.168.85.135/krd/

  1. Нажмите CTRL+X на клавиатуре.

Kaspersky Rescue Disk будет загружен через GRUB.

grub rescue>

The GRUB 2 rescue mode is a major enhancement to the GRUB bootloader. The presence of the grub rescue> prompt signifies that GRUB 2 has failed to find the grub folder, the grub.cfg file, and/or the associated modules. The rescue prompt is presented so the user can provide the path to the grub folder, load the necessary modules, and provide the proper boot commands.

A common reason for the grub rescue> prompt is an incorrect path to the grub folder. Reasons for the prompt also include a failure to update GRUB 2 after certain system or partition operations, improper designation of the grub folder location, missing linux or initrd.img symlinks in /, or a failed installation.

To successfully boot from the grub rescue> prompt:

  • The grub folder must exist and contain the necessary GRUB 2 files and modules.

  • The proper paths must be set via the set prefix command.

    Many GRUB 2 commands will not work until the correct path is set. If the path to the grub folder (normally /boot/grub) is not correct, an unknown command or file not found message is likely.

  • The necessary modules must be loaded.

    The kernel cannot be loaded until the ‘linux’ module is loaded.

  • A Linux kernel and initrd.img must be located and loaded.

Use the section to locate the correct partitions and file locations. Once the user has confirmed the paths and existence of the proper folders using the section, run the following commands:

1. set prefix=(hdX,Y)/boot/grub

Use the values determined earlier.

Example: If the Ubuntu system is on sda5, enter: set prefix=(hd0,5)/boot/grub

2.* set root=(hdX,Y)

Confirm the correct X,Y values and press ENTER.

Example: If the Ubuntu system is on sda5, enter: set root=(hd0,5)

3. insmod normal

Load the normal module.

If the module loads there will be no message.

If the module fails to load, try the full path: insmod (hdX,Y)/boot/grub/normal.mod

4. normal

Transition to the normal GRUB 2 mode with increased functionality.

If the module loads there will be no message.

If the module loads, HELP, TAB completion and command recall using the UP/DN keys should be available.

5. set

(Optional) Review the current settings.

6. insmod linux

Load the linux module. An error message usually means the path is incorrect.

7.* linux /vmlinuz root=/dev/sdXY ro

Selects the latest kernel.

Example: linux /vmlinuz root=/dev/sda5 ro

If the vmlinuz symlink does not exist in /, use the full path to the kernel in /boot

Example: linux /boot/vmlinuz-3.2.0-14-generic root=/dev/sda1 ro

8. initrd /initrd.img

Selects the latest initrd image.

If the initrd symlink does not exist in /, use the full path to the initrd image in /boot

If successful, after ENTER there will be a slight delay and no messages.

9. boot

Boot to the latest kernel on the selected partition.

* Wubi users only — substitute these commands in Steps 2 and 7:

1.set root=(loop0)

2. linux /vmlinuz root=/dev/sdXY loop=/ubuntu/disks/root.disk ro

Some additional considerations:

  • The current prefix and root settings may be checked at any time with the set command. To remove a setting, use the unset command.

    Example: unset prefix

  • Modules must be loaded before they can be used. If a module has not been loaded a unknown command error is displayed. If an incorrect path is specified, a file not found error message may be displayed.

  • The linux module must be loaded to be able to load both the kernel and the initrd image unless the normal module is loaded first.

  • If the modules cannot be found in the /boot/grub folder, the user may be able to load them from the /usr/lib/grub/i386-pc folder. The address if Ubuntu was installed on sda1 would be (hd0,1)/usr/lib/grub/i386-pc and the command would be:

    insmod (hd0,1)/usr/lib/grub/i386-pc/normal.mod

Refer to the section if the system successfully boots.

Как прошить телефон через Fastboot?

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

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

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

Загрузка и восстановление с помощью LiveCD

При использовании любого из альтернативных вариантов загрузки «родной» системы очень полезно сначала узнать (или убедиться), с какого устройства происходит загрузка. Необходимо заранее это выяснить в настройках BIOS компьютера. Это необходимо, если придётся не просто обновить конфигурацию загрузчика, а полностью его переустановить. А для этого очень желательно устанавливать его на то устройство, которому из BIOS передаётся управление для дальнейшей загрузки ОС. Для BIOS материнских плат MSI это выглядит примерно следующим образом:

Рис. 1: BIOS MSI — просмотр и настройка приоритета устройств для загрузки системы.

Как можно видеть, для данной системы загрузочным устройством является SSD-накопитель «Samsung SSD 860 EVO 250 GB». А пока это наименование можно запомнить или где-нибудь записать.

Теперь можно загрузиться с любого Live-образа используя для этого оптический CD/DVD-диск или накопитель USB-Flash

Опуская технические подробности, важно заметить, что для этого должны быть сделаны соответствующие настройки в BIOS компьютера. В качестве Live-образа рекомендуется использовать ту же систему, что и установлена на компьютере

Итак, загрузившись в Live-режиме, первым делом следует запустить командную консоль. Далее, необходимо определить корневой раздел системы, для которой нужно восстановить загрузчик. Это нужно, чтобы войти в программную среду «родной» системы из непосредственно Live-режима и использовать весь доступный инструментарий, в том числе и команды по восстановлению GRUB.

Монтирование корневого и загрузочного раделов

С помощью команды fdisk определяем какой раздел и на каком устройстве используется родной системой как корневой:

Как можно видеть, в системе два диска — sda и sdb. Тут нужно сориентироваться и вспомнить, как размечался диск изначально при установке системы. И определить по данным вывода, какой раздел является корневым. В данном случае это раздел sda2. Его теперь нужно примонтировать командой mount:

Необходимо также примонтировать и раздел /boot

Но очень важно заметить, что если в качестве /boot используется отдельный раздел (а не подкаталог в корневом разделе, как в большинстве современных дистрибутивов, например Ubuntu), то его монтирование будет выглядеть следующим образом:. В данном случае последняя команда приведена условно, как пример

На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости

В данном случае последняя команда приведена условно, как пример. На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости.

Подготовка программной среды для работы

Далее необходимо определить программное окружение среды, указав каталог /mnt и интерпретатор команд:

Эта команда указывает, где должны выполняться команды и какое программное окружение для этого должно использоваться. В данном случае, теперь ядро Live-образа может полноценно работать с ФС родной системы. Используя все её пакеты, команды, файлы и прочие доступные ресурсы.

Восстановление загрузчика

Теперь нужно обновить MBR (главную загрузочную запись) диска, установив на него загрузчик GRUB. Здесь и нужно вспомнить, какой диск является загрузочным, исходя из конфигурации BIOS. Поскольку ранее это уже было определено, то теперь остаётся узнать, как это устройство обозначается в системе. Для этого полезно выполнить следующий скрипт:

Данный скрипт отработает, если в родной системе установлена утилита hdparm. Но поскольку в большинстве Linux-дистрибутивов она предустановлена и доступна «из коробки», то беспокоиться не о чем.

Как можно видеть, устройству «Samsung SSD 860 EVO 250GB», который ранее был определён как загрузочный, соответствует его определение в системе как /dev/sda . Именно на него и следует производить установку GRUB:

Создание файла конфигурации GRUB:

Ну и напоследок можно выполнить:

Если при выполнении команды grub-install возникают какие-либо ошибки, то можно выполнить её с ключом —recheck. Если же всё нормально, то можно выйти из режима chroot командой:

Далее необходимо отмонтировать все ранее примонтированные устройства и ФС:

Если /boot монтировался из отдельного раздела, то его также необходимо отмонтировать:

Ну и наконец, необходимо отмонтировать также и корневой раздел:

Далее можно перезагрузиться без Live-образа (сделав соответствующие настройки в BIOS и снова указав в качестве загрузочного «Samsung SSD 860 EVO 250GB»). И проверить, что GRUB загружает родную систему.

grub>

Terminal Display: The GRUB 2 header/version information and a grub> prompt.

If GRUB 2 leaves you at the grub> prompt, it has normally found the grub folder and loaded at least some basic modules. The configuration file (grub.cfg) may be missing, misnamed, or corrupted.

Quick Fix:

Use the Search & Set section to confirm the correct paths are set. Inspect the contents of the /boot/grub folder. Look for the grub.cfg file. It could be misnamed or missing. If not located in /boot/grub, use the ls command look for another .cfg file or look in /boot or other locations. If you locate the correct .cfg file:

  1. configfile /boot/grub/grub.cfg or configfile (hdX,Y)/boot/grub/grub.cfg

    If a .cfg with another name is located, substitute its path/filename in the command.

    If the configuration file is loaded and not corrupt, when the above command is executed the GRUB 2 menu should appear and the user can make a selection to boot. Once booted into the system, correct the filename or move the configuration file to its proper location. Run update-grub. If the configuration file is not found, a message will be generated and the user must enter the boot commands manually.

Extended Fix:

The following commands should set the root and prefix paths and load the kernel and initrd image. With this information, GRUB 2 does not need a configuration file and should be able to boot the system if the only problem was a corrupted or missing menu.

  • Press ENTER after completing each line. Some entries will not provide feedback. This is normal.

  • If a «file not found» or similar error message is displayed while running these commands, ensure you are using the correct X,Y values and the correct paths are set.

1. set root=(hdX,Y)

Confirm the correct X,Y values and press ENTER.

Example: If the Ubuntu system is on sda5, enter: set root=(hd0,5)

2. linux /vmlinuz root=/dev/sdXY ro

Example: linux /vmlinuz root=/dev/sda5 ro

If the vmlinuz symlink does not exist, use the full path to the kernel in /boot

Example: linux /boot/vmlinuz-3.2.0-14-generic root=/dev/sda1 ro

If successful, after ENTER there will be a slight delay and no messages.

Wubi users only — substitute these commands in Steps 1 and 2:

1.set root=(loop0)

2. linux /vmlinuz root=/dev/sdXY loop=/ubuntu/disks/root.disk ro

3. initrd /initrd.img

Selects the latest initrd image.

If the vmlinuz symlink does not exist, use the full path to the initrd image in /boot

If successful, after ENTER there will be a slight delay and no messages.

4. boot

Boot to the latest kernel on the selected partition.

If the system fails to boot:

  1. Attempt to find the GRUB 2 configuration file. The normal name is grub.cfg file. If not found, look for a misnamed .cfg file or in alternate locations. The menu configuration file may contain settings required for a successful boot (such as non-standard kernel options) even if the paths/filenames are correct.

    1. Use the set command to confirm the correct root and prefix settngs. Also inspect the folders’ actual contents with the ls command. The grub prompt normally means the GRUB 2 folder is intact but doesn’t guarantee the integrity of other system files.

    2. root= should point to the drive and partition on which Ubuntu is installed. If you use the ls / command you should see the main Ubuntu system folders.

If the system boots, please refer to the section

If the system fails to boot, proceed to the ] section for more detailed troubleshooting options.

Как удалить загрузчик 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 завершено, и теперь его файлов больше нет в системе.

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

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

Adblock
detector