GRUB всемогущий, или Делаем загрузочную флешку. Восстановление с помощью chroot

Версия программы: 2.01 RC3
Язык интерфейса: Английский
Платформа: x86 / x64
Разработчик: Grub2 Disk
Лекарство: Не требуется (Freeware)
Системные требования:

Описание:
Super Grub2 Disk - универсальный.ISO образ диска для восстановления загрузчика и запуска операционной системы, установленных на жёстком диске. Если случилось так, что ваша ОС не может быть загружена, так как загрузчик систем поврежден, в такой ситуации надо принимать меры. Для того, чтобы решить задачу есть разные утилиты, они позволят загрузить ОС и восстановить загрузчик, в данном случае вам предлагается Super Grub2 Disk

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

Основной задачей утилиты является восстановление поврежденного или уничтоженного загрузчика. Вторая задача максимально близко познакомиться с загрузчиком GRUB2 и тем как происходит процесс загрузки ОС.

Super Grub2 Disk подходит и для записи на cd-диск и на usb.

Detect any OS
Выбрав эту функцию SG2D (Super GRUB2 Disk) начнет сканировать все разделы на всех дисках с целью обнаружить операционные системы и затем создаст меню, где можно будет выбрать любую из найденных ОС для ее последующего запуска.
Если Вы захотите просмотреть команды или отредактировать пункт меню, можете нажать клавишу "e" и затем комбинацию "ctrl+x" для запуска на выполнение.

Поддерживаются следующие OS:
- GNU/Linux (хотя на момент написания этого мануала поддержка раздельных /boot разделов не реализована);
- FreeBSD;
- Mac OSX/Darwin;
- Microsoft Windows - все версии;

Detect any GRUB2 configuration file (grub.cfg)
Функция для поиска файла "grub.cfg" на всех разделах и создания меню для выбора конкретного "grub.cfg" файла из всех найденных. Это может быть полезно, когда установка GRUB2 каким-то образом была повреждена, но конфигурационный файл остался невредим. Загрузка файла "grub.cfg" приведет к загрузке родного меню GRUB2 в оболочке Super GRUB2 Disk.

Detect any GRUB2 installation (even if mbr is overwritten)
Эта функция служит для поиска инсталяционных файлов GRUB2 (файлов "core.img", специфических для GRUB2) на всех разделах и создания меню для выбора конкретного файла из всех найденных. Это может быть полезным, если ваш MBR был перезаписан системой MS Windows, но инсталляция GRUB2 все же работоспособна. Загрузка файла "grub.cfg" (как в описании предыдущего пункта меню) обычно тоже позволит Вам загрузиться, но все же могут быть проблемы, если используются функции из более новой версии GRUB2, чем та, которая используется в текущем Super GRUB2 Disk. Загружая же файл "core.img" из GRUB2 через этот пункт меню, приведет к загрузке GRUB2 именно из вашего текущего пакета, как будто MBR не бала повреждена и загрузка прошла нормально.

Detect loop bootable isos (in /boot-isos or /boot/boot-isos/)
Множество дистрибутивов GNU/Linux LiveCD поддерживают многократную загрузку с ISO файла, т.е. когда возможно загружаться с ISO файла без необходимости его записи на CD.
Данная функция производит поиск директорий "/boot-isos/" или "/boot/boot-isos/" по всем разделам диска. Затем производится поиск ".iso" файлов в этих директориях и создает меню для выбора конкретного ".iso" файла из всех найденных. Однако не все файлы ".iso" могут быть использованы для многократной загрузки.

На момент написания статьи поддерживаются следующие дистрибутивы:
- Grml;
- Parted Magic;
- Sidux;
- Slax Tinycore;
- Ubuntu;
- SystemRescueCd;
- любые дистрибутивы, которые поставляются с файлами Loopback.cfg;

Enable GRUB2"s LVM support
Данная опция позволяет включить поддержку GRUB2 LVM с "insmod lvm", и если ваш раздел "/boot" расположен на LVM, то Вы должны выбрать эту опцию ПРЕЖДЕ, чем запустить любую функцию из меню, описанную выше, содержащую в названии "Detect...".
Если же Вы не знаете, что собой представляет LVM, то это Вас особо и не должно касаться, и Вы просто напросто можете проигнорировать эту опцию.

Enable GRUB2"s RAID support
Эта опция включает поддержку RAID для GRUB2. Если раздел "/boot" вашей ОС располагается на RAID, то Вам необходимо выбрать эту опцию ПЕРЕД использованием любой функции, описанной выше, содержащей в названии "Detect...".
Если Вы не знаете что собой представляет RAID, то просто напросто можете проигнорировать эту опцию.
При использовании RAID1 загрузчик GRUB сможет читать отдельные части массива даже без загруженных модулей RAID.

Enable GRUB2"s PATA support (to work around BIOS bugs/limitations)
До сих пор на многих компьютерах может присутствовать недоработанный BIOS, который не может корректно работать с дисками большого объема. При этом GRUB может выдавать ошибки типа "out of disk" когда Вы пытаетесь загрузиться с диска большого объема не имея при этом отдельного раздела "/boot" небольшого размера, расположенного в самом начале диска.
Однако у GRUB2 имеются в наличии собственные драйверы для прямого доступа к дискам в обход BIOS. Поэтому ограничения в BIOS не будут препятствовать доступу к любой части диска независимо от его объема.

Таким образом, если у Вас проблемы при загрузке из-за ошибок типа "out of disk", выбор этой опции позволит загрузиться без проблем.
Для установки GRUB2 с поддержкой ATA, чтобы избавиться от вышеупомянутых проблем, используйте команду:

# grub-install --disk-module=ata

На данный момент GRUB2 поддерживает только старые приводы типа PATA (ATAPI или IDE). Если же у Вас привод SATA, то данная опция будет бесполезна, однако и мала вероятность того, что у новых BIOS с поддержкой SATA будут проблемы.

Enable GRUB2"s USB support *experimental*
Многие BIOS-ы до сих пор не поддерживают загрузку с USB, но с этой опцией Вы сможете использовать Super GRUB2 Disk (загруженный с дискеты, CD или другого устройства, которое BIOS поддерживает) для того, чтобы загрузить вашу ОС с USB, используя собственные драйверы GRUB2, т.е. в обход ограничений BIOS,
Эта опция только позволит вам загружать свободные ОС, такие как GNU/Linux или FreeBSD, и не может использоваться для загрузки Windows с USB-устройства. Эта функциональность пока находится на стадии "экспериментальной".

Enable serial terminal
Данная опция включает поддержку GRUB2 "serial console", используя параметры по умолчанию. Она может использоваться для отладки, сохраняя сообщения об ошибках в логах. Если же параметры по умолчанию не подходят под ваши serial-девайсы, то Вы можете изменить конфигурацию вручную, используя команду "serial" в соответствии с документацией

Если Вы не представляете себе, что такое "serial console", то просто проигнорируйте эту опцию.

List devices/partitions
Эта функция отобразит все Ваши устройства и разделы на них, которые GRUB2 сможет прочитать. Там же будет и информация о файловых системах на каждом устройстве. А так-как GRUB2 использует единственный модуль "ext2.mod" для поддержки "ext{2,3,4}", то любая "extN" файловая система будет отображаться как "ext2".

osdetect: Linux entry now shows its device
osdetect: Mac OS X/Darwin entry now shows its device
Fixed wrong EFI files detection
supergrub-meta-mkrescue now builds standalone images for: x86_64-efi, i386-efi, i386-coreboot and i386-ieee1275
Bug Fix: Fix gfxterm trigger. Now translation work as expected. Special characters are shown ok
Spanish (es) translation was updated to match the new options
Translations files were updated to reflect new strings
Code was fixed so that all the visible strings can be translated
Minor design improvements

Скриншоты:




Super Grub2 Disk - универсальный.ISO образ диска для восстановления загрузчика и запуска операционной системы, установленных на жёстком диске. Если случилось так, что ваша ОС не может быть загружена, так как загрузчик систем поврежден, в такой ситуации надо принимать меры. Для того, чтобы решить задачу есть разные утилиты, они позволят загрузить ОС и восстановить загрузчик, в данном случае вам предлагается Super Grub2 Disk

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

Основной задачей утилиты является восстановление поврежденного или уничтоженного загрузчика. Вторая задача максимально близко познакомиться с загрузчиком GRUB2 и тем как происходит процесс загрузки ОС.

Функции и опции меню Super Grub2 Disk:
- Detect any OS
Выбрав эту функцию SG2D (Super GRUB2 Disk) начнет сканировать все разделы на всех дисках с целью обнаружить операционные системы и затем создаст меню, где можно будет выбрать любую из найденных ОС для ее последующего запуска.
Если Вы захотите просмотреть команды или отредактировать пункт меню, можете нажать клавишу "e" и затем комбинацию "ctrl+x" для запуска на выполнение.

Поддерживаются следующие OS:
- GNU/Linux (хотя на момент написания этого мануала поддержка раздельных /boot разделов не реализована);
- FreeBSD;
- Mac OSX/Darwin;
- Microsoft Windows - все версии;

- Detect any GRUB2 configuration file (grub.cfg)
Функция для поиска файла "grub.cfg" на всех разделах и создания меню для выбора конкретного "grub.cfg" файла из всех найденных. Это может быть полезно, когда установка GRUB2 каким-то образом была повреждена, но конфигурационный файл остался невредим. Загрузка файла "grub.cfg" приведет к загрузке родного меню GRUB2 в оболочке Super GRUB2 Disk.

- Detect any GRUB2 installation (even if mbr is overwritten)
Эта функция служит для поиска инсталяционных файлов GRUB2 (файлов "core.img", специфических для GRUB2) на всех разделах и создания меню для выбора конкретного файла из всех найденных. Это может быть полезным, если ваш MBR был перезаписан системой MS Windows, но инсталляция GRUB2 все же работоспособна. Загрузка файла "grub.cfg" (как в описании предыдущего пункта меню) обычно тоже позволит Вам загрузиться, но все же могут быть проблемы, если используются функции из более новой версии GRUB2, чем та, которая используется в текущем Super GRUB2 Disk. Загружая же файл "core.img" из GRUB2 через этот пункт меню, приведет к загрузке GRUB2 именно из вашего текущего пакета, как будто MBR не бала повреждена и загрузка прошла нормально.

- Detect loop bootable isos (in /boot-isos or /boot/boot-isos/)
Множество дистрибутивов GNU/Linux LiveCD поддерживают многократную загрузку с ISO файла, т.е. когда возможно загружаться с ISO файла без необходимости его записи на CD.
Данная функция производит поиск директорий "/boot-isos/" или "/boot/boot-isos/" по всем разделам диска. Затем производится поиск ".iso" файлов в этих директориях и создает меню для выбора конкретного ".iso" файла из всех найденных. Однако не все файлы ".iso" могут быть использованы для многократной загрузки.

На момент написания статьи поддерживаются следующие дистрибутивы:
- Grml;
- Parted Magic;
- Sidux;
- Slax Tinycore;
- Ubuntu;
- SystemRescueCd;
- любые дистрибутивы, которые поставляются с файлами Loopback.cfg;

- Enable GRUB2"s LVM support
Данная опция позволяет включить поддержку GRUB2 LVM с "insmod lvm", и если ваш раздел "/boot" расположен на LVM, то Вы должны выбрать эту опцию ПРЕЖДЕ, чем запустить любую функцию из меню, описанную выше, содержащую в названии "Detect...".
Если же Вы не знаете, что собой представляет LVM, то это Вас особо и не должно касаться, и Вы просто напросто можете проигнорировать эту опцию.

- Enable GRUB2"s RAID support
Эта опция включает поддержку RAID для GRUB2. Если раздел "/boot" вашей ОС располагается на RAID, то Вам необходимо выбрать эту опцию ПЕРЕД использованием любой функции, описанной выше, содержащей в названии "Detect...".
Если Вы не знаете что собой представляет RAID, то просто напросто можете проигнорировать эту опцию.
При использовании RAID1 загрузчик GRUB сможет читать отдельные части массива даже без загруженных модулей RAID.

- Enable GRUB2"s PATA support (to work around BIOS bugs/limitations)
До сих пор на многих компьютерах может присутствовать недоработанный BIOS, который не может корректно работать с дисками большого объема. При этом GRUB может выдавать ошибки типа "out of disk" когда Вы пытаетесь загрузиться с диска большого объема не имея при этом отдельного раздела "/boot" небольшого размера, расположенного в самом начале диска.
Однако у GRUB2 имеются в наличии собственные драйверы для прямого доступа к дискам в обход BIOS. Поэтому ограничения в BIOS не будут препятствовать доступу к любой части диска независимо от его объема.

Таким образом, если у Вас проблемы при загрузке из-за ошибок типа "out of disk", выбор этой опции позволит загрузиться без проблем.
Для установки GRUB2 с поддержкой ATA, чтобы избавиться от вышеупомянутых проблем, используйте команду:

# grub-install --disk-module=ata

На данный момент GRUB2 поддерживает только старые приводы типа PATA (ATAPI или IDE). Если же у Вас привод SATA, то данная опция будет бесполезна, однако и мала вероятность того, что у новых BIOS с поддержкой SATA будут проблемы.

- Enable GRUB2"s USB support *experimental*
Многие BIOS-ы до сих пор не поддерживают загрузку с USB, но с этой опцией Вы сможете использовать Super GRUB2 Disk (загруженный с дискеты, CD или другого устройства, которое BIOS поддерживает) для того, чтобы загрузить вашу ОС с USB, используя собственные драйверы GRUB2, т.е. в обход ограничений BIOS,
Эта опция только позволит вам загружать свободные ОС, такие как GNU/Linux или FreeBSD, и не может использоваться для загрузки Windows с USB-устройства. Эта функциональность пока находится на стадии "экспериментальной".

- Enable serial terminal
Данная опция включает поддержку GRUB2 "serial console", используя параметры по умолчанию. Она может использоваться для отладки, сохраняя сообщения об ошибках в логах. Если же параметры по умолчанию не подходят под ваши serial-девайсы, то Вы можете изменить конфигурацию вручную, используя команду "serial" в соответствии с документацией

Если Вы не представляете себе, что такое "serial console", то просто проигнорируйте эту опцию.

List devices/partitions
Эта функция отобразит все Ваши устройства и разделы на них, которые GRUB2 сможет прочитать. Там же будет и информация о файловых системах на каждом устройстве. А так-как GRUB2 использует единственный модуль "ext2.mod" для поддержки "ext{2,3,4}", то любая "extN" файловая система будет отображаться как "ext2".

Super Grub2 Disk подходит и для записи на cd-диск и на usb.

Изменения в Super Grub2 Disk 2.02s6 Stable

Added Russian language
Improved Arch Linux initramfs detection
Added i386-efi build support
Most of you won’t need this image. There are very few machines which specificially need i386-efi boot.
Added i386-efi to the hybrid iso
Now the hybrid iso is even more powerful by being able to autodetect i386-efi and load its modules.
Grub itself is translated when a language is selected.
That means that the strings about such as “Use the up and down keys to select …” from grub itself will be also translated into your own language (if upstream Grub2 supports it)
Added loopback.cfg file (non officially supported)
Some people would like to be able to chainload into Super Grub2 Disk scripts from another Super Grub2 Disk or a custom Grub2 Disk. Now you can do it by doing a configfile to our loopback.cfg. However this way of working is not officially supported. So do not ask for support if it does not work as you expect to.

Различные PEtoUSB , есть более универсальные как в этом топике . Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

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

Образы антивирусов не все удалось нормально «подселить» на флешку, если кто то сможет и поделится опытом буду рад (сам давно их не качал, возможно в последних версиях это уже делается сильно проще). В образе от Dr.Web, например, лежит даже инструкция по установке на флешки.
Для справки Live образы антивирусов:
Dr.Web
BitDefender
Avast! уже платный:(
Symantec NAV
Panda
Avira

8. DOS. Тут стоит разделить, если нам нужен ДОС для какой то серьезной работы, то имеет смысл найти DOS-Live образы, например этот , и грузить как в п.3. Мы же запускаем DOS что бы потом из него запустить установку Windows XP. От ДОСа нам понадобятся:
AUTOEXEC.BAT
COMMAND.COM
CONFIG.SYS
EMM386.EXE
HIMEM.SYS
IO.SYS
SMARTDRV.EXE

Желательно, но не обязательно:
Mouse.com
MOUSE.INI
OAKCDROM.SYS

Копируем все это в корень флешки, а в menu.lst добавляем
title DOS (Install WinXP?)
root (hd0,0)
makeactive
chainloader /io.sys
Тут можно либо насладиться DOS, либо заранее в AUTOEXEC.BAT прописать (файл ответов конечно по желанию):
smartdrv
cd \WinXP\i386
winnt /U:\WinXP\i386\winnt.sif

9. Установка Windows 7. Как уже писал выше достаточно разархивировать ISO в корень флешки, а в menu.lst добавить (уже с hd0,0 )
root (hd0,0)
chainloader /bootmgr
boot

10. Ну и для ровного счета расскажу еще об одном типе утилит. Некоторые (не все!) ISO образы могут быть загружены прямо из grub. Среди таких у меня нашлись: Acronis True Image, Acronis Disk Director, Active Password Changer. Это особым образом подготовленные образы (не простой слепок с CD), их загружать следующим образом:
title Active Password Changer
map (hd0,0)/Pwdchanger.iso (hd32)
map --hook
chainloader (hd32)

Удаление

Что делать если случайно установили grub в MBR основного диска, а не флешки, либо нужно удалить с флешки? Можно воспользоваться утилитой bootsect.exe как я писал выше.
В случае если еще не перезагрузились (если перезагрузились, то при помощи grub загрузите Windows, способом описанным выше), и запустите bootsect.exe
Для восстановления Windows XP bootsect /nt52 c: /mbr
Для восстановления Windows Vista/7 bootsect /nt60 c: /mbr
bootsect находится в папке boot диска Windows, а так же есть в моем выложенном архиве в конце статьи.
Флешку же достаточно просто отформатировать.

Заключение

Надеюсь что примеры помогут кому то разобраться, а кому то заинтересоваться данным загрузчиком, а утилиты для создания загрузочных флешек будут вызывать улыбку (ни кого не хочу обидеть, уважаю всех разработчиков, больше того сам с таких утилит начинал). Ну и конечно же очень рекомендую изучить подробнее сам grub, и GRUB4DOS, например вот

** New - Automatic Linux partition scan **

** New - Add your own theme images and icons **

** All Executables are SSL Signed **

Grub2Win supports 64 and 32 bit EFI and BIOS on Windows 10, 8, 7 and XP.

Safely dual boot Windows and Linux from GPT or MBR disks.

Grub2Win boots native GNU Grub version 2 code. Everything is contained in a single 20 MB directory on your Windows C: drive. On EFI systems a few small modules are installed to your EFI partition.

Using the simple Windows GUI and instructions you can install Grub2Win quickly and safely.

Select from many OS choices. Supports Antergos, Android, Ubuntu, Debian, Suse, Fedora, Mint, Clover and Windows. Also boots ISO files.

You can enter your own custom commands for each menu entry.

Grub2Win began in 2010. It is now used in 180 countries worldwide and has been downloaded more than 400,000 times.

If you find Grub2Win useful, please consider making a small donation to be used for hardware and testing

Features

  • Supports 64 and 32 bit EFI as well as BIOS firmware.
  • Installs to Windows 10, 8, 7 and XP.
  • Requires just one directory on the Windows C: drive, about 20 MB disk space.
  • Works with all languages. Boot time help is available in 30 languages.
  • Simple Windows GUI easily sets up Grub2Win in seconds.
  • Lets you set your EFI firmware boot order from within Windows.
  • Preview and customize the 9 included graphic background themes.
  • Works with all filesystems including Mac hfs and Btrfs.
  • Can search for and boot a partition by it"s label. Supports advanced scripting.
  • Works with both GPT and MBR disks - up to 128 primary partitions per drive.
  • Supports extremely large (over 40 TB) disks and partitions.
  • No registry changes.
  • Safely multiboot Windows, Antergos, Android, Ubuntu, Debian, Suse, Fedora, Mint, Clover and more.
  • Grub customization is done from Windows - Configuration in Linux is not required.
  • Runs open source GNU Grub 2.02 code. Frequent releases and enhancements.
  • Digitally signed code. No adware or spyware - No hassles... It just works.

Project Samples






Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.

Что такое Grub

Grub (или GRand Unified Bootloader) - загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего - основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите , вам определенно понадобится помощь Grub.

Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно - узнаете далее.

От чего могут возникнуть проблемы

Одна из самых распространенных причин - это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК - вам непременно стоит знать правильную последовательность:

  • Сначала устанавливаем Windows
  • И только потом уже Linux

Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.

Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.

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

Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.

Как создать LiveCD/USB

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

Идем на официальную страницу загрузки . Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.

С помощью Rufus:

Последняя версия приложения доступна на официальном сайте . Сразу после загрузки и запуска/установки мы увидим такое окно:

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

Находим загруженный образ через менеджер, после чего жмем "Старт".

С помощью Etcher:

Опять же, идем на официальный сайт , где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:

Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

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

Sudo fdisk -l

Примерно такая таблица будет выведена на экран:

По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.

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

Sudo mount /dev/sda1 /mnt

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

Sudo grub-install --root-directory=/mnt /dev/sda

Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.

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

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

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

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

Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.

Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:

Sudo fdisk -l

В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.

/dev/sda1 27 7683 66999082+ 83 Linux /dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS /dev/sda3 11885 16574 6503497 5 Extended

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

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

Если все прошло успешно, выходим из chroot, используя команду:

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

В случае, если вы монтировали раздел /boot введите команду:

Sudo umount /mnt/boot

Теперь перезагружаем систему с помощью:

Sudo reboot

Можно также обновить меню Grub, используя команду:

Sudo update-grub

Восстановление Grub в rescue mode

Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.

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

Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).

Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:

Ls set unset insmod

Для начала вводим следующую команду:

В выводе будет что-то подобное:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.

В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела - (hd0,1). Используем следующую команду:

Set prefix=(hd0,1)/boot/grub set root=(hd0,1)

С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:

Ls /boot/grub

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

Insmod ext2 insmod normal normal

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

Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:

Grub-install /dev/sdX

sdX - диск, на который должен быть установлен Grub.

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

Set prefix=(hd0,1)/@/boot/grub set root=(hd0,1)

И подгрузить модули:

Insmod btrfs insmod normal

Ну и теперь запустить GRUB:

Восстановление Grub с помощью утилиты Boot repair

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

Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:

  • Запись и установка специального (и дальнейшая загрузка с него)
  • Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.

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

Sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update && sudo apt-get install -y boot-repair

В утилите будет доступно два варианта на выбор:

Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.

Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.

Здесь же есть и Advanced options . Он включает в себя варианты для восстановления и настройки загрузчика Grub 2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.

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

Выводы

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

Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить . Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.




Top