Как починить GRUB2 если Ubuntu не хочет загружаться. Лекарство для GRUB

Восстановление GRUB – достаточно распространенная операция, с которой приходится сталкиваться многим. Загрузчик повреждается или затирается при установке Windows в качестве второй системы. Не имеет значения, какая сборка Linux стоит – Ubuntu, Mint, Debian или любая другая: восстановить GRUB можно через терминал или с помощью специальной утилиты.

Восстановление через терминал

Windows не дружит с Linux, поэтому если вы ставите систему от Microsoft после Ubuntu, Mint 17 или другой линуксовской сборки, то будьте готовы к тому, что загрузчик затрется. Чтобы не теряться в этой ситуации, распечатайте инструкцию и храните её возле компьютера.

После перезаписи загрузчика необходимо перезагрузить компьютер, используйте команду «sudo reboot». После перезагрузки должно появиться окно выбора операционной системы. Если GRUB был перезаписан в результате установки новой версии Windows, но в окне выбора системы продолжает отображаться старая версия, то нужно выполнить обновление загрузочной записи. Для этого загрузитесь в Ubuntu и выполните в терминале команду «sudo update-grub».

Использование утилиты восстановления

Если работа с терминалом кажется сложной, можно автоматизировать процесс восстановления, использовав специальную утилиту boot-repair.

Запустите сборку Linux с флешки или диска. Откройте терминал и выполните последовательно три команды:

  • sudo add-apt-repository ppa:yannubuntu/boot-repair.
  • sudo apt-get update.
  • sudo apt-get install boot-repair.

Установленная программа будет иметь название «Восстановление загрузчика». Запустите утилиту (выполните «boot-repair» в консоли) и выберите режим работы. Новичкам подойдет «Рекомендуемый способ восстановления». После запуска этого режима GRUB будет автоматически восстановлен.

Есть и топорный способ восстановления GRUB – переустановка Linux. Многие новички используют этот радикальный метод, лишь бы не связываться с терминалом. Однако переустановка приводит к удалению пользовательских файлов, поэтому применять её из-за банального повреждения загрузчика – слишком большая роскошь.

В этой статье я отвечу на вопросы по загрузчику для linux os - Grub. Вы узнаете, как установить загрузчик по умолчанию, чем редактировать Груб, как вернуть загрузочный раздел, исправить загрузочную запись и мн. др.

Вот полный перечень вопросов, которые я попытаюсь раскрыть в данном материале:

Обычно при загрузке компьютера загружается только одна операционная система. Пока она одна, проблем нет. Если же систем несколько, при загрузке выводится загрузочное меню, не всегда оптимально удобное для загрузки. Мелочь, правда? Но на деле все не так, когда перезагрузка компьютера осуществляется по доброму десятку раз на день.

Загрузчик - это программное обеспечение, которое устанавливается на первый сектор загрузочного диска (MBR - master boot record). Для каждой операционной системы он свой, и не иначе. И у каждого из них имеются свои особенности и «отношение» к другим загрузчикам и операционным системам. Например, при установке Windows XP (или Windows Vista) поверх Ubuntu загрузчик последней ОС безо всякого предупреждения затирается, и Ubuntu становится невозможной. Проблема? Проблема. Ведь, по сути, операционная система продолжает существовать, а загрузить ее - невозможно.

Никто не собирается вас пугать. Мы поставили несколько проблем и попробуем найти возможные пути их решения. Два варианта: бесплатный и платный. В первом случае всю настройку мы будем производить вручную, во втором - установим загрузочную программу Acronis OS Selector или бесплатные редакторы загрузчика.

Одна, две, три… Сколько?

Функциональности одной операционной системы вполне хватает для решения несложных повседневных задач. Нужно больше возможностей - устанавливаем дополнительное программное обеспечение.

При установке двух ОС достигается определенный компромисс между платным и бесплатным программным обеспечением. То, что для платформы Windows предлагается за деньги, Linux отдает в ваше распоряжение, как правило, бесплатно (open source ПО). Правда, многие профессиональные пакеты разработаны только для одной среды, преимущественно для Windows. Примеры с Adobe, OpenOffice, к сожалению, пока единичны, чтобы говорить об обратном. Есть программное обеспечение, аналогов которого нет и пока еще не может быть в той или иной ОС.

У каждой системы есть как свои замечательные достоинства, так и недостатки. Например, по нашему мнению, Windows - более «развлекательная» среда, Linux - рабочая система, задуманная для решения ресурсоемких задач, работы с данными и т. д. Оптимизировать Windows для работы так, как Linux, невозможно. Впрочем, судя по дистрибутивам Ubuntu, Fedora и другим «дружелюбным» ОС семейства, с большей «мультимедийностью» Windows можно согласиться только отчасти.

Три операционных системы - это, в большинстве случаев, излишество. Правда, и тут есть свои нюансы. Иногда возникают сложные ситуации, когда без наличия трех ОС на одном компьютере никак нельзя обойтись. Для этого не обязательно обладать прозвищем «компьютерный гений». И вряд ли это то, чем можно кого-либо удивить… Например, что делать, если по роду службы вы постоянно меняете среду (Ubuntu/Vista/XP) для проведения каких-либо обзоров или тестов? Каждый раз «сносить» одну и на ее место устанавливать другую ОС? Да, есть и такой «проходной» вариант. Для этого нужно на один диск (к примеру - C:\) поставить Windows XP, а на другой (D:\) - Vista или Ubuntu. Каждый раз, когда необходимо сменить ОС, вы ставите на D:\ нужную ОС. Вопрос только во времени.

Проще всего остановиться на двух, а, еще лучше, на одной операционной системе. Но мы пойдем другим путем.

Примечание. Существуют портированные версии операционной системы Mac OS X, которые достаточно успешно устанавливаются на PC платформу. В этом материале мы не рассматриваем OS X по следующим причинам:

  1. это не оригинальная, а незаконно модифицированная версия ОС
  2. аудитория читателей, использующих эти дистрибутивы, крайне мала. Достаточно представить себе количество пользователей продукции Apple.

Очередность действий

Если нужен суперфункциональный компьютер с работоспособным загрузчиком, вам заранее нужно побеспокоиться о правильной последовательности установки каждой из ОС. Ведь если поставить ту же Vist’у последней, то загрузчик Ubuntu, GRUB, будет стерт с MBR. XP просто не устанавливается поверх Vista, посему она не может быть оставлена напоследок. Исходя из сказанного, все действия производятся на компьютере в следующем порядке:

1) Windows XP. Устанавливается на диск с загрузочным сектором. Все загрузчики в последующем будут автоматически устанавливаться на раздел с этой меткой. Как узнать, на каком диске она находится? В этом помогут специализированные программы для работы с дисковой подсистемой - Norton Partition Manager, Acronis Disc Director, Acronis Partition Expert и многие другие.

Диск, отмеченный как «Active», обязательно имеет загрузочный сектор.

2) Windows Vista. Устанавливаем ее на диск, отличный от того, где расположена XP. После инсталляции Vista в загрузочном меню должны присутствовать два пункта: собственно, Vista и «Earlier operating systems» («Предыдущая операционная система»), под которой подразумевается XP. То есть, если XP была установлена до Vista, она успешно будет определена и добавлена в список.

3) Ubuntu (это правило применимо к любой ОС семейства Linux). Поскольку данная операционная система ставится последней, то загрузчик, устанавливаемый ею, станет основным. На последнем этапе установки Ubuntu не меняйте настройки (кнопка «Advanced»), чтобы GRUB, как и положено, установился на диск с загрузочной меткой .

Нужно сказать, GRUB весьма «толерантен» по отношению к своим «конкурентам»: он корректно определяет имеющиеся на компьютере системы и вносит их в собственный список. При наличии XP и Vista GRUB не удаляет загрузчик Windows. И при выборе пункта меню, который идет после надписи «Other operating systems» («Windows Vista/Longhorn loader»), появится второй экран, где можно выбрать одну из ОС Windows.

Впоследствии созданный GRUB’ом список можно подкорректировать, поменяв названия, удалив лишние пункты загрузки или сменив их очередность. Благо, документация к GRUB присутствует в достаточном объеме. Общими словами, это отлично конфигурируемый, документированный, user-friendly (дружелюбный по отношению к пользователю) загрузчик.

Где скачать и как установить Груб

Исходники GRUB можно скачать с сервера ftp://alpha.gnu.org/pub/gnu/grub .
Далее распакуйте скачанный дистрибутив, используя команду “ tar -xvzf filename.tar.gz ”. Если взять в расчет название файла grub-
0.5.96.1.tar.gz, перечень операций будет выглядеть следующим образом:

# tar -xvzf grub-0.5.96.1.tar.gz

Итак, мы распаковали содержимое в директорию под названием “ grub-0.5.96.1 ”. Выполняем следующие шаги:

# ./configure

Можно изменить определенные опции в процессе компиляции:

# ./configure --help

При этом отобразятся все доступные опции. Можно использовать префикс –enable или -
disable , что обеспечивает поддержку определенных устройств загрузчиком.

Чтобы начать компилирование, введите

# make

Установка происходит после ввода следующей команды:

# make install

Немного о редактировании GRUB’а

В Linux традиционно используется загрузчик LILO (LInux Loader) или GRUB. Если несколько лет назад о LILO еще что-то говорили (и присутствовал он в немалом количестве), то теперь лидерство принадлежит GRUB.

На самом деле, эта «монополия» идет только в плюс, потому что изначально GRUB более функционален. Все его возможности доступны из командной строки или посредством редактирования конфигурационного файла. Кроме того, очень важно, что данный загрузчик можно напрямую редактировать прямо в командном режиме. Чем же это хорошо? Скажем, произошла плачевная ситуация, когда из-за ваших действий загрузчик сломался. Предварительно прочитав соответствующую документацию, вы вручную можете отладить GRUB прямо из меню. Метод «научного тыка» здесь, увы, не пройдет, как и во всем Linux’е.

Сразу же после установки GRUB прописывает в меню несколько дополнительных пунктов, как то: резервная загрузка, тест памяти. Всего около трех- четырех пунктов малой степени важности. Если по умолчанию загружается именно та ОС, которая нужна, и вас не смущает разнообразие в меню, можно все оставить «как есть». По умолчанию первой в загрузке выставлена Ubuntu.

В Mandriva или OpenSUSE данное меню можно отредактировать еще при установке. В нашем случае придется пойти более «хитрым» путем - изменить несколько строк в конфигурационном файле menu.list. Расположен он по адресу /boot/grub.

Открываем терминал (Программы -> Служебные -> Терминал и вводим команду ($ - обозначение начала команды, которое в терминал не вводится):

$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.old

Этим самым мы сохраним резервную копию файла. В Ubuntu это делать просто необходимо, дабы в случае серьезной ошибки была возможность возвратиться к предыдущим настройкам. Здесь, однако, вам следует взять на заметку следующее: восстановить загрузчик без доступа в сеанс ОС - задача непростая. Во избежание подобных ситуаций, с конфигурационным файлом загрузчика обращайтесь особенно внимательно. Если вы не уверены в своих способностях, рисковать не стоит. Пусть Ubuntu поработает как можно дольше…

$ sudo gedit /boot/grub/menu.lst

Когда вы введете данную команду, в текстовом редакторе Gedit отобразится содержание menu.lst. Мы рассмотрим несколько важнейших настроек этого конфигурационного файла. Он подробно откомментирован, поэтому в том, о чем не будет сказано, вы разберетесь самостоятельно. Все комментарии следуют за решеткой #, они никак не влияют на ход загрузки и их можно удалить.

Параметры:

  • timeout 10 - время отображения меню. По истечению 10 секунд загружается операционная система по умолчанию. Вместо «10» назначьте любую цифру
  • hiddenmenu - если раскомментировать эту строку, меню GRUB отображаться не будет, загрузится ОС по умолчанию

А вот далее идут настройки, непосредственно связанные с выводом строк меню в GRUB. Их можно свободно редактировать, удалять. Разумеется, зная предназначение того или иного пункта. Изменять что-либо, кроме первой строки, противопоказано! Это же относится и к Windows. Блок, начинающийся с «title Windows XP», должен остаться в целости и сохранности.

Как поменять очередность загрузки Windows и Linux

Если нужно поменять очередность загрузки с Ubuntu на Windows, просто поменяйте блоки, начинающиеся с «title», местами. После редактирования menu.lst сохраните документ (напоминаем, сделать это можно только в режиме администратора) и перезагрузите систему.

О настройке загрузчиков XP и Vista

Самый «слабый» загрузчик, который может только затереть имеющийся загрузчик Ubuntu . Поскольку установить XP поверх Vista официально мы не можем, то, фактически, не можем поменять загрузчик Vista на XP. Минус этих двух bootloader’ов - отсутствие всякой документации, плюс же - легкий доступ к настройкам.

Если до Ubuntu вы установили Windows Vista, то при выборе в GRUB пункта «Windows…» появляется второе меню. Вы можете временно или на постоянной основе отключить один из пунктов подменю - тогда оно исчезнет. Для этого нужно зайти в свойства «Моего компьютера», открыть вкладку «Дополнительно», раздел «Загрузка и восстановление» кнопка «Параметры» и изменить меню. Здесь удалите ту (и только ту!) строку, в которой расположен лишний пункт меню.

Описанный порядок настройки относится к Windows XP, но для Vista он практически одинаков.

Программы для работы с загрузчиками

К счастью, ко всем рутинным методам, описанным нами сегодня, можно не прибегать. Имеется несколько программ, которые заметно упрощают обращение с загрузчиком, делая его интуитивно понятным. В случае с Acronis OS Selector разработчику программы придется заплатить, поскольку демонстрационная версия не позволяет воспользоваться возможностями полной. EasyBCD и VistaBootPRO - бесплатные программы.

Программа: Acronis OS Selector
Условия распространения: shareware

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

С помощью Acronis OS Selector вы можете:

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

Программа поддерживает большой список операционных систем. В него попали всевозможные дистрибутивы Windows и Linux. К сожалению, программа уже не распространяется по-отдельности, как это было ранее, но входит в состав Acronis Disk Director Suite, достаточно объемного (40 Мб) пакета. Программа платная, и в ограниченной версии нельзя применить изменения. Можно скачать отдельно старую версию по прямой ссылке, но это демо-версия, опять же, не предназначена для прямого использования.

После инсталляции OS Selector попросит перезагрузиться. Во время загрузки программа, с вашего разрешения, установится на загрузочный сектор, как обычный загрузчик . Если откажетесь - продолжится загрузка системы и программа просто перестанет о себе напоминать - ни после, ни до загрузки ОС.

В чем еще плюс данной программы, кроме простоты? Удобнее всего, что в загрузочном меню сразу появляется список всех установленных ОС. Загрузчик один - и он устанавливается программой Acronis OS Selector. Названия корректно определены, и при желании их легко можно поменять. Кроме того, не нужно в меню два раза нажимать клавишу Enter. Также в состав входит несколько дополнительных сервисных утилит, что будет чрезвычайно полезным для восстановления какой-либо из ОС.

EasyBCD

Интересно, что вместо GRUB загрузчиком по умолчанию можно сделать таковой из Windows Vista. Установив EasyBCD, прежде всего нужно зайти в раздел «Manage Bootloader» и затем выбрать опцию «Reinstall the Vista Bootloader». GRUB будет затерт. Сейчас можно настроить загрузчик Vista для добавления Ubuntu в меню загрузки.

Помимо работы с Linux, EasyBCD, распознает загрузчики BSD и Mac OS X. Работает в среде Windows.

VistaBootPRO

Условия распространения: freeware

О VistaBootPRO мы не так давно писали в обзоре программ. Работает она в среде Windows и предназначена сугубо для редактирования загрузчиков Windows. Причем можно заменить один загрузчик другим, деинсталлировав лишний. В программе легко убрать лишние пункты меню. Нельзя забывать о резервной копии, которую можно и нужно сделать в одном из разделов настроек!

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

Если после произведенных вами действий произошла ошибка, после которой загрузка меню становится невозможной, не отчаивайтесь. Как и любое программное обеспечение, его можно переустановить. Правда, это не так просто, как описывается на словах. Ведь, по логике, если нельзя загрузить ОС, нельзя восстановить загрузчик? В таких случаях, как всегда, выручает загрузочный диск. Из трех ОС нам нужно восстановить либо Vista, либо Ubuntu, XP отпадает по описанным выше причинам.

Для Ubuntu. Проще всего восстановить загрузчик GRUB для Ubuntu. Благо, Ubuntu и представляет собой live-дистрибутив, который можно использовать для всякого рода восстановления. Загрузив ОС (версия не имеет значения), требуется открыть терминал и ввести там следующие команды:

// запуск менеджера загрузки $ sudo grub

// выдача информации о разделе с загрузчиком $ find /grub/stage1

В результате появится информация о расположении загрузчика

Подставьте полученные значения, поменяв X и Y на выданные цифры:

$ root (hdX,Y) $ setup (hdX)

Для Windows Vista. Подробно о восстановлении загрузчика Vista вы узнаете в онлайн-справке Windows.

Итак, для восстановления понадобится загрузочный диск с Windows Vista (с которого вы устанавливали ОС). Ход действий следующий.

  1. Загрузитесь с установочного диска Windows Vista.
  2. Выберите язык установки и ввода. Рекомендуется выбрать язык ввода США.
  3. Выберите пункт «Восстановление системы».
  4. Выберите операционную систему для восстановления и нажмите «Далее».
  5. Выберите пункт «Командная строка». В строке введите команду

E:\boot\Bootsect.exe /NT60 All

Основная загрузочная запись Windows Vista восстановлена.

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

Для инициализации ядра и запуска операционной системы Linux используется загрузчик. Это программа, которая запускается после завершения проверки оборудования BIOS, подготавливает оборудование к работе, задает нужные параметры ядра и позволяет выбрать операционную систему. Основная задача загрузчика дать пользователю выбрать операционную систему для загрузки.

Раньше для загрузки Linux использовалось несколько загрузчиков, это isolinux, lilo, grub. Но сейчас чаще всего применяется Grub или полное его название GRand Unified Bootloader. В этой статье будет рассмотрена установка загрузчика Grub через терминал. Также мы поговорим как установить grub на компьютер с UEFI, тоже вручную.

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

Загрузчик может быть установлен в различные таблицы разделов диска. Сейчас самые используемые это GPT и MBR. Установка загрузчика Grub немного отличается для каждой из этих таблиц, учитывая их особенности. Подробнее об отличиях можно почитать в отдельной статье. Тут же я скажу, что GPT - более новая и функциональная таблица разделов, MBR - уже устаревшая, но до сих пор часто используемая.

В MBR вариантов немного, Grub записывается в область MBR на диске. Размер сектора MBR занимает первых 512 байт и этого вполне достаточно для того, чтобы установить туда загрузчик.

GPT предоставляет более широкие возможности. Во-первых, для совместимости в GPT эмулируется сектор MBR, и мы можем установить GRUB туда, но такой вариант очень ненадежный и не рекомендуемый. Во-вторых, теперь появилась возможность устанавливать Grub на раздел диска. Мы просто создаем раздел на диске размером 1 Мб и записываем туда то, что раньше записывалось в MBR, это делает установку загрузчика более надежной и защищенной от сбоев.

UEFI предоставляет совсем иной способ установки загрузчика. Тут его не нужно никуда записывать, загрузчик - это обычное приложение EFI, которое помещается на раздел EFI и уже там полностью успешно работает наряду с другими приложениями.

Для установки Grub будет использоваться команда grub-install, во всех случаях. Давайте кратко рассмотрим ее синтаксис и параметры. Синтаксис:

$ grub-install опции диск

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

  • --compress - сжать файлы загрузчика;
  • --install-modules=модули - установить только эти модули;
  • --modules - записать эти модули в MBR;
  • --boot-directory - использовать другой каталог для файлов Grub;
  • --bootloader-id - имя загрузчика в меню EFI;
  • --core-compress - сжимать образ, загружаемый в MBR;
  • --efi-directory - использовать системный раздел EFI;
  • --force - установить несмотря на ошибки;
  • --recheck - удалить существующую карту устройств, помогает если возникают ошибки;
  • --removable - установка grub на флешку (только EFI);

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

Установка загрузчика Grub в MBR для BIOS

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

sudo grub-install /dev/sda

sudo grub2-install /dev/sda

Утилиты grub в разных дистрибутивах могут включать двойку, а могут и не включать. Здесь /dev/sda - ваш жесткий диск. Теперь генерируем конфигурационный файл, чтобы автоматически определились установленные операционные системы:

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

Готово. По поводу двойки здесь такое же замечание. Если вы хотите установить Grub на флешку в MBR, то тут тоже нет проблем просто примонтируйте флешку и выполните такую команду:

sudo grub-install --root-directory=/mnt/USB/ /dev/sdb

Здесь /mnt/USB - папка, куда была смотирована ваша флешка, а /seb/sdb - сама флешка. Только здесь есть одна проблема, конфигурационный файл придется делать вручную.

Установка загрузчика Grub в GPT для BIOS

Во-первых, мы можем ничего не менять и установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, а это не надежно. Поэтому рекомендуется установить grub так, как описано ниже, на отдельный раздел.

Нужный нам раздел можно создать в установщике любого дистрибутива, если вы выполняете установку в графическом интерфейсе или с помощью gparted. Нам нужен раздел размером 1 Мегабайт без файловой системы и с меткой grub_bios:

Готово. Если у вас нет под рукой доступа к графическому интерфейсу, вы можете создать такой раздел через терминал. Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk. Сначала запустите утилиту:

sudo gdisk /dev/sda

Чтобы создать новый раздел нажмите n и выберите номер раздела:

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

Выбираем конечный сектор раздела. По умолчанию будет использоваться максимальный. Нам нужен раздел размером 1 Мб. Размер одного сектора GPT - 512 байт, поэтому нам нужен раздел размеров 2048 секторов. Таким образом, конечный сектор будет 24000 с чем-то.

HEX Code - это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02 :

Готово, осталось нажать w для записи изменений на диск:

sudo grub-install /dev/sda3

Осталось создать конфигурационный файл grub:

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

Теперь переходим к самому сложному, как установить grub efi.

Установка GRUB UEFI GPT

Установка Grub UEFI чем-то похожа на установку в GPT, тут у нас тоже будет отдельный раздел, только на этот раз не для загрузчика, а раздел EFI. Если у вас уже установлена Windows, то, скорее всего, он уже существует. Этот раздел обычно занимает 100 Мб, имеет файловую систему fat32 и флаг ESP. Вот так он будет выглядеть:

Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:

Размер 100 Мегабайт, имя раздела ESP , файловая система fat32 . Дальше примените изменения и установите для раздела флаг ESP :

То же самое вы можете сделать в Gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00 . После того как раздел был создан, подключаем его к нашей файловой системе:

sudo mkdir /boot/efi
$ sudo mount /dev/sda2 /boot/efi

sudo apt install grub-efi efibootmgr

grub-install /dev/sda

Установка Grub efi на MBR все выглядит точно так же, только тут есть несколько ограничений. Раздел ESP нужно создавать только в начале диска. В режиме EFI тоже можно установить GRUB на флешку, и это не очень сложно. Для этого используется команда.

Как правило, дополнительная настройка GRUB не требуется, все необходимые файлы устанавливаются на компьютер самостоятельно во время инсталляции ОС Linux . Нет необходимости заново устанавливать загрузчик, если, например, пользователю нужно провести конфигурацию, так как в этом случае следует только редактировать содержимое /boot/grub/ menu.lst.

Как произвести правильную установку и настройку — в статье ниже

Установка GRUB целесообразна в том случае, если его физически не существует на устройстве, иными словами, он может быть стёрт после инсталляции другой системы (чаще всего Windows). Иногда случается и такое, что копии загрузчика не функционируют должным образом или GRUB, по желанию владельца ПК, заменяется другим типовым загрузчиком. Какими бы ни были причины, установка GRUB, в любом случае, должна производиться исключительно с «живой» системы (Knoppix, например). Дело в том, что без функционирующего загрузчика, запустить на ПК дистрибутив Linux, который располагается на жёстком диске, попросту не выйдет. В статье рассмотрим способы установки и настройки загрузчика GRUB.

Что представляет собой загрузочный сектор?

Если владелец ПК уверен в своих силах и знаниях, ему будет достаточно прочесть лишь раздел, в котором пошагово расписан процесс установки загрузчика GRUB, однако тем юзерам, которые впервые сталкиваются с подобной проблемой, лучше предварительно узнать об особенностях BIOS и MS DOS.

Жёсткий диск разделён на несколько секторов, в первом из которых осуществляется основная запись диска (пользователи привыкли именовать её как MBR). Для этого требуется всего 512 байт, в которых «спрятана» небольшая программка. Следующий сектор занимает таблица разбиения диска, которая, по обычаю, состоит из четырёх главных разделов, объёмом 64 байта, и цифровой подписи (только 2 байта).

Особенности загрузочного сектора

Загрузочный сектор можно назвать основой основ, так как он находится в MBR и во всех остальных разделах. Как показывает практика, его заключают во все 16 секторов, на которые разделён любой жёсткий диск. Несмотря на тот факт, что в большинстве современных файловых систем, данные, которые включает загрузчик, располагаются не в первом секторе: система XFS, например, нуждается во всех работоспособных секторах диска. Поэтому, в случае, когда данные загрузчика стираются, файловая система полностью разрушается.

Включение устройства

В момент запуска компьютера, в первую очередь начинает запускаться непосредственно сам BIOS . В этот момент происходит считывание данных, хранящихся в MBR первого диска. Спустя несколько секунд, содержимое «идёт» к оперативной памяти, где происходит проверка на наличие в последних байтах шестнадцатеричных кодов 55 АА. Такая проверка заключается в необходимости идентифицировать носители для их последующей загрузки. Небольшая программка, хранящаяся в MBR, необходима при совпадении представленных кодов. Первая программа «цепляет» следующую, расположенную в загрузочном секторе активного раздела, чтобы впоследствии активировать её, и, как следствие, запустить ОС Windows.

В случае наличия не одного жёсткого диска, пользователь может настроить в BIOS порядок, согласно которому будет производиться запуск конкретных жёстких дисков в момент загрузки системы. Благодаря этой особенности, новые ПК имеют возможность загружать систему как с внешнего диска, так и с USB-накопителя . Естественно, изменив порядок загрузки в BIOS, юзер может загружать систему посредством CD и DVD-дисков.

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

Однако, если на устройстве стоит одна из последних версий ОС от компании Microsoft (позднее 9х/ME), то в загрузчике системы можно сделать так, чтобы он самостоятельно «беспокоился» о GRUB. Огромным преимуществом такой возможности является отсутствие необходимости лишний раз разбираться с особенностями MBR. Правда, далеко не каждый современный юзер сможет самостоятельно произвести такую манипуляцию, так как процесс этот достаточно сложный. Всё придётся делать вручную.

Среди прочих способов, настроить нормальную работоспособность двух систем, можно прибегнув к дополнительной установке GRUB. Загрузчик необходимо расположить непосредственно в загрузочном секторе главного раздела и впоследствии отметить его в качестве активного. Этот метод также исключает необходимость использовать MBR, однако он может сработать только с основными разделами и файловыми системами, не влияющими на загрузочный сектор раздела.

Для чего важно создать копию MBR?

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

root# dd if=/dev/sda of=/boot/bootsektor.scsi bs=1 count=446

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

root# dd if=/boot/bootsektor.scsi of=/dev/sda bs=1 count=446

Однако, следует учесть, что посредством этих команд пользователю удастся изменить лишь 446 байт MBR.

Инсталляция в MBR жёсткого диска

GRUB install можно производить сразу же, как только будет создан соответствующий конфигурационный файл (задаётся посредством команды /boot/grub/menu.lst). В каталоге grub в обязательном порядке должны присутствовать такие файлы, как stage1, stage2 и *_stagel_5. В случае их отсутствия, в этот раздел следует записать файлы, содержащиеся в GRUB.

Дальнейшие манипуляции заключаются в запуске загрузчика GRUB и выполнении команды setup. Значения hdl,12 должны быть заменены на имя устройства GRUB раздела диска, содержащего /boot. Следует быть предусмотрительным, так как раздел /boot может располагаться не в системной папке, а в другой. Hd0 отвечает за область хранения загрузочного сектора основного жёсткого диска.

SUSE во время инсталляции пополняется файлом /etc/grub.conf., в котором содержатся команды, относящиеся непосредственно к GRUB install. Если что-то пошло не так, пользователь ПК может в любой момент процедуры заново запустить установку. Помочь в этом может команда grub < /etc/grub.conf.

Способы инсталляции загрузчика

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

Прибегнуть к GRUB install можно в том случае, если запуск загрузчика осуществляется посредством аналогичного устройства Windows. Также решение будет целесообразным, если на компьютере установлено несколько вариантов ОС Linux и ранее инсталлированный GRUB пользователь не собирается менять на другой загрузчик.

Предпочтительнее для оптимизации процесса выбирать системный раздел Linux. Иными словами, если операционная система находится в /dev/sda7, для правильной установки, пользователь должен использовать нижеприведённые команды. Главным различием установки GRUB в MBR или системный раздел является необходимость указать в setup вместо hd0 выбранный раздел.

root# grub grub> root (hd1,12)

grub> setup (hd0,6) (Установка в загрузочный сектор /dev/sda7) grub> quit

Прежде чем осуществить GRUB install, следует учесть одну особенность некоторых файловых систем, так как иногда загрузочные сектора раздела не могут быть использованы загрузчиком или иным типовым приложением. В частности, одной из таких систем является XFS - инсталлированный в её загрузочный сектор GRUB, попросту разрушит всю файловую систему.

Инсталляция на USB-накопитель

Благодаря современным технологиям, каждый желающий может загрузить операционную систему посредством USB-накопителя. Если GRUB install будет производиться непосредственно с внешнего носителя информации, а не с помощью Windows или Linux, пользователь должен проверить правильность распознавания накопителя материнской платой.

Прежде чем начать работу, следует отформатировать флешку одним из двух известных способов. Посредством первого метода она очистится как superfloppy, другим - как жёсткий диск. Выбирать вариант очистки следует исходя из особенностей BIOS.

Следующим шагом должна стать активизация поддержки USB-накопителя, для чего в BIOS предусмотрен отдельный параметр. При распознавании USB-накопителя как отдельного загрузочного диска, в BIOS будет изменён список, согласно которому GRUB поочерёдно списывает данные с носителей. В качестве первого диска станет USB-накопитель, остальные жёсткие диски станут доступны посредством hdl и hd2. Если возникнет необходимость, перед GRUB install можно изменить /boot/grub/devices.map.

Если всё сделать правильно, установка GRUB с внешнего носителя будет более чем успешной. GRUB распознаёт флеш-накопитель как hdn+1, где n является числом, соответствующим последнему внутреннему жёсткому диску. Последующая установка GRUB в MBR посредством внешнего накопителя информации нуждается в выполнении нижеприведённой команды:

root# grub grub> root (hd1,12)

grub> setup (hd2) (инсталляция в MBR флеш-накопителя) grub> quit

Дальнейшая перезагрузка ПК должна помочь GRUB появиться в MBR и запустить все имеющиеся системы, которые содержатся в menu.lst. В случае возникновения ошибок, следует зайти через меню загрузчика в интерактивный режим, нажимая кнопку С. Активация команды, состоящей из слова cat и нажатия на клавишу табуляции, помогает узнать пользователю о тех названиях, которые загрузчик присвоил всем жёстким дискам. С помощью клавиши Esc можно выйти назад в меню, а кнопка Е поможет изменить ранее написанные для загрузки команды и вновь их исполнить.

Если ОС Linux хранится на флеш-накопителе или внешнем жёстком диске, который можно подключить к компьютеру исключительно через USB-порт , пользователю следует учесть несколько важных проблем. Дело в том, что GRUB install может быть осуществлён не с первого раза, вероятнее всего, придётся несколько раз изменять настройки BIOS и обозначения приводов. Будет лучше, если все свойства, хранящиеся в файле menu.lst, будут настраиваться только вручную.

Кроме того, в файле Initrd следует хранить все важные USB-модули. При работе с Ubuntu в разделе /etc/fstab и строке kernel, расположенной в menu.lst, нужно указывать не сами названия устройств, так как после перезагрузки системы они могут быть изменены, а номера UUID. Пользователь может самостоятельно в menu.lst посредством uuid указать именно тот каталог, в который впоследствии будут помещены ядро и файл Initrd.

Заключение

Несмотря на кажущуюся сложность, произвести GRUB install может каждый. Содействие с новомодными материнскими платами предусматривает простую и беспроблемную работу любой операционной системы, в том числе и Linux, которая может быть инсталлирована непосредственно на самом USB-накопителе. Настроить правильно все параметры и создать все условия для бесперебойного существования двух различных систем нелегко, кроме свободного времени и знаний, пользователь должен обладать немалым опытом, которого нет у тех, кто только начинает знакомство со средой Linux.

Различные 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, например вот