Как узнать версию grub

Как узнать версию GRUB

Как мне найти версию GRUB, которая работает в определенной версии Ubuntu? Я хочу команду терминала, которая говорит мне.

6 ответов

Для меня приведенный выше ответ @Daniel не работает. У меня Ubuntu 14.04 LTS (это также работает с Ubuntu 17.10) и для проверки версии Grub (Grub2) мне нужно набрать:

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

И это даст вам правильную версию grub, установленной в данный момент.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Это примерно сделает работу:

Вы должны заметить, что просто чтобы запутать вещи, что версия 1.9x известна как Grub2. Я думаю, что они считают это таким же образом, что люди назвали бы 1600-1699, 17 век.

который покажет вам что-то вроде этого:

Это также можно выяснить с помощью одного из них:

Я тоже брошу свою шляпу на ринг. Вы также можете сделать это с apt-cache policy grub-pc

Чтобы узнать, какой загрузчик вы используете, вам нужно посмотреть загрузчик!

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

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

в частности, для дисков с разделами MBR/msdos: проверьте MBR (т.е. посмотрите на загрузчик, чтобы узнать, какой загрузчик вы используете)

У этого дубликата есть несколько хороших ответов: Как мне узнать, какой у меня загрузчик?

Источник

Инструкция по настройке загрузчика GRUB

/Для загрузки Linux-систем (как впрочем и любой другой UNIX-подобной системы) существует универсальный загрузчик GRUB – GRand Unified Boot loader. Он обладает довольно широким функционалом. Позволяющим не только осуществлять корректную загрузку операционных систем (ОС), но и управлять непосредственно конфигурацией и самим процессом загрузки в интерактивном режиме. В деятельности, связанной с системным администрированием знание возможностей GRUB и умение их применять очень часто экономит в различных и нестандартных ситуациях огромное количество времени системным администраторам.

Как работает GRUB?

Загрузчик GRUB – это GNU-проект, разработанный специально для использования в качестве загрузчика по-умолчанию для систем UNIX и Linux. Для подавляющего числа дистрибутивов GRUB давно поставляется «из коробки». Его главной задачей является работа со списком (который подготавливается заранее вручную или автоматически) вариантов загрузки, из которого выбирается нужный для последующей загрузки системного ядра с определёнными для выбранного варианта параметрами.

Стоит отметить, что на данный момент в большинстве случаев используется загрузчик GRUB2, однако некоторые разработчики дистрибутивов по прежнему продолжают применять первоначальную версию загрузчика, часто называемую GRUB Legacy. Обе эти ветви развития существуют и развиваются параллельно. Основное же отличие между ними — это синтаксис в файлах конфигурации.

GRUB читает конфигурацию загрузки при каждом запуске компьютера. Сами файлы конфигурации (в зависимости от используемой версии и дистрибутива) следующие: /boot/grub/menu.lst, /boot/grub/grub.conf или /boot/grub/grub.cfg для версии 2. В системах Red Hat используются файлы grub.conf, а для Ubuntu, SUSE и Solaris – menu.lst. Эти файлы имеют незначительные различия в синтаксисе конфигурации. Для примера, содержимое grub.conf может быть таким:

В этом примере конфигурируется загрузка всего одной системы Red Hat, которая (согласно default=0) будет загружена автоматически по прошествии 10 секунд (timeout=10), если не будет нажата какая-либо клавиша на клавиатуре. При этом корневая файловая система должна искаться, согласно параметру (hd0,0) команды root, на первом разделе первого жесткого диска.

Для поиска файла ядра задаётся путь относительно загрузочного раздела, монтируемого в каталог /boot. Для приведённого примера ядро будет загружаться из файла /vmlinuz-2.6.18-92.1.10.el5. Затем загрузчик выведет на экран заставку из файла /boot/grub/splash.xpm.gz, находящегося, как указано в команде splashimage, на разделе (hd0,0).

Настраивать параметры загрузки можно и в интерактивном режиме, используя интерфейс командной строки. Для этого нужно на экране меню загрузки нажать клавишу «c».

После чего мы попадем в командную строку. В которой уже можно выполнять команды.

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

КомандаНазначение
rebootПерезагружает систему
findПроизводит поиск файла во всех смонтированных логических разделах
rootЗадаёт корневое устройство (логический раздел)
kernelЗагружает ядро системы с корневого устройства
helpВыводит интерактивную справку по команде
bootЗагружает систему с указанного образа ядра

Настройка параметров ядра

Системное ядро во время его загрузки можно (и нужно) заставить вести себя определённым образом, например опрашивать определённые устройства, искать демон init по нестандартным путям, указывать корневое устройство и т. д. Всё это легко позволяет настроить загрузчик. Для этого он использует некоторые параметры, самые основные из которых приведены в следующей таблице:

Важно заметить, что конфигурация, задаваемая при помощи интерфейса командной строки GRUB не сохраняется. Для задания постоянной конфигурации загрузки необходимо отредактировать файл grub.conf (grub.cfg для GRUB2) или menu.lst.

Мультисистемная конфигурация

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

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

Конфигурация GRUB для загрузки Windows-систем несколько отличается от Linux. Так, например конфигурация запуска Windows XP может быть такой:

Здесь команда chainloader предназначена для передачи управления Windows-загрузчику, расположенному в первом секторе (+1) первого раздела первого жёсткого диска (hd0,0). А команда rootnoverify указывает GRUB, что монтировать раздел (hd0,0) не нужно, т. к. должна загружаться «неродная» система Windows. Пример мультисистемной конфигурации:

В этом примере ОС Windows должна будет загружаться по-умолчанию (default=0). Через 5 секунд (в течение которых не нажата какая-либо клавиша на клавиатуре) с первого раздела первого жёсткого диска. А ОС Red Hat – со второго раздела того же диска.

Также важно отметить, что в процессе обновлений (как правило автоматических) системного ядра, файлы старых версий ядер не удаляются. Но при этом скрипты из пакета обновлений могут автоматически отредактировать конфигурацию загрузки. Добавив новый вариант загрузки для нового ядра. Которое устанавливается в систему независимо от уже имеющихся в ней других ядер. Поэтому ничего удивительного в том, что пунктов меню, отражающих варианты загрузки. Cо временем (после каждого обновления ядра) становится всё больше и больше. Это довольно удобно, т. к. в случае, если с новым ядром система стала работать некорректно. Или вовсе «сломалась» – есть возможность использовать старое ядро. Воспользовавшись соответствующим пунктом меню загрузки GRUB.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Содержание

Первые шаги

При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.

И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.

Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.

/etc/default/grub

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

Изменение стандартного пункта загрузки

Значением «GRUB_DEFAULT» является номер пункта меню, который должен быть выбран стандартным. Чтобы выбрать другой пункт, нам нужно узнать, каким по счету он будет в списке. Есть два варианта:

Или же можно указать значение идентификатора (id), оно должно быть именно таким, каким мы его видим в «/boot/grub/grub.cfg«. Данный способ удобен тем, что после обновления ядра не придется изменять настройки из-за сбившейся нумерации.

Пример

Если в «grub.cfg» пункт меню выглядит так:

То значение параметра «GRUB_DEFAULT» должно указываться именно в виде:

Изменение времени отображения меню

«Скрытое» меню

В случае, если на компьютере установлена только Ubuntu, меню загрузки по умолчанию не будет отображаться, а GRUB будет загружать вас напрямую в систему. Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. Для этого предусмотрено «скрытое меню» за него отвечает параметр «GRUB_HIDDEN_TIMEOUT».

Параметр «GRUB_HIDDEN_TIMEOUT_QUIET» отвечает за отображение таймера во время паузы. Если его значение «true» таймер отображаться не будет, а со значением «false» будет.

Чтобы GRUB отображал меню со списком установленных операционных систем, без нажатия клавиш вызова меню (например Shift или Esc ) необходимо:

Убираем подменю

Чтобы раскрыть все меню используем такой параметр:

Это бывает нужно если хотим загружаться не с первой строчки.

Особые случаи

Поведение меню отличается от заданного переменными GRUB_TIMEOUT и GRUB_HIDDEN_TIMEOUT когда предыдущая загрузка не завершилась успехом или предыдущаяя загрузка происходила в режиме восстановления. Подробно это описано далее, в разделе «Защита от зацикливания на перезагрузке». Полную справку по параметрам файла настроек можно дав команду:

Изменение стандартных параметров загрузки ядра

Вы можете добавить необходимые вам параметра запуска ядра, приведя это значение к виду «quiet splash your_param1 your_param2», то есть дописав через пробел нужные параметры.

Пример

Чтобы заменить графическую заставку во время загрузки на информацию о загрузке компонентов системы (это позволит проследить за процессом загрузки и выявить неполадки). Необходимо заменить строчку:

/etc/grub.d

Эта папка содержит в себе скрипты, которые используются для создания файла «grub.cfg». При обновлении GRUB они находят все установленные на компьютере системы и ядра и формируют в файле «grub.cfg» меню загрузки, которое мы и видим. Два основных из них:

Пример

Добавляем режим загрузки без графической заставки, с текстовым отображением процесса загрузки (verbose mode). Для этого мы немного отредактируем обычный пункт загрузки. допустим, он выглядит так (в «/boot/grub/grub.cfg«):

Для того, чтобы сделать из этого verbose mode, нам нужно убрать опции quiet и splash и изменим название самого пункта. В итоге получаем:

Все это и добавляем в «40_custom» в конец файла. Строка с echo не является обязательной она лишь будет сигнализировать нам о том, что наш пункт найден и добавлен при обновлении GRUB.

Команды консоли GRUB

Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.

Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).

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

linux

Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:

initrd

Загружает указанный initrd-образ. Используется так:

chainloader

Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:

Для (загрузчика Windows) можно использовать:

После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)

Весьма универсальная команда для изменения различных параметров. Служит для задания значений переменных и используется в формате:

search

Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:

lsfonts

Команда отобразит список загруженных в настоящий момент шрифтов.

При использовании в чистом виде выведет список доступных команд. В формате:

Выведет справку по всем командам, начинающимся на «r».

Отобразит справку по команде «search»

reboot

background_image

Позволяет «на лету» изменить фоновое изображение. Используется в формате:

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

terminal_output.console

Применение изменений

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

Нюанс с нумерацией дисков и разделов

Если в GRUB Legacy первый раздел первого диска (sda1) именовался «hd0,0». То в GRUB, первый раздел первого диска (sda1) теперь будет «hd0,1».

Создание дополнительного меню загрузки

Суть в том, что вместо уже знакомого «grub.cfg» можно загрузить свой файл настройки загрузочного меню со своей конфигурацией. Это позволяет создать дополнительное меню с другими пунктами, настройками, оформлением и т.д. Итак, создадим наш новый файл конфигурации. Создавать с нуля не будем, а скопируем «grub.cfg», дав новое имя:

Поскольку файл скопируется с правами 444, выставим ему права на запись:

Теперь открываем его в любимом текстовом редакторе и изменяем:

Строкой ниже мы можем задать цвета текста. Изменяются они так же, как и в »/etc/grub.d/05_debian_theme« (см. Настройка внешнего вида загрузчика GRUB). Можно проделать один интересный трюк: уберите строки с set color_highlight и else теперь настройка будет такой:

Закончив с настройкой, перейдем к пунктам меню, они идут ниже. Измените их, удалите ненужные и добавьте новые, пересортируйте на свой вкус.

Настроив свой файл, сохраните его Ctrl + Shift и закройте.

Теперь необходимо добавить дополнительное меню. Для этого в файле »/etc/grub.d/40_custom« добавим запись такого вида:

Если вы хотите, чтобы ваше новое меню загружалось вместо стандартного «grub.cfg», установите новый пункт в качестве пункта по умолчанию, но перед этим проверьте новое меню на работоспособность.

Обновите свой «grub.cfg» выполнив команду:

В качестве образца пример файла «custom.cfg» (файл урезан до необходимого минимума):

Защита от зацикливания на перезагрузке

Зачем это сделано

А что если.

А что если отключить?

Отключаем.

Как это работает

Для того, что бы убрать необходимость интерактивного вмешательства в процесс загрузки нужно установить переменную GRUB_RECORDFAIL_TIMEOUT в /etc/defaul/grub в то количество секунд, которые меню GRUB-а будет ждать ввода в случае когда recordfail=1. Сохранить изменения и обновить GRUB (sudo update-grub).

Финт с GRUB_RECORDFAIL_TIMEOUT может не сработать в некоторых (старых) версиях GRUB. Тогда нужно редактировать /etc/grub.d/00_header. Нужно найти функцию make_timeout (), которая выглядит примерно так:

и заменить в ней строчку

После этого финт с GRUB_RECORDFAIL_TIMEOUT заработает. Нужно сохранить изменения и обновить GRUB (sudo update-grub).

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Загрузчики Linux

Master Boot Record

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

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

MBR Master Boot Record это первые 512 Байт диска, это не раздел, не партиция это участок места в начале жесткого диска, зарезервированный для загрузчика Операционной системы и таблицы разделов.

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

Для начала надо нам понять, что и куда у нас смонтировано какой раздел у нас является загрузочным и его скопировать. Вводим команду fdisk l и видим следующее:

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Только, что мы скопировали первый блок жесткого диска, это то самое место, где на жестком диске находится MBR.

Загрузчики

Первый загрузчик Lilo Linux Loader

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Это был самый популярный загрузчик для Linux и для Unix систем в целом, он не зависел от файловой системы, мог загружать ОС с жесткого диска или с дискеты. Из этого выходила его особенность, загрузчик Lilo хранил в своем теле положение ядер и пункты меню и требовал обновления себя с помощью специальной утилиты, можно было поместить до 16 пунктов меню при загрузке. Данного загрузчика уже нету во многих дистрибутивах ОС Linux.

В настоящее время повсеместно используется загрузчик GRUB2, но мы можем поставить загрузчик Lilo, чтобы с ним разобраться.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

В процессе установки выскакивает предупреждение, что это первая установка lilo, после установки необходимо будет исполнить команду, а затем запустить непосредственно загрузчик, который применит непосредственно все изменения. Нажимаем ОК. Далее запускаем liloconfig. Ничего не произошло, просто утилита создала файл и этот файл является файлом конфигурации. С помощью команды cat /etc/lilo.conf мы можем посмотреть файл конфигурации загрузчика.

В заголовке файла написано сразу, что после внесения изменений необходимо выполнить команду lilo, чтобы он сразу применил их. Далее идут основные параметры конфигурационного файла. Первый параметр lba32. Вот он как раз и меняет ту самую традиционную конфигурацию цилинд-головка-сектор, на logical block адреса, что позволяет работать с большими дисками.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

В разделе boot мы должны указать на каком диске у нас находится MBR. Если внимательно посмотреть, то можно увидеть подсказку, где посмотреть /dev/disks/by-id/ata* uuid дисков. После, чего можно скопировать имя диска и вставить его и тогда его сможет загружать. Lilo узнает, где MBR и будет оттуда загружать систему.

Далее мы можем посмотреть, где находятся ядра нашей операционной системы. Когда мы запустили liloconfig загрузчик нашел наши ядра операционной системы. Как видно на скриншоте определил версию ядра, определил где будет корневая файловая система. Смонтировал в режиме read-only. В данных параметрах мы может отредактировать строчку lable, чтобы переименовать отображение при загрузке. Если есть желание можно отредактировать данный файл и добавить еще ядро, если установлена вторая OS.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Загрузчик GRUB

Старый загрузчик GRUB эта та версия загрузчика, который использовался с Lilo. Тогда Lilo был самый распространенный. Теперь данный загрузчик называется Grub legacy. Больше никак не развивается, для него выходят только патчи и обновления и его даже невозможно установить на новые операционные системы. Т.к. команды и инструментарий используется одинаковый, как для старого GRUB, так и для нового.

Далее мы будем рассматривать современный вариант загрузчика GRUB 2.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

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

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Отредактировать данный файл возможно в редакторе.

Второй путь к папке /etc/grub.d в ней лежат исполняемые файлы. Данные файлы сканируют, также ядра при необходимости добавят нужные параметры в загрузчик. Мы всегда можем добавить опцию и написать скрипт. Для применения настроек в загрузчике, надо выполнить update-grub.

Источник

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

Цель данной статьи предоставить вам основные сведения о начальном загрузчике GRUB. Если вы читали мои другие статьи о Linux, то вы хорошо знакомы с разбиением на разделы и условными обозначениями Linux, а также с командной строкой. Логично сделать следующий шаг для дальнейшего углубления этих знаний. Понимание того как работает GRUB и, что означают записи в загрузочном меню, поможет вам понять как работает операционная система, как исправить возникающие ошибки, как восстановить или модифицировать меню загрузчика GRUB в соответствии с вашими нуждами и как установить несколько операционных систем с разными рабочими средами.

Ну, если вы готовы, читайте дальше.

Содержание

Все есть файл

Для того чтобы успешно овладеть секретами GRUB вы должны понять один из фундаментальных принципов *NIX-ориентированных операционных систем. Все есть файл. Даже жесткие диски и разделы рассматриваются как файлы. Это не магия. Если вы помните это, то рискованная задача изменения разделов жесткого диска покажется вам ничем не отличающейся от манипуляции с файлами в файловом менеджере (или командной строке).

Теперь, когда мы знаем это, мы можем перейти к подробному изучению технических деталей.

Введение

GNU GRUB это загрузчик (то есть начальный или первичный загрузчик) способный загружать различные свободно распространяемые и проприетарные операционные системы. GRUB будет хорошо работать с Linux, DOS, Windows или BSD. Аббревиатура GRUB расшифровывается, как GR and U nified B ootloader (Главный унифицированный загрузчик).

Что такое LILO?

Подводя итог изложенному выше, отметим, что GRUB выглядит победителем. Итак, позвольте показать, что эта малютка может делать.

Как работает GRUB?

Когда компьютер загружается, BIOS передает управление первому загрузочному устройству, которое может быть жестким диском, дискетой, CD-ROM или другим устройством, распознаваемым BIOS. Для простоты будем считать, что это жесткий диск.

Первый сектор жесткого диска называется Master Boot Record (MBR) (Главная Загрузочная Запись). Длина этого сектора всего 512 байт. Он содержит небольшой фрагмент кода (446 байт), который называется основной загрузчик, и таблицу разделов (64 байта). Таблица разделов содержит описание первичных и дополнительных разделов жесткого диска.

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

GRUB заменяет код MBR по умолчанию собственным кодом.

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

Структура Стадии позволяет GRUB иметь довольно большой объем (

20-30К). Поэтому GRUB достаточно сложный и хорошо конфигурируемый, по сравнению с большинством загрузчиков, которые более компактные и проще укладываются в ограничения для Таблицы Разделов.

Терминология GRUB

Этот раздел предназначен для того чтобы помочь вам освоиться с GRUB без соприкосновения с ним. В следующем разделе рассматриваются актуальные файлы и ручная конфигурация GRUB.

GRUB имеет собственные условные обозначения, которые немного отличаются от общепринятых условных обозначений применяемых в Linux.

Вот, пример типичного начала GRUB:

Отсюда следует, что в GRUB (меню) не различаются IDE и SCSI приводы или первичный и логический разделы. Задача определения какой жесткий диск или раздел должен быть загружен, определяется BIOS и на Стадии 1.

Как видите, условные обозначения очень простые.

Только этих входных данных недостаточно для загрузки операционной системы.

Также GRUB необходимо знать какой из образов операционной системы загружать. Эти параметры и специальные флаги (ключи) присваиваются каждому загрузочному устройству. Например, специальный флаг для Windows Safe Mode.

Здесь показан пример меню GRUB загружающего только Ubuntu.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Здесь показан пример меню GRUB для компьютера с тройной загрузочной конфигурацией (SUSE 10.2, Ubuntu 6.10 и Windows XP). Это реальный menu.lst на одной из моих действующих машин.

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Первая строка ( default 0 ) означает, что будет загружена первая операционная система из списка. В нашем случае, это SUSE 10.2. Вторая строка ( timeout 8 ) сообщает сколько времени (в секундах) имеется у пользователя чтобы выбрать систему для загрузки до того как загрузится система по умолчанию. Просто, не правда ли?

GRUB меню может быть графическим. Все необходимое для отображения изящного пользовательского представления с цветным фоном и некоторыми дополнительными элементами, размещено на первом физическом диске, третьем разделе (hd0,2). Это первичный раздел, как вы успели заметить.

Это первая операционная система в меню.

Дополнительные ключи используются после указания ядра. Они определяют текущее размещение корневой директории (root), используемый графический режим и размещение раздела подкачки (swap). В этой статье не будут рассматриваться подробно расширенные конфигурации GRUB.

Замечания по разделам модулей ядра и корневому разделу: на старых компьютерах, BIOS которых не поддерживает доступ к более чем 1024 цилиндрам, вы должны были установить загрузочный раздел, содержащий модуль ядра и корневой раздел, в разных местах. Однако пользователи с компьютерами младше чем проблема Y2K (проблема 2000 года) могут не беспокоиться.

Другая вещь, на которую вы должны обратить внимание, это подробная загрузка Ubuntu. Ubuntu загружается с помощью загрузчика OpenSUSE. Это свойство называется совместимая мультизагрузка (Multi-boot Compliance). OpenSUSE распознает Ubuntu и может правильно вызвать ее модули (включая специальные ключи) и cмонтировать разделы. Однако большинство операционных систем лишь частично совместимы с данным свойством (Multi-boot Compliance).

Позже я покажу вам как по разному может быть выполнен вход в Ubuntu с одинаковыми результатами.

Вернемся к Ubuntu. Вы, помните я говорил, что мы сможем загрузить Ubuntu другим способом? В самом деле, мы можем просто воспользоваться chainloaded, точно также как и для Windows.

Это будет работать также хорошо.

Следующий пункт в меню позволяет вам загрузить SUSE в защищенном (failsafe) режиме (разновидность безопасного режима). Этот пункт не содержит очень ценной и полезной информации, поэтому пропустим его, без ущерба для наших знаний.

Позвольте привести несколько примеров.

Приведенный ниже действующий пример, который записан в Ubuntu menu.lst (конечно, закомментирован).

Второй пункт меню еще проще. Мы назвали его Linux, определили его раздел и загружаем его ядро. Этот случай очень интересный. Так как образ ядра и корневой раздел (root или /) находятся на разных разделах. Этот случай очень похож на случай со старыми компьютерами или компьютером с одним загрузочным разделом.

И наконец, совершенно безумные вещи:

Вы понимаете, что все просто! Когда вы набьете руку, все сомнения исчезнут.

Конфигурация GRUB

Тем не менее, вам необходимо знать где и что нужно делать, если что-то пойдет не так.

Установка GRUB

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

Ранее мы не устанавливали GRUB, поэтому нам необходимо знать местонахождение требуемых файлов.

Если GRUB установлен, то его меню находится внутри корневого раздела:

Всегда, всегда делайте резервную копию этого файла перед любыми изменениями!

Так же GRUB файлы могут находиться внутри образа вашей операционной системы (как правило, CD):

Вы должны также знать основные команды Linux, относящиеся к жестким дискам и разделам. С этой целью, вы можете посмотреть мою статью «Самые полезные настройки и команды Linux».

Тем не менее здесь приводится ее краткая версия, для тех кого не радует чтение еще одной статьи.

Вы можете вывести на экран любую информацию о среде вашего ПК (персональный компьютер), используя терминал или текстовый редактор. Чтобы открыть файлы в текстовом редакторе необходимо указать в командной строке текстовый редактор, имя файла и путь к нему. Для открытия системных файлов необходимо иметь права суперпользователя (su или sudo для системных файлов).

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

Выводит на экран таблицу разделов:

Выводит на экран список монтированных разделов:

Сейчас мы знаем что нужно, и где это найти, для того чтобы установить GRUB.

GRUB на флоппи диске

Ниже приводится список команд, которые необходимо выполнить (они взяты из руководства):

Небольшое пояснение: if обозначает файл ввода, of обозначает файл вывода, /dev/fd0 ссылка на первый смонтированный дисковод флоппи дисков, bs заданный размер блока (в байтах), count инструкция, указывающая на количество блоков, которое должно быть скопировано, и seek указывает сколько блоков будет пропущено перед записью. Неудивительно что выбрана такая последовательность команд записи. В начале мы записали stage1 в первый сектор и скопировали stage2 во второй (пропустили первый сектор и затем записали).

Это все насчет установки GRUB на флоппи диск. Так как мы скопировали стадии из образа операционной системы, то у нас имеется вся необходимая информация для настройки. Конечно, вы всегда можете внести изменения вручную. Однако об этом в следующем разделе.

Установка GRUB по умолчанию

Для установки GRUB в MBR вам необходимо загрузиться с внешнего носителя (флоппи диск, live CD Linux). После загрузки, как только будет доступно приглашение на ввод команды GRUB (grub>), выполните следующие команды:

Найдите корневое устройство GRUB :

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

Эти системы имеют свой собственный GRUB, поэтому любая из них может быть использована в качестве GRUB устройства (так как каждая из них имеет свои собственные файлы GRUB).

Если вы хотите использовать SUSE GRUB, вам необходимо сделать корневым устройством GRUB (GRUB root device) первый раздел жесткого диска (hd0,1) :

Если вам известно размещение корневого раздела GRUB и необходимых файлов, то можете обойтись без команды find.

Если вы определили корневой раздел, вам необходимо записать информацию в MBR (Главную Загрузочную Запись):

И наконец, выйдите из GRUB консоли:

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

Вы можете установить GRUB на другой физический диск или раздел. В этом случае вам нужно будет осуществить последовательную загрузку (chainload), то есть необходимо передать управление от GRUB другому загрузчику, который выполнит загрузку системы вместо него.

Это все. Просто и быстро!

Установка GRUB с помощью grub-install

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

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

Настройка GRUB вручную (после установки)

Вы можете переконфигурировать или переустановить GRUB в любой момент.

Резервное копирование!

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

Для получения доступа к GRUB выполните следующую команду в Linux терминале:

Как узнать версию grub. Смотреть фото Как узнать версию grub. Смотреть картинку Как узнать версию grub. Картинка про Как узнать версию grub. Фото Как узнать версию grub

Также вы можете получить доступ к командной строке GRUB во время загрузки. Когда меню GRUB загружается, нажмите кнопку C на клавиатуре.

Добавление новой операционной системы в меню GRUB

Примечание: Разделы GRUB меню названы комнатами (возможно это особенность данного экземпляра?).

Таким образом, нам необходимо добавить Sabayon в конфигурационный файл GRUB.

Если вы знаете, где Sabayon был установлен, то вам надо добавить его данные в menu.lst.

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

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

Типичные проблемы

Как восстановить GRUB после удаления?

Простой способ

Сложный способ

Все тоже самое, что и раньше!

Windows установлена не на первом жестком диске (Своппинг)

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

После добавления этих двух строк, вы должны загрузить Windows (или DOS).

Несколько Windows операционных систем установлены на одном первом жестком диске (Скрыть/Показать)

С Windows опять могут возникнуть проблемы, если имеется несколько экземпляров размещенных на одном жестком диске, в особенности, если они установлены на первичных разделах. Раньше, когда вы использовали команду chainloader (последовательная загрузка), вы передавали управление начальному загрузчику Windows. Какому загрузчику операционной системы передать управление сейчас?

Проблема легко решается с помощью скрытия и отображения разделов. Если GRUB скроет раздел, то он будет невидим для Windows, что позволить избежать неопределенности. И наоборот, если вы сделаете видимым раздел, Windows обнаружит его и сможет с него загрузиться.

Приводимый здесь пример, взят из руководства, он демонстрирует этот момент.

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

Вы изменили размер раздела; GRUB не работает

Это интересный случай. Он может случиться после использования программного обеспечения для работы с жесткими дисками (управление разделами жесткого диска, восстановление разделов из образов разделов, и т.д.), которое изменяет Таблицу Разделов. Обычно это случается, когда вы делаете такие изменения из Windows. Linux не будет информирована об этих изменениях, потому что Windows не обращает внимания ни на что, кроме имеющихся на этой машине продуктов Microsoft. Следовательно, GRUB не будет работать.

Скорее всего повреждена файловая система и ее необходимо восстановить для решения данной проблемы.

Загрузитесь с live CD и выполните следующие команды (предполагается что вы знаете, где размещены Linux-разделы).

Выполните проверку файловой системы:

Замените X и Y буквой жесткого диска и номером раздела, который вы хотите проверить (hda2, hdb3, и т.д.).

Теперь монтируйте корневую файловую систему на /mnt/sysimage и запустите grub :

Вы снова вернулись в знакомую среду.

В заключение, несколько каверзных вопросов, отвеченных в Ubuntu wiki :

Полезные инструменты

Это live CD, который специально предназначен для аварийного восстановления. Этот пакет инструментальных программных средств включает несколько очень важных утилит доступных пользователю Linux, например, GParted, QTParted, Partimage, Grub, Lilo, sfdisk, утилиты обеспечения безопасности, сетевые утилиты и много других.

Super Grub Disk предназначен для запуска с флоппи диска или CD, и применяется для восстановления системы. Самое важное, что он может восстановить первичный загрузчик, например, GRUB, LILO и даже загрузчик Windows.

Источник

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

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