Ubuntu66.ru — новости, уроки, помощь, поддержка.

Многие пользователи системы Linux имеют на своём компьютере, как правило два и более, установленных дистрибутива на жёстком диске, которые отображаются в самом начале загрузки компьютера, в загрузчике GRUB (англ. GRand Unified Bootloader ).
Иногда, после установки/переустановки той или иной системы мы применяем такой инструмент, как Boot-Repair для восстановления загрузчика GRUB основной (рабочей) системы. Затем перезагружаем компьютер, чтобы посмотреть и убедиться, что загрузчик восстановлен.
Но не многие знают, что для того чтобы убедиться в этом и посмотреть на GRUB, совсем не обязательно покидать систему и перезагружать компьютер. Для этой цели может служить утилита, которая есть в репозитоии, под названием grub-emu (эмулятор grub). Вы можете найти у становить её из Центра приложений или выполнить команду в терминале на установку (Ubuntu/Linux Mint):
sudo apt-get install grub-emu
По окончании установки вы можете использовать утилиту, выполнив команду в терминале:
Чтобы закрыть окно эмулятора, необходимо прежде закрыть терминал и окно эмулятора закроется.
Примечание. В самом начале эмулятор grub открывается, а чрез несколько секунд выдаёт ошибку и предлагает нажать любую клавишу, т.к. он пытается загрузить систему. Не трогайте ничего и он вновь чрез несколько секунд восстановится.
Таким образом, вы не выходя из системы, можете посмотреть и проверить свой загрузчик GRUB.
Ссылка на источник compizomania
26-01-2013.
Куда поставился загрузчик Grub?
поидее первый раздел на sda
На раздел, где находится корневая фс
Система установилась? Загляните в /var/log/installer/syslog, там должен быть лог от update-grub.
Кстати, update-grub только перегенерирует конфиг GRUB, но не устанавливает его никуда.
Точно? То есть установщик выполняет во время установки все команды на разделе с корневой файловой системой, поэтому он, не получив от меня информации, куда ставить grub, просто сконфигурировал его в корневой фс, выполнив сразу update-grub?
Система поставилась, загрузчик в MBR остался виндоусовский. Сейчас попробую посмотреть лог инсталлера.
Крайний раз когда ошибался с разделом было так. Установщик не должен повреждать чужие разделы.
Скорее всего, он никуда и не поставился.
Но почему же тогда выполнялось «update-grub»?
Потому что нужно конфиг граба сгенерировать. Конфиг не зависит от места установки, зато процесс установки зависит от местоположения конфига.
Просто нужно руками сделать grub-install /dev/sda из установленной системы и всё.
Удваиваю. У меня подобное было, когда на флешку debootstrap-ом Дебиан ставил. update-grub отдельно, grub-install отдельно.
В логе нашёл только: Jul 8 20:41:54 grub-installer: info: Installing grub on «
Так всё-таки получается он никуда не поставился? Мне важно знать, не навредил ли инсталлятор другим разделам с осями (Windows XP и Windows 7).
Тебя спросили, затирать ли загрузочную запись. Груб стоит в любом случае (ну или лило).
aptititude search grub
Нет, не навредил. Кроме того, «на раздел» он не будет ставиться дальше, чем в загрузочный сектор (файлы будут только на том, который /boot).
Можете убедиться в этом, выполнив dpkg-reconfigure grub-pc (или поковыряться в базе debconf руками).
Где загрузочный загрузчик Grub установлен на компьютере? [dубликат]
Где загрузочный загрузчик, такой как Grub, установлен вообще?
Когда я устанавливаю 12.04 вдоль боковых окон на разных разделах моего диска, я столкнулся с выбором «Устройство для установки загрузчика». Если я правильно ее понимаю, нужно указать, где установить загрузчик Grub,
, который я нашел в Интернете, чтобы указать диск, содержащий разделы для ОС, а не какой-либо раздел на диск. Например. disk sda, а не раздел sda1, sda2.
Интересно, где загрузочный загрузчик установлен на диске?
Установлен ли он на любом из существующие разделы для ОС и персональных данных, или же он имеет свой собственный раздел, который также отображается, например от системного монитора Ubuntu?
Спасибо и приветствую!
10 ответов
Загрузочный загрузчик должен быть установлен там, где BIOS ищет что-то для загрузки. Чтобы все было просто, у вас обычно есть дисковод, на котором загружается ваш компьютер, вы устанавливаете на этом диске систему GNU / Linux, и загрузчик тоже туда попадает.
Единственное, что вам нужно от загрузчика: Действительно:
Что BIOS может найти, что он способен находить и загружать вашу операционную систему (с Linux, вам просто нужен загрузчик, чтобы каким-то образом получить доступ к ядру, и если вы используя один, образ initrd.)
Насколько вам известно эти две точки, вы устанавливаете его там, где это более удобно, и где BIOS будет искать его.
BIOS обычно ищет загрузчики в главной загрузочной записи жестких дисков, маленькую область в начале диска, где вы можете поместить некоторый код для запуска. Вы также можете установить загрузчик в начале раздела.
Загрузочные файлы обычно достаточно малы, чтобы вписаться в эти небольшие области, и даже если они этого не делают, они должны что-то там положить, чтобы BIOS загружал загрузчик.
lilo простой загрузчик, который установлен в этих областях. grub немного больше, и поэтому вы устанавливаете какой-то код в этих областях, который затем загружает еще один код из раздела диска (где grub считается «установленным», где находится его файл конфигурации, вдоль с двоичным кодом это обычно устанавливается как системный раздел /boot, где для удобства также размещаются ядра и initrds).
В этом случае, если он запрашивает диск, это означает, что он просит вас о том, на какой основной загрузочной записи должен быть установлен grub, то есть на диске, с которого вы будете загружать компьютер. Эта часть grub будет установлена только на диске MBR. Остальное, вероятно, устанавливается в тот же раздел, что и / или /boot/ системы Ubuntu, которую вы устанавливаете (и этот доступ доступен из Ubuntu, ищите каталоги /boot/grub/ или /grub/).
На какой диск (или раздел) устанавливать загрузчик при установке Linux
Если у вас только один диск в компьютере с одним разделом, то установщик не спросит, на какой диск установить загрузчик системы. На других компьютерах (как с UEFI, так и с БИОСом) с несколькими дисками, установщик может спросить, на какой диск установить загрузчик.

Чтобы принять решение, нужно иметь общие представления о загрузке операционной системе на ПК. Упрощённо говоря, происходит следующее:
1. БИОС (UEFI) проверяет, какой диск выбран для загрузки и передаёт управление загрузчику на этом диске.
2. Загрузчик указанного диска начинает работу, если в его настройках прописано несколько операционных систем, то он показывает пользователю меню для выбора. Если операционная система только одна, то просто загружает её.
Так вот, если у вас уже установлен Windows, то вариантов два:
В БИОС
Преимущества первого варианта:
Недостатки первого варианта:
Преимущество второго варианта:
Недостатки второго варианта:
На мой взгляд, второй вариант намного лучше, поэтому я устанавливаю загрузчик Linux на диск с Linux.
В UEFI
В UEFI имеется специальный небольшой раздел (100-200 мегабайт) в котором хранятся загрузчики операционных систем. В Linux этот раздел монтируется в директорию /boot и загрузчики хранятся в папках в /boot/efi/EFI или /boot/efi/ или похожих.
Установка загрузчика на диск в UEFI означает создание новой папки с загрузчиком нового дистрибутива. На этом скриншоте можно видеть загрузчики двух ОС.

На самом деле, там ещё есть и Linux Mint, но она свои файлы поместила в директорию BOOT.
Пункт загрузки UEFI можно отредактировать (удалить или добавить новые) в настройках UEFI.
При установке загрузчика на диск с Windows, в принципе, это должно работать также. Но я не проверял! В случае проблем с Windows, смотрите эту статью, раздел «Восстановление загрузчика Windows 10«).
Если у вас несколько операционных систем установлены на разных разделах диска и вы установили их загрузчики в собственные разделы, как это показано на скриншоте (системный загрузчик установлен в четвёртый раздел диска):

то, чтобы загрузить эту новую ОС нужно в дистрибутиве, в котором вы можете загрузиться, выполнить следующую команду:
Эта команда просканирует все диски и добавит в меню загрузки данного дистрибутива все найденные операционные системы.
Что касается UEFI, то в его настройках вместо дисков и разделов должны быть перечислены все доступные для загрузки операционные системы, либо их можно указать вручную.
Восстановление загрузчика GRUB в Linux
Загрузчик GRUB является универсальным, гибким и достаточно надёжным инструментом для организации загрузки операционных систем (ОС). Однако при наличии некоторых обстоятельств и факторов. От которых не застрахована ни одна система. Могут возникать сбои, в результате которых загрузка системы может быть некорректной или вовсе невозможной. Если в данном случае точно установлено, что система не загружается из-за неработоспособности самого загрузчика. То в данной ситуации далеко не всё так сложно и безнадёжно. Как может показаться некоторым неопытным пользователям или системным администраторам. В большинстве случаев загрузку системы можно довольно быстро и относительно легко восстановить, не прибегая к переустановке системы. Для этого существуют давно проверенные способы, о которых будет рассказано в данной статье.
Почему «ломается» загрузчик GRUB?
Естественно, само по себе ничего не происходит. Если «сломалась» загрузка GRUB – значит что-то на это повлияло. Очень часто в подобных ситуациях пользователи говорят, что системную конфигурацию не изменяли, а GRUB вдруг перестал работать. И они отчасти правы.
На самом деле GRUB довольно чувствителен к любому изменению как своей, так и системной конфигурации, каким бы универсальным и удобным он ни был. Так, например, изменение идентификатора раздела, хранящего ядра (/boot), уже приведёт к невозможности загрузки системы. И GRUB здесь и ни причём. Нужно искать причину, по которой изменился идентификатор раздела. А они могут быть самыми разными. К примеру, даже если компьютер долгое время не использовался и на его платы не подавалось питание. То это также может быть причиной сброса некоторых настроек BIOS (по причине севшей батареи). Что может привести при последующем после длительного перерыва включении переопределению параметров оборудования. От которых зависит, в некоторых случаях, и идентификатор раздела. Это лишь одна из причин неработоспособности GRUB, самая неочевидная, которую не могут предусмотреть ни разработчики GRUB, ни создатели системных плат.
Наличие ошибок на разделах диска, человеческий фактор (особенно среди малоопытных пользователей) также очень часто являются причиной неработоспособности GRUB. Главное, что нужно понимать — это то, что в большинстве случаев причиной является внешний фактор. A GRUB – это довольно уязвимое место, чувствительное практически к любым внешним воздействиям, поскольку это программная среда, организующая передачу управления компьютером от BIOS (UEFI) к ОС.
Способы восстановления GRUB
В данной статье будут рассмотрены два самых эффективных способа восстановления GRUB:
Как нетрудно догадаться, восстановление GRUB напрямую связано с загрузкой системы. Основная работа по восстановлению именно в этом и заключается — загрузить родную системную среду альтернативными способами или вручную. Далее, в подавляющем большинстве случаев, восстановление GRUB осуществляется одной командой:
Существуют также и другие команды:
Последние стоит использовать, если не помогла команда grub-update. Первая из них устанавливает сам загрузчик GRUB на указанное устройство (не на раздел!). В данном случае вместо sdN может быть sda, sdb, и т. д. Но никак не sda1, sdb2 (т. е. на разделы — числовой индекс в конце означает номер раздела на устройстве) и т. д. — это очень важно, поскольку GRUB устанавливается только на устройство.
Вторая команда создаёт конфигурационный файл GRUB исходя из текущей конфигурации системы. Анализируется информация о количестве имеющихся в системе ядер, их версий и т. д. В результате формируется оптимальная и безопасная конфигурация загрузки системы. Если ядер несколько, то будет сформирован список, который может быть доступен (в меню загрузки GRUB) для выбора определенного ядра для загрузки. По-умолчанию GRUB загружает ядро самой свежей версии.
Как можно видеть, ничего сложного в восстановлении/установке GRUB нет. Теперь можно перейти к рассмотрению альтернативных способов, собственно, загрузки системной среды для восстановления GRUB.
Примечание: вместо команд grub-install и grub-mkconfig могут использоваться команды grub2-install и grub2-mkconfig соответственно. Это зависит от используемой системы (дистрибутива).
Загрузка и восстановление с помощью LiveCD
При использовании любого из альтернативных вариантов загрузки «родной» системы очень полезно сначала узнать (или убедиться), с какого устройства происходит загрузка. Необходимо заранее это выяснить в настройках BIOS компьютера. Это необходимо, если придётся не просто обновить конфигурацию загрузчика, а полностью его переустановить. А для этого очень желательно устанавливать его на то устройство, которому из BIOS передаётся управление для дальнейшей загрузки ОС. Для 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, и поэтому в последней команде в данном случае нет необходимости.
Подготовка программной среды для работы
Поскольку в Live-режиме загружено и работает ядро Live-системы, то оно же будет использоваться и для работы с примонтированными разделами (корневой и /boot). Но для этого необходимо к корневому разделу родной системы (которая уже смонтирована в /mnt) также примонтировать и другие файловые системы (ФС), без которых ядро Live-системы не сможет корректно работать — /sys, /dev и /proc, они же необходимы для взаимодействия с ядром. Другими словами, загруженное из Live-образа ядро нужно настроить на полноценную работу с корневой ФС родной системы, добавив к ней ФС из Live-системы:
Далее необходимо определить программное окружение среды, указав каталог /mnt и интерпретатор команд:
Эта команда указывает, где должны выполняться команды и какое программное окружение для этого должно использоваться. В данном случае, теперь ядро Live-образа может полноценно работать с ФС родной системы. Используя все её пакеты, команды, файлы и прочие доступные ресурсы.
Восстановление загрузчика
Теперь нужно обновить MBR (главную загрузочную запись) диска, установив на него загрузчик GRUB. Здесь и нужно вспомнить, какой диск является загрузочным, исходя из конфигурации BIOS. Поскольку ранее это уже было определено, то теперь остаётся узнать, как это устройство обозначается в системе. Для этого полезно выполнить следующий скрипт:
Данный скрипт отработает, если в родной системе установлена утилита hdparm. Но поскольку в большинстве Linux-дистрибутивов она предустановлена и доступна «из коробки», то беспокоиться не о чем.
Создание файла конфигурации GRUB:
Ну и напоследок можно выполнить:
Если при выполнении команды grub-install возникают какие-либо ошибки, то можно выполнить её с ключом —recheck. Если же всё нормально, то можно выйти из режима chroot командой:
Далее необходимо отмонтировать все ранее примонтированные устройства и ФС:
Если /boot монтировался из отдельного раздела, то его также необходимо отмонтировать:
Ну и наконец, необходимо отмонтировать также и корневой раздел:
Далее можно перезагрузиться без Live-образа (сделав соответствующие настройки в BIOS и снова указав в качестве загрузочного «Samsung SSD 860 EVO 250GB»). И проверить, что GRUB загружает родную систему.
Загрузка из командной консоли GRUB
Иногда бывает так, что GRUB установлен, но в результате каких-либо сбоев его рабочая конфигурация была повреждена и загрузка ОС в штатном режиме невозможна. Обычно в таких случаях в меню GRUB появляются сообщения об ошибках с приглашением перейти в режим командной консоли загрузчика по нажатию клавиши «C». В этом режиме GRUB предоставляет довольно большой набор полезных команд. С помощью которых можно, в частности произвести ручную загрузку системы. Эти же команды, кстати, выполняются загрузчиком при чтении его файла конфигурации.
Итак, первое, что нужно сделать после входа в командную консоль GRUB – это выполнить команду ls. В результате будет выведен список всех доступных в системе дисков и разделов.
Определение и выбор раздела загрузки
Примечание: префикс «gpt» в обозначении разделов в формате GRUB может быть другим. Например «msdos» (когда GRUB не смог определить тип разметки), но в данном примере разделы размечены в формате GPT.
Если известно, что /boot находится на разделе sda2, у которого пять разделов. То с большой степенью вероятности это будет (hd0,4) в формате GRUB. Префикс «gpt» для раздела можно не указывать. Ну а если же изначальную структуру разделов вспомнить или определить не представляется возможным. То остаётся только перебирать или угадывать.
Команда ls выведет примерно следующее:
Важно заметить, что если «угадано» верно, то будет загружена родная система так, как она загружалась в штатном режиме.
Ручная загрузка ядра
Пусть для ручной загрузки выбран раздел (hd0,4) — т. е. sda2. Нужно задать этот раздел в качестве корневой файловой системы:
Подключение модулей для работы с ФС Ext2/3/4:
Для других типов ФС нужно подключать соответствующие модули: bfs, xfs или zfs.
Подключение модуля normal для полноценного запуска и работы GRUB:
Если после этих команд штатная загрузка не начнётся, то остаётся её продолжить вручную. Для этого нужно попытаться найти доступные ядра и выбрать нужное для загрузки. Для этого следует ввести команду linux /boot/vmlinuz и нажать клавишу :
Как можно видеть, команда linux обнаружила в системе два ядра. И автоматически подготовила следующую команду для выбора нужного. Остаётся только дописать «1-generic», если нужно загрузить ядро версии 4.18.0-21-generic. Указать корневой раздел и выполнить команду:
Важно заметить, что указывается тот же корневой раздел, что и в команде set root, только уже в классическом формате.
Далее, нужно указать соответствующий образ ядра. В котором содержится всё необходимое для инициализации и создания программной среды для его работы, с помощью команды initrd:
Теперь всё готово, можно выполнить загрузку:
Если всё сделано правильно и выбран нужный раздел загрузки, то будет загружена «родная» система так, как это происходит в штатном режиме. Ведь всё, что было проделано вручную — это основной набор команд, хранящихся в файле /boot/grub/grub.cf g и выполняемых GRUB автоматически.
Далее, в загруженной системе нетрудно восстановить работу загрузчика с помощью инструкций, приведенных выше.
Заключение
В заключение необходимо напомнить, что были рассмотрены наиболее распространённые неполадки в работе загрузчика GRUB, а также причины их появления. На примерах были подробно рассмотрены основные и самые доступные способы восстановления работы GRUB.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.







