Перейти к содержимому

Как установить grub на windows

  • автор:

Загрузчик GRUB и Windows

У каждой из операционной систем есть свой загрузчик, а у каждого жёсткого диска (область называется MBR) и раздела на диске область, в которую можно этот загрузчик установить.

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

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

Различия загрузчиков

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

Загрузчик от Linux, имеется ввиду GRUB, более функционален и позиционируется как универсальное средство загрузки различных операционных систем (а их десятки), учитывая их особенности.

Считается проще и логичнее использовать как основной загрузчик GRUB, так как он успешно загружает как Linux так и Windows различных версий.

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

Иногда случаются ситуации, когда линуксовый загрузчик вроде бы прописал возможность загрузить windows, но система не загружается, для этого необходимо в консоли от пользователя root выполнить команду:

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

утилита сканирует разделы на диске и добавит обнаруженные операционные системы в меню загрузки.

Восстановление Grub после установки Windows 10

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

Когда нужно восстановление?

Восстановление grub требуется в следующих случаях:

  1. Установка новой операционной системы: при установке новой ОС (например, Windows) она может затереть или изменить загрузчик grub, что может привести к тому, что вы не сможете загрузиться в другие ОС на вашем компьютере. Восстановление grub поможет восстановить возможность выбора и загрузки других операционных систем.
  2. Обновление или удаление grub: в некоторых случаях, при обновлении или удалении grub могут возникнуть проблемы, из-за которых ваш компьютер может не загружаться. Восстановление grub поможет исправить эти проблемы и вернуть нормальную загрузку системы.
  3. Изменение разделов жесткого диска: если вы изменяли разделы на жестком диске (например, создали новый раздел или изменяли размер существующего раздела) без использования соответствующих инструментов, это также может привести к потере загрузчика grub. Восстановление grub позволит восстановить возможность загрузки операционных систем на вашем компьютере.

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

Как восстановить grub?

Инструкция по восстановлению grub:

  1. Загрузитесь с помощью LiveCD или Live USB-накопителя. Должна быть установлена та же версия Linux, что и на вашем компьютере.
  2. Откройте терминал и выполните следующую команду, чтобы найти раздел, содержащий вашу Linux-установку: sudo fdisk -l
  3. Обратите внимание на раздел, помеченный как «Linux» или «Linux LVM».
  4. Смонтируйте раздел Linux на вашей системе. Предположим, что он находится в разделе /dev/sda1. Выполните следующую команду для монтирования раздела: sudo mount /dev/sda1 /mnt
  5. Установите несколько необходимых пакетов. Выполните следующую команду: sudo apt-get install grub2-common grub-pc
  6. Восстановите grub. Выполните следующую команду: sudo grub-install —root-directory=/mnt /dev/sda
  7. Запустите обновление grub. Выполните следующую команду: sudo update-grub
  8. Смонтируйте раздел Linux. Выполните следующую команду: sudo umount /mnt
  9. Перезагрузитесь и проверьте, восстановлен ли grub.

Это базовая инструкция. В зависимости от вашей конкретной ситуации, вам могут потребоваться дополнительные шаги или команды. Если у вас возникли какие-либо проблемы или ошибки, рекомендуется обратиться к официальной документации вашего дистрибутива Linux или поискать дополнительную информацию в Интернете.

Восстановление после Windows 10

Если вы используете UEFI и хотите восстановить grub после установки Windows 10, есть более простое решение.

Вот пошаговая инструкция:

Запустите Windows 10 и откройте командную строку с правами администратора. Для этого нажмите Win + X и выберите «Командная строка (администратор)».

В командной строке выполните следующую команду, чтобы отключить Fast Startup (Быструю загрузку) в Windows 10:

Теперь выполните следующую команду, чтобы увидеть список разделов на вашем компьютере:

В командной строке Diskpart выполните следующую команду, чтобы узнать номер раздела, в котором установлена ваша Linux-система. Обратите внимание на размер раздела (в GB) и метку файловой системы, чтобы найти правильный раздел. Запишите номер раздела, он понадобится на следующем шаге.

Теперь в командной строке выполните следующую команду, чтобы восстановить загрузчик GRUB на выбранный раздел (номер_раздела):

bcdedit /set path \EFI\ubuntu\grubx64.efi«` или «`bcdedit /set path \EFI\pop_os\GRUB.ext

(зависит от вашего дистрибутива).

Перезагрузите компьютер. Теперь должен быть восстановлен grub и вы сможете выбрать вашу Linux-систему в меню загрузки.

Это более простое решение, которое позволяет восстановить grub с использованием Windows 10 и без необходимости использовать LiveCD или другие инструменты. Обратите внимание, что в некоторых случаях может потребоваться дополнительная настройка или более сложные действия.

Загрузочный носитель
на основе GRUB2 for Windows

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

Технические требования к загрузочному носителю

Рисунок 1. Из SD-карты и кардридера можно собрать функциональный носитель с аппаратной защитой от записи

Сменный загрузочный носитель, как правило, предназначен для первоначальной установки операционной системы или восстановления работоспособности компьютера. Для первого варианта использования на носителе должен находиться инсталляционный образ операционной системы с возможностью запуска процедуры установки. Во втором случае вероятно использование носителя в среде, пораженной компьютерными вирусами, откуда следует необходимость защиты его от записи на аппаратном уровне. С учетом высказанных предпосылок в качестве загрузочного носителя удобно выбрать SD-карту. Оптические диски практически вышли из широкого обращения, а USB-флешки с аппаратной защитой от записи не везде можно встретить в продаже, и цена на них не всегда оправдана. В то же время любая SD-карта имеет переключатель защиты от записи, что в комплекте с кардридером превращает ее в недорогой, но функциональный носитель (см. рис. 1). Рисунок 1. Из SD-карты и кардридера можно собрать функциональный носитель с аппаратной защитой от записи Чтобы носитель можно было использовать как на компьютерах с загрузчиком BIOS, так и на платформах со схемой загрузки EFI, создадим на носителе три раздела MBR:

  • Раздел FAT32 – для загрузчика GRUB2, ISO-образов специализированных дистрибутивов для восстановления работоспособности системы и Windows-утилит.
  • Раздел с ISO-образом дистрибутива Mageia-6.1-Live-DVD-Xfce-i586-DVD.iso, который, будучи не требовательным к ресурсам компьютера, предоставляет полноценный рабочий стол с офисным пакетом и веб-браузером.
  • Раздел с инсталляционным ISO-образом дистрибутива Mageia-6-i586-DVD.iso, который содержит в себе набор программного обеспечения, достаточный для организации как автоматизированного рабочего места офисного работника, так и для построения сервера организации.

Разметка носителя

Для хранения перечисленных выше данных будет достаточно накопителя емкостью 8 Гб. Его разметку можно выполнить под Windows с помощью штатной утилиты diskpart. Сначала нужно с помощью команды list disk вывести таблицу подключенных к компьютеру накопителей, чтобы определить, над каким выполнять операции.

C:\> diskpart DISKPART> list disk

По значению в колонке «Размер», которое должно равняться 7580 Мбайт, определяем номер носителя для дальнейшей работы. Допустим, что в колонке «Диск ###» интересующему носителю соответствует номер 9. Очистим его содержимое.

DISKPART> select disk 9
Выбран диск 9
DISKPART> detail disk

В соответствии с принципом осмотрительности администраторов баз данных «Семь раз SELECT – один UPDATE» убедимся в правильности нашего выбора нужного сменного носителя.

В выводе команды detail disk должна содержаться следующая надпись:

USB Mass Storage Device USB Device, Тип: USB

и информация о единственном пока что разделе:

FAT32 Сменный 7576 Мб Исправен

Если сомнений больше не осталось, выполняем очистку носителя:

DISKPART> clean

После успешного выполнения команды должно появиться сообщение:

DiskPart: очистка диска выполнена успешно

Если же появилось сообщение об ошибке, например:

Программа DiskPart обнаружила ошибку: Не удается найти указанный файл

то команду нужно повторить.

Снова выводим таблицу со списком носителей:

DISKPART> list disk

Для инициализированного носителя «Диск 9» будет выведено:

Размер: 7580 Мб, Свободно 7579 Мб

Свободное пространство нужно разметить на три раздела:

  • Один раздел – для ISO-образа Mageia-6-i586-DVD.iso размером 3,921,674,240 байт или 3740 Мб (если дважды разделить количество байтов на 1024).
  • Второй раздел – для ISO-образа Mageia-6.1-LiveDVD-Xfce-i586-DVD.iso размером 2,028,994,560 байт или 1935 Мб.
  • Третий раздел, который займет оставшееся свободным пространство, будет предназначен для загрузчика, Windows-утилит и вспомогательных загрузочных образов. Его размер составит 7579 – (3740 + 1935) = 1904 Мб.

Разделы лучше располагать на носителе в порядке, обратном перечисленному, – сначала загрузочный раздел, а после него – с ISO-образами дисков. Поэтому создадим сначала раздел размером 1904 Мб. Поскольку загрузочный носитель планируется максимально универсальным, попытаемся сделать этот раздел загрузочным по спецификации EFI:

DISKPART> create partition efi size=1904

Эта команда завершится с ошибкой и сообщением о том, что EFI-разделы поддерживаются только для GPT-дисков. К сожалению, один накопитель может быть размечен либо по схеме MBR, которую поддерживают загрузчики BIOS, либо по схеме GPT, которую поддерживают загрузчики EFI, и совместить эти схемы в пределах одного накопителя согласно разделу 5 спецификации UEFI 2.7 [8] никак не возможно.

Тем не менее практика показывает, что в большинстве случаев реальные реализации загрузчиков EFI без особых проблем распознают в качестве загрузочных разделы FAT32 с шестнадцатеричным кодом файловой системы EF, размещенные на дисках MBR. Воспользуемся этим фактом и создадим первичный MBR-раздел, после чего отформатируем его с присвоением метки BOOTDISK:

DISKPART> create partition primary size=1904 DISKPART> format FS=FAT32 LABEL="BOOTDISK" QUICK DISKPART> set >Если между командами create partition и format по каким-то причинам пришлось завершить утилиту diskpart, то восстановить контекст после ее запуска можно командами:
DISKPART> select disk 9 DISKPART> select partition 1

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

Теперь можно создать остальные разделы. В качестве идентификатора файловой системы им нужно назначить шестнадцатеричное значение 17 (ISO 9660).

DISKPART> create partition primary size=1935 DISKPART> set create partition primary size=3740 DISKPART> set >Каждая команда create partition должна завершаться сообщением:
Diskpart: указанный раздел успешно создан

а команда set сообщением:

Программа Diskpart успешно задала идентификатор раздела

Результат работы можно просмотреть с помощью команды list partition. А с помощью команды list disk можно убедиться, что на носителе не осталось неиспользованного пространства:

Свободно 0 байт

После этого можно завершить работу с программой diskpart:

DISKPART> exit

Запись ISO-образов в разделы накопителя

К сожалению, в операционной системе Windows нет средства, позволяющего с такой же легкостью, как утилита dd в мире UNIX, записывать файлы на устройства и обратно. Вероятно, по этой причине появился Windows-клон этой программы, которым мы воспользуемся для записи ISO-образов на разделы загрузочного накопителя.

Может возникнуть вопрос: «Зачем записывать образы ISO-дисков как «сырые данные» логических разделов и почему не записать их в виде файлов на обычный раздел, например FAT32?»

Дело в том, что образы Mageia [6] не поддерживают «петлевой» запуск из файла, как это уже давно умеют делать другие дистрибутивы, например Ubuntu и Fedora. Но поскольку они все же являются «гибридными» (то есть позволяют записывать себя как на DVD-матрицу, так и на USB-флешку), то есть шанс заставить их работать с раздела создаваемого носителя.

Для дальнейшей работы потребуется загрузить дистрибутивный архив dd-0.6beta3.zip [1] и извлечь из него программу dd.exe. Предполагается, что файлы с ISO-образами уже лежат в текущей папке.

Выясним способ адресации разделов создаваемого загрузочного носителя программой dd:

C:\> dd.exe --list
NT Block Device Objects . Ошибка! Недопустимый объект гиперссылки. link to Ошибка! Недопустимый объект гиперссылки. Removable media other than floppy. Block size = 512 size is 7948206080 bytes Ошибка! Недопустимый объект гиперссылки. link to Ошибка! Недопустимый объект гиперссылки. Removable media other than floppy. Block size = 512 size is 1996488704 bytes Ошибка! Недопустимый объект гиперссылки. link to Ошибка! Недопустимый объект гиперссылки. Removable media other than floppy. Block size = 512 size is 2028994560 bytes Ошибка! Недопустимый объект гиперссылки. link to Ошибка! Недопустимый объект гиперссылки. Removable media other than floppy. Block size = 512 size is 3921674240 bytes

В секции NT Block Device Objects нужно отыскать группу строк, сопровождаемых текстом Removable media other than floppyСменный носитель, отличный от гибкого диска»). Сведения о размерах найденных разделов подтверждают предположение о том, что записи «Ошибка! Недопустимый объект гиперссылки.» относятся к недавно созданным разделам на накопителе «Ошибка! Недопустимый объект гиперссылки.».

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

C:\> dd.exe if=Mageia-6-i586-DVD.iso of=Ошибка! Недопустимый объект гиперссылки. bs=1M --progress C:\> dd.exe if=Mageia-6.1-LiveDVD-Xfce-i586-DVD.iso of=Ошибка! Недопустимый объект гиперссылки. bs=1M --progress

С помощью параметра if= программе передается имя записываемого файла ISO-образа, через параметр of= указывается раздел накопителя, в который будет произведена запись, параметр bs= задает размер единовременно копируемого блока, а параметр —progress позволяет интерактивно наблюдать в консоли количество записанных данных (из-за большого размера файлов процесс занимает продолжительное время, которое зависит от класса SD-карты и версии интерфейса кардридера).

Успешная запись должна завершиться следующими сообщениями:

3,740M 3740+0 records in 3740+0 records out 1935M 1935+0 records in 1935+0 records out

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

Установка и проверка загрузчика

Для установки на носитель загрузчика GRUB2 нужно загрузить дистрибутивный пакет grub-2.02-for-windows.zip [2], извлечь из него папку grub-2.02-for-windows и сделать ее текущей. Для продолжения работы нужно выяснить, под какой буквой подключен в операционной системе раздел FAT32 настраиваемого носителя. Это можно сделать в программе diskpart с помощью команды list volume. Строка таблицы с нужным разделом будет содержать:

Тип: Сменный, Размер: 1904 Мб, Состояние: Непригоден

Допустим, что искомому разделу соответствует буква «R». Установка загрузчика может быть произведена командой:

C:\> grub-install.exe --boot-directory=R:\ --target=i386-PC //./PHYSICALDRIVE9

Параметр —boot-directory задает путь, где будет создана папка grub с файлами загрузчика, параметр —target указывает тип загрузки (в рассматриваемом случае это BIOS), а последний параметр задает накопитель, загрузочный сектор которого будет модифицирован. Об успешной установке должны сообщить надписи:

Installing for i386-pc platform. Installation finished. No error reported

Поскольку было принято решение о создании универсального загрузочного носителя, можно установить загрузчики для 32- и 64-битных EFI:

C:\> grub-install.exe --boot-directory=R:\ --efi-directory=R:\ --removable --target=i386-efi C:\> grub-install.exe --boot-directory=R:\ --efi-directory=R:\ --removable --target=x86_64-efi

Параметр —efi-directory указывает, где будет создана папка EFI с модулями, необходимыми для загрузки в режиме EFI, а параметр —removable информирует инсталлятор о том, что установка производится на сменный носитель.

На этом установка загрузчика завершена. Можно проверить созданный носитель на реальных компьютерах или с помощью специализированного эмулятора QemuBootTester. Последний позволяет выбрать носитель, с которого будет произведена загрузка виртуальной машины, и полный спектр режимов загрузки: BIOS, EFI-IA32 и EFI-x64 (см. рис. 2).

Рисунок 2. Эмулятор QemuBootTester позволяет выбрать загрузочный носитель (1) и режим загрузки (2). Для тестирования загрузчика достаточно 128 Мб (3) виртуальной памяти, а виртуальный жесткий диск можно отключить. Запуск осуществляется кнопкой Run QEMU (4)

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

При выборе носителя в качестве загрузочного управление системой возьмет на себя GRUB2. Его работа должна управляться с конфигурационным файлом, который пока что отсутствует. Поэтому на экране отобразится приглашение командного режима (см. рис. 3). В нем можно сразу опробовать команды:

  • grub> help – отображение списка команд;
  • grub> help команда – отображение подсказки по использованию команды.

Рисунок 3. В командном режиме загрузчика GRUB2 можно проанализировать конфигурацию компьютера и выполнить загрузку операционной системы в аварийном режиме

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

grub> set pager=1

Очистить экран можно командой clear. Для завершения работы GRUB2 предусмотрены команды:

  • grub> reboot – перезагрузка;
  • grub> halt – выключение компьютера.

В компьютерах на основе Phoenix BIOS может возникнуть трудность, связанная с выбором загрузочного носителя. В предлагаемых вариантах присутствуют USB-FDD, USB-ZIP, USB-CDROM – и не ясно, какой является правильным. На самом деле – ни один из перечисленных.

Нужно через пункт меню Advanced BIOS FeaturesBoot Seq&Floppy Setup установить в качестве первичного устройства загрузки First Boot Device значение Hard Disk (вероятно, оно и так установлено), а в пункте меню Advanced BIOS FeaturesHard Disk Boot Priority на первое место переместить значение USB-HDD0: USB Mass Storage Device. Если такой вариант для выбора отсутствует, нужно убедиться, что загрузочный носитель подключен, после чего выполнить «теплую» перезагрузку по + + и повторить процедуру.

Настройка загрузчика

Как уже было отмечено, в своей работе загрузчик GRUB2 руководствуется командами, записанными в конфигурационном файле /grub/grub.cfg на загрузочном носителе.

Язык конфигурирования очень напоминает язык командного интерпретатора bash, однако для включения поддержки некоторых конструкций нужно явным образом подключить соответствующие модули. Например, для проверки условий требуется модуль test, а для использования регулярных выражений – модуль regexp. Скомпилированные модули в файлах с расширением .mod на этапе установки GRUB2 уже были записаны в подкаталоги i386-pc, i386-efi и x86_64-efi, соответствующие режимам загрузки.

Загрузчик GRUB2 можно русифицировать. Для этого необходимо:

  • записать из дистрибутива файл с русифицированными сообщениями grub-2.02-for-windows\locale\ru\grub.mo на загрузочный носитель под именем \grub\locale\ru.gmo;
  • записать из дистрибутива файл со шрифтом UNICODE \grub-2.02-for-windows\unicode.pf2 на загрузочный носитель в подкаталог grub\fonts\;
  • подключить модули поддержки локализации, установки графических режимов и графической консоли для отображения символов кириллицы:

grub> insmod gettext grub> insmod all_video grub> insmod gfxterm
grub> loadfont "unicode" grub> set lang=ru grub> set gfxmode=auto grub> terminal_output gfxterm

После выполнения приведенных настроек GRUB2 «заговорит» по-русски. Помимо этого открывается возможность использования файлов с заранее подготовленными подсказками на русском языке, которые можно записать на носитель в кодировке UTF-8, а в нужный момент вывести на экран с помощью команды cat:

grub> cat --dos /grub/help.txt

Ключ —dos предписывает трактовать двухбайтовые последовательности \0D\0A как символы перевода строки.

При запуске GRUB2 инициализирует некоторые переменные среды окружения, полный список которых можно вывести на экран командой set.

Так, переменная $prefix содержит путь к папке с файлами GRUB2, а переменная $grub_platform содержит идентификатор способа загрузки:

  • efi – если загрузка выполнена в режиме EFI-IA32 или EFI-x64;
  • pc – если загрузка выполнена в режиме BIOS.

Этот факт можно использовать для условной загрузки блоков конфигурации из файлов /grub/efi.cfg или /grub/pc.cfg для учета специфики режима или подключения пунктов меню:

insmod test set pcfg="$prefix/$grub_platform.cfg" if [ -e $pcfg ]; then source $pcfg fi

Система меню и загрузка операционных систем

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

submenu "НазваниеРазделаМеню" < menuentry "НазваниеПунктаМеню" < . последовательность команд . >>

При этом сохраняется возможность выхода в командную строку с помощью клавиши .

Для работы с файлами, находящимися на ISO-образах, удобно использовать файловый менеджер 7ZipFM [3] с подключенным в его настройках (через пункт меню «СервисНастройкиРедактор») текстовым редактором AkelPad [4] (см. рис. 4).

Рисунок 4. Файловый менеджер из пакета 7Zip позволяет исследовать содержимое ISO-образов и извлекать из них необходимые файлы, а текстовый редактор AkelPad дает возможность «на месте» просматривать содержимое текстовых файлов

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

Например, в случае Ubuntu это будет ubuntu-18.10-desktop-amd64.iso\boot\grub\loopback.cfg (еще потребуется указать путь к файлу с ISO-образом на загрузочном носителе в переменной окружения $iso_path).

Для дистрибутива Fedora можно воспользоваться блоком меню из файла Fedora-Workstation-Live-x86_64-29-1.2.iso\EFI\BOOT\grub.cfg в качестве основы, но к параметрам ядра нужно дописать указание пути к файлу образа в виде «iso-scan/filename=. ».

Множество примеров пунктов меню для «петлевого» запуска различных дистрибутивов Linux можно найти в файле \grub-2.02\docs\autoiso.cfg дистрибутивного пакета grub-2.02.tar.gz.

Описанным способом были сформированы пункты меню для запуска модулей дистрибутива System Resque CD [7], ISO-образ которого размещен в файле /ISO/systemrescuecd-x86-5.3.2.iso загрузочного носителя.

Стоит отметить метод подключения корневой файловой системы модуля NTPASSWD, предназначенного для сброса пароля администратора Windows. Она состоит из двух блоков: основного initrd.cgz и вспомогательного scsi.cgz с драйверами устройств SCSI. Их совместное использование реализовано командой:

initrd16 (loop0)/ntpasswd/initrd.cgz (loop0)/ntpasswd/scsi.cgz

Дистрибутивы Mageia не поддерживают «петлевую» загрузку, из-за чего их ISO-образы были записаны в разделы загрузочного носителя.

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

На помощь пришла команда GRUB2 syslinux_configfile, обнаруженная в эталонном конфигурационном файле \grub-2.02\docs\osdetect.cfg, который входит в состав дистрибутивного пакета grub-2.02.tar.gz. Она позволяет подключить к текущему меню GRUB2 блок, записанный в формате загрузчика isolinux. Так это выглядит для дистрибутивов Mageia:

menuentry "Mageia 6.1 Live DVD" < search --set=root --fs-uuid 2018-10-01-18-55-31-00 syslinux_configfile -i /isolinux/isolinux.cfg >menuentry "Mageia 6 Installation DVD" < search --set=root --fs-uuid 2017-07-15-07-08-52-00 syslinux_configfile -i /isolinux/isolinux.cfg >

Команды search в приведенных примерах осуществляют поиск на доступных носителях разделов с указанными в параметрах —fs-uuid уникальными идентификаторами и делают их текущими.

Узнать значения идентификаторов разделов можно с помощью команды ls -l, введенной в командном режиме GRUB2:

grub> ls -l
. Раздел hd0,msdos3: Тип файловой системы iso9660 – Метка "Mageia-6-i586" – Время последнего изменения 2017-07-15 07:08:52 Суббота, UUID 2017-07-15-07-08-52-00 – Раздел начинается с 3932160КиБ – Общий размер 3829760КиБ Раздел hd0,msdos2: Тип файловой системы iso9660 – Метка "Mageia-6.1-Xfce-LiveDVD" – Время последнего изменения 2018-10-01 18:55:31 Понедельник, UUID 2018-10-01-18-55-31-00 – Раздел начинается с 1950720КиБ – Общий размер 1981440КиБ . 

Команды syslinux_configfile подключают блоки меню из файлов isolinux.cfg на найденных разделах. Эстетический недостаток этого способа состоит в том, что вместо описаний пунктов меню на экране будут отображаться их метки. Но зато сохраняется функциональность.

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

  • в окне с сообщением I can’t access a Mageia Installation disc in your CDROM drive нажать кнопку No;
  • в окне запроса носителя с установочными файлами (Please select the disk containing the copy of the Mageia Distribution install source) выбрать устройство USB Mass Storage Device;
  • в окне запроса раздела (Please select the partition containing the copy of the Mageia Distribution install source) выбрать третий раздел размером 3740 Мбайт;
  • в окне ввода пути к установочным файлам поле Please select directory оставить пустым – просто нажать .

Установочные файлы будут найдены, запустится инсталлятор, и установка продолжится в штатном режиме.

Заключение

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

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

На сайте журнала http://samag.ru приведен рабочий вариант конфигурационного файла GRUB2 для загрузочного носителя BIOS/EFI с возможностью запуска модулей SystemResqueCD, получения рабочей среды на базе GNU/Linux Mageia 6 и установки этой операционной системы, который содержит.

  • grub.cfg – основной конфигурационный файл GRUB2;
  • pc.cfg – блок меню, специфичный для загрузки в режиме BIOS;
  • efi.cfg – блок меню, специфичный для загрузки в режиме EFI;
  • help.txt – файл с подсказкой о процедуре загрузки Windows;
  • helpefi.txt – файл с описанием особенностей использования SystemRescueCD в режиме EFI.

При изучении возможностей GRUB2, помимо интернет-источников [5], целесообразно использовать справочную информацию, имеющуюся в папке \grub-2.02\docs\ дистрибутивного пакета grub-2.02.tar.gz:

  • grub.info – документация на английском языке, которая может быть просмотрена в любом текстовом редакторе;
  • grub.cfg – конфигурационный файл, содержащий основные примеры загрузки операционных систем;
  • autoiso.cfg – конфигурационный файл, содержащий примеры загрузки операционных систем в «петлевом» режиме из файлов ISO-образов;
  • osdetect.cfg – конфигурационный файл, содержащий сценарии поиска загрузочных разделов для множества операционных систем с последующей их загрузкой.

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

  1. Утилита DD для Windows – http://www.chrysocome.net/dd .
  2. Загрузчик GRUB2 – ftp://ftp.gnu.org/gnu/grub/ .
  3. Архиватор и файловый менеджер 7Zip – https://www.7-zip.org .
  4. Текстовый редактор AkelPad – http://akelpad.sourceforge.net/ .
  5. Cтатьи о загрузочных носителях – https://www.bootdev.ru .
  6. Mageia GNU/Linux – http://www.mageia.org/ru/ .
  7. System Rescue CD – http://www.system-rescue-cd.org .
  8. Спецификация UEFI 2.7 – http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf .

Ключевые слова: Linux, rescue.

Установка и настройка загрузчика GRUB ОС Linux

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

Как установить GRUB

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

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

Выбор ОС в GRUB

Загрузчик позволяет выбрать, какую запустить операционную систему

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

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

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

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

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

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

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

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

Порядок загрузки в BIOS

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

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

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

GRUB - Файловые системы

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

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

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