Начальный загрузчик grub — полное руководство

Введение

Итак, на текущий момент у Вас при включении компьютера появляется меню загрузчика GRUB, в котором первым пунктом идет операционная система Linux Ubuntu (или другой дистрибутив Linux, в моем случае именно Ubuntu). Выглядит это меню следующим образом.

  • Ubuntu – это как раз операционная система Linux Ubuntu;
  • Windows Boot Manager (на /dev/sda2) – это Windows 10.

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

У нас стоит задача изменить порядок загрузки операционных систем таким образом, чтобы первым пунктом стояла Windows 10 и, соответственно, загружалась также первой. Дополнительно, для удобства и ясности, мы хотим присвоить пункту Windows Boot Manager более удачное имя, например – Windows 10.

Все этом можно реализовать с помощью одной программы – Grub Customizer, которую можно использовать в Linux Ubuntu.

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

Первостепенные действия

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

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

  1. Наиболее простым решением, когда загрузка не произошла по причине кратковременного нарушения или случайного сбоя, является банальная перезагрузка. Сделать это можно сочетанием клавиш, либо же кнопкой Reset на системном блоке или ноутбуке.
  2. Если этот метод не сработал и при повторном запуске ситуация повторяется, стоит попробовать выполнить загрузку, используя последнюю удачную версию.
  3. Альтернативой предыдущему пункту является запуск через режим Safe Mode.
  4. Затем открывается командная консоль для проверки жёсткого диска на возможное наличие ошибок. Для этого требуется прописать команду chkdsk /x/f/r, либо её иные варианты, в зависимости от наименования диска.

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

Как дописать свои собственные пункты меню?[править]

  • Теоретически вам не должно хотеться этого делать. Расскажите (в рассылке sisyphus@, к примеру) зачем вам этого захотелось — возможно, придумается какой-то новый общий случай.
  • Если вам всё же хочется — допишите то, что считаете нужным в /etc/grub.d/40_custom

Например, если автоматически не обнаружилась Windows 10, может помочь такое описание пункта меню:

menuentry 'Windows 10' {
    search --fs-uuid --no-floppy --set=root <UUID>
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Где UUID — UUID раздела с загрузчиком Windows. Узнать UUID раздела можно командой

После редактирования этого файла нужно вызвать # grub-mkconfig -o /boot/grub/grub.cfg

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

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

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

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

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

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

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

Способ 2

Всё сильно упрощается, если использовать Live CD – загрузочный диск с системой Linux

Он может быть записан на флешке, на внешнем винчестере или на обычном диске – это неважно, главное, чтобы с него можно было загрузить компьютер

После загрузки Linux стандартным способом устанавливается бесплатная утилита Boot Repair. Она предназначена именно для устранения ошибок загрузки с помощью загрузчика Grub и очень проста в использовании – достаточно кликнуть по кнопке.

Заметим, что иметь Live CD для линуксоида всегда полезно и даже необходимо. Это зачастую избавляет от множества проблем, так как позволяет загрузить полноценную систему с внешнего носителя и использовать весь её инструментарий. Скачать такой диск с любой версией Linux не представляет сложностей, в комплекте обычно идёт инструкция по записи его на флешку.

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

# cat /etc/grub.conf # создаётся с помощью imagebuilder default=0 timeout=0 hiddenmenutitle Amazon Linux 2018.03 (4.14.181-108.257.amzn1.x86_64) root (hd0,0) kernel /boot/vmlinuz-4.14.181-108.257.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 selinux=0 nvme_core.io_timeout=4294967295 initrd /boot/initramfs-4.14.181-108.257.amzn1.x86_64.imgtitle Amazon Linux 2018.03 (4.14.177-107.254.amzn1.x86_64) root (hd0,0) kernel /boot/vmlinuz-4.14.177-107.254.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 selinux=0 nvme_core.io_timeout=4294967295 initrd /boot/initramfs-4.14.177-107.254.amzn1.x86_64.img

Здесь, как вы видите, присутствует более 1 записи меню. Запись меню наряду с параметрами содержит информацию о расположении образов ядра и initrd. Каждая запись начинается с “title…” и содержит численный порядок, начиная с 0. Значение “default” определяет текущий образ ядра, который используется для загрузки serve=. В конфигурации, приведённой выше, значение представлено как “0”. Это означает, что действует первая запись меню (4.14.181–108.257.amzn1.x86_64). Давайте взглянем на строку ядра. Вся структура name, указанная после местоположения образа ядра (выделена жирным курсивом и разделена пробелами), представляет параметры загрузки:

Важно знать её, чтобы добавлять параметры в правильную запись меню

Дистрибутивы Linux с Legacy GRUB

Amazon Linux 1 аналогично RHEL6.X, RHEL5.X и CentOS использует в качестве загрузчика GRUB (также известный как Legacy RUB). Узнать версию в подобных дистрибутивах вы можете так:

# grub-install -v grub-install (GNU GRUB 0.97)

Файл конфигурации GRUB располагается в /boot/grub/grub.conf и содержит две символические ссылки на себя: /etc/grub.conf и /boot/grub/menu.lst. Нам нужно изменить эту конфигурацию grub, добавив дополнительные параметры загрузки ядра. Однако, чтобы сделать это эффективно, давайте сначала разберём основы конфигурации grub. Ниже приведён её пример из инстанса EC2 Amazon Linux 1.

Что за жалобы про BIOS Boot Partition?[править]

При загрузке под PC BIOS используется MBR и небольшая свободная область диска после него (31 килобайт до 63-го сектора) — соответственно первая стадия и core.img; при использовании UEFI ожидается GPT-разбивка загрузочного диска, при которой нет ни MBR, ни этой области. Отсюда возникает необходимость встроить вторую стадию загрузчика куда-то ещё. Таким местом и решили взять определённый в GPT тип раздела BIOS Boot Partition.

Инструмент разбивки дисков в составе инсталятора ALT Linux сделает такой раздел автоматически под UEFI, если разбиваете вручную или большой диск для BIOS — может потребоваться создать раздел минимального объёма (RED Hat рекомендует 1 мегабайт) с типом «bios boot partition» в терминологии alterator-vm либо меткой «bios_grub» в терминологии parted.

«Самое краткое руководство» — чуть более подробно

Загрузочное меню надо реализовывать на уровне загрузчика — править текстовые конфиги гораздо проще и безопасней.

Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI

Что такое «EFI-раздел»? В теории, он должен иметь особый тип «EFI System» (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).

Пункт 3: «Скачиваем из интернета любой UEFI-загрузчик». Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг. К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian. Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.

Пункт 4: «Настроить конфиг». Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог «loader», а в нём файл «loader.conf» с тремя строчками (привожу свои):

Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.

Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:

Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.

Что такое ядро ​​в ОС

Теперь, когда мы знаем, что это основная программа в ОС, следует также знать, что это первая программа, которая загружается после загрузчика. Затем он выполняет все переговоры между оборудованием и программным обеспечением или приложениями. Поэтому, если вы запускаете программу, пользовательский интерфейс отправляет запрос в ядро. Затем ядро ​​отправляет запрос в ЦП, память, чтобы назначить вычислительную мощность, память и другие вещи, чтобы приложение могло бесперебойно работать во внешнем интерфейсе.

Вы можете представить Kernel в качестве переводчика. Он преобразует запросы ввода / вывода от программного обеспечения в набор инструкций для ЦП и ГП. Проще говоря, это слой между программным обеспечением и оборудованием, который делает все возможное. Ядро управляет следующим:

  1. CPU / GPU
  2. объем памяти
  3. Устройства ввода / вывода или ввода-вывода
  4. Управление ресурсами
  5. Управление памятью
  6. Управление устройством
  7. Системные вызовы.

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

Безопасность и защита ядра

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

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

Безопасная загрузка: Это стандарт безопасности, разработанный представителями индустрии ПК. Он помогает защитить вашу систему от вредоносных программ, не позволяя запускать неавторизованные приложения во время запуска системы. Эта функция гарантирует, что ваш компьютер загружается с использованием только программного обеспечения, которому доверяет производитель ПК. Таким образом, всякий раз, когда ваш компьютер запускается, микропрограмма проверяет подпись каждой части загрузочного программного обеспечения, включая драйверы микропрограмм (дополнительные ПЗУ) и операционную систему. Если подписи проверены, компьютер загружается, и микропрограммное обеспечение передает управление операционной системе.

Надежная загрузка: Он использует модуль Virtual Trusted Platform Module (VTPM) для проверки цифровой подписи ядра Windows 10 перед его загрузкой. В свою очередь, он подтверждает все остальные компоненты процесса запуска Windows, включая загрузочные драйверы, файлы запуска и ELAM. Если файл был изменен или изменен в какой-либо степени, загрузчик обнаруживает его и отказывается загрузить, распознавая его как поврежденный компонент. Короче говоря, он обеспечивает цепочку доверия для всех элементов во время загрузки.

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

При отсутствии загрузочного диска, можно восстановить Grub из его консоли. Восстановление происходит следующим образом: сначала нужно подгрузить все модули, чтобы стала доступна вся функциональность Grub, а затем уже запуститься с нужного раздела.
Как известно, Grub состоит из двух частей.
Первая часть записана в MBR диска. Она содержит базовую функциональность, то есть в ней есть консоль в rescue mode и ничего больше. Вначале нужно определить, на каком разделе находится вторая часть груба (она лежит в каталоге /boot/grub), подгрузить недостающие модули. И только потом можно будет дать команду запуска с нужного раздела.
В rescue mode доступно всего четыре команды:

 ls
set
unset
insmod

Вначале следует дать команду:

ls

В ответ она выведет, например, следующее:

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

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

Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов — с 1.
Предположим, что Линукс установлен на первый диск в первый раздел, то есть (hd0,1).
Даем команду:

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

Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то, что нам нужно. Даем команду:

ls /boot/grub

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

insmod ext2
insmod normal
normal

Проверьте правильность написания первой команды для файловых систем ext3 и ext4

Если ОС расположена на разделе, отформатированном в btrfs,
то выполняем следующие команды:

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

подгружаем модули:

insmod btrfs
insmod normal

запускаем GRUB:

normal

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

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

grub-install /dev/sdX

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

Расширенные возможности

В GRUB2 есть много возможностей, которые делают GRUB2 очень мощным загрузчиком. Он поддерживает:

  • Загрузку с платформ UEFI.
  • Загрузку с дисков с таблицей разделов GPT без необходимости использования гибридного MBR (при необходимости, гибридный MBR можно включить для совместимости или переносимости).
  • Загрузку с раздела /boot с файловой системой btrfs.
  • Загрузка с ZFS pool.
  • Непосредственную загрузку с raid set btrfs без необходимости использования initramfs для настройки раннего монтирования.
  • Непосредственную загрузку с системы управления логическими томами (например, LVM2).
  • Загрузку с поддержкой DM-RAID (RAID 0, 1, 4, 5, 6, 9 и 10).
  • Загрузку с зашифрованных устройств (LUKS).

Некоторые возможности будут рассмотрены более детально дальше.

Chainloading

GRUB2 была улучшена поддержка режима chainload по сравнению с GRUB Legacy. Чтобы загрузить другой загрузчик с помощью chainloader используйте опцию .

Файл Загрузка другого загрузчика с помощью chainloader

menuentry "Custom Super-bootloader example" {
     insmod part_msdos
     insmod chain
     chainloader (hd1,1)+1
}

Для более подробной информации о chainloading, пожалуйста, смотрите статью Chainloading.

Password protection of GRUB menu

If you want to secure GRUB so it is not possible for anyone to change boot parameters or use the command line, you can add a user/password combination to GRUB’s configuration files. The program grub-mkpasswd-pbkdf2 generates password hashes for GRUBː

Then, add the following toː

Файл

# Grub user
echo 'set superusers="username"'
# Grub password
echo 'password_pbkdf2 <username> <password>'

Использование фрейбуфера

Чтобы GRUB2 использовал framebuffer, перекомпилируйте GRUB с включенным USE-флагом . Это установит шрифт True Type по умолчанию, а также утилиту для преобразования шрифтов.

Приступим к конфигурации конфигурационного файла по умолчанию GRUB2, который расположен в /etc/default/grub. Например:

Файл Настройки связанные с фрейбуфером

# настройка разрешения и глубины цвета
GRUB_GFXMODE=1366x768x32
 
# сохранить разрешение после загрузки ядра
GRUB_GFXPAYLOAD_LINUX=keep
 
# настройка фонового изображения
GRUB_BACKGROUND="/boot/grub/bg.png"
 
# использование пользовательского шрифта, конвертированного с помощью утилиты grub-mkfont
GRUB_FONT="/boot/grub/fonts/roboto.pf2"

Работа с grubby

Чтобы добавить/изменить параметры ядра посредством grubby, нам нужно указать параметры при помощи -args=args совместно с опцией -update-kernel=default-kernel-path. Например, я добавил параметры “clocksource=tsc tsc=reliable”. Параметр “clocksource=tsc” устанавливает источник тактовой частоты как tsc (clocksource=tsc), если он ещё таковым не установлен. Параметр же “tsc=reliable” отключает все проверки стабильности TSC в процессе загрузки.

# grubby --args="clocksource=tsc tsc=reliable" --update-kernel /boot/vmlinuz-$(uname -r)

PS. Для удаления существующих параметров используйте команду -remove-arguments.

Перезагрузите систему и убедитесь, что параметры “clocksource=tsc tsc=reliable” добавлены:

# reboot # cat /proc/cmdline root=LABEL=/ console=tty1 console=ttyS0 selinux=0 nvme_core.io_timeout=4294967295 clocksource=tsc tsc=reliable

Либо просто проверьте это через grubby:

# grubby --info /boot/vmlinuz-$(uname -r)

В дальнейшем вы можете убедиться, что источником тактовой частоты определён tsc, при помощи следующей команды:

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc

Это всё, что касается grubby.

Разнообразие PBR

Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.

Существуют следующие загрузчики:

Тип MBR — NT 5.x/6.x, 1 сектор

  • io.sys для MS-DOS, Windows 95/98/МЕ
  • ntldr для Windows 2000/XP/2003
  • bootmgr для Windows Vista/7/8/8.1/10

Тип MBR — Grub4DOS, 18 секторов

grldr для Grub4DOS

Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)

  • ldlinux.sys – основной базовый модуль
  • syslinux.sys — для загрузки с FAT, FAT32, NTFS
  • isolinux.bin — для загрузки с iso9660
  • pxelinux — для загрузки по PXE
  • extlinux для загрузки с ext2/ext3/ext4 или btrfs

Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.

  • Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
  • Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
  • Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/3/4, FAT, NTFS, CD/DVD дисков, по сети через PXE. Позволяет организовать текстовое или графическое загрузочное меню. Чаще всего этот загрузчик используют для запуска Linux с файловых систем FAT/NTFS или же создания мультизагрузочных USB флэшек, позволяющих загружать как Linux-совместимые приложения под DOS, так и Windows PE.

Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).

В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.

Редактирование и установка MBR

Редактирование и установка загрузчика

Установка MBR GRUB4DOS

Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.

Работа с таблицей разделов в BootICE

Кратко о загрузчике Syslinux

Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: или. Конечно, это имеет смысл только для Linux

Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется , однако он еще достаточно сырой.

Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.

Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл «win32/syslinux.exe» для 32-х битных систем и «win64/syslinux64.exe» для 64-х битных систем.

syslinux.exe —install a: — установка на флоппи-диск

syslinux.exe —mbr —active —directory /boot/syslinux/ —install z:    — установка на диск z:, например флешку, где

— в качестве разделителей должны быть использованы именно , а не \

— в каталоге z:\boot\syslinux\ будет размещён файл-загрузчик «ldlinux.sys»

— и раздел z: помечен как активный

— для организации меню должен быть создан файл z:\boot\syslinux\syslinux.cfg

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

Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.

Дополнительные тестовые сценарии

Тройная загрузка

Начиная с этого момента, все очень просто. Используйте любой загрузчик, какой хотите (GRUB, GRUB 2).

Если вы установили в качестве загрузчика GRUB legacy, тогда вы будете загружать Windows конфигурации, так же как мы делали в оригинальной статье. Только еще добавите /boot/grub/core.img для GRUB 2 конфигураций.

Но если вы используете GRUB 2, тогда примените OS Prober для поиска других операционных систем. Если вам не нравятся заголовки, создайте пользовательские загрузочные конфигурации на основе уже существующих (созданных OS Prober).

Теперь все в ваших руках.

Android

AndroidDoSУязвимость №1OMACPWAP Push SMSкучи (heap)OMACPWAP Push SMSКуча (heap)Уязвимость №2Уязвимость №3Таблица уязвимостей категории «DoS» в ОС AndroidОбход чего-либоУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Обход чего-либо» в ОС AndroidИсполнение кодаУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Исполнение кода» в ОС AndroidПовреждение памятиУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Повреждение памяти» в ОС AndroidДоступ к информацииУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Доступ к информации» в ОС AndroidУвеличение привилегийУязвимость №1Уязвимость №2Уязвимость №3Use-after-freeUse-after-freeТаблица уязвимостей категории «Увеличение привилегий» в ОС AndroidПереполнениеУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Переполнение» в ОС Android

Как однократно выполнить загрузку произвольного пункта меню?[править]

Иногда бывает удобно загрузиться с произвольным пунктом меню, но не менять текущий вариант. Это удобно, например, для тестирования нового ядра, когда надо иметь возможность вернуть старое ядро простой перезагрузкой. Для этого надо настроить Grub в соответствии со способом 1 предыдущего пункта, после чего можно задать пункт меню для следующей загрузки командой grub-reboot и запустить команду reboot. В момент начала загрузки конфигурация Grub автоматически вернётся в исходное состояние, и следующая загрузка компьютера произойдёт по-старому. Это аналогично использованию опции -R загрузчика Lilo.

Цвета пунктов меню

Цвета пунктов меню задаются в файле /etc/grub.d/05_debian_theme. Откройте этот файл

sudo gedit etcgrub.d05_debian_theme

и найдите строки

COLOR_NORMAL="black/black"
COLOR_HIGHLIGHT="magenta/black"

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

Таблица доступных цветов

Заметьте, что black при использовании в качестве второго параметра (фона) в результате даст прозрачный фон. Использование black в качестве цвета текста дает черный текст.

Установка

It is recommended all systems should upgrade to GRUB2, since it supports all the same features sets as Legacy. Legacy was removed from the Gentoo ebuild repository.

Предварительные требования

Чтобы контролировать на какие платформы будет установлен установите переменную GRUB_PLATFORMS в файле make.conf. Архитектура amd64 включает в себя профиль по умолчанию, который подходит для большинства систем.

Файл Пример настройки GRUB_PLATFORMS для платформ EMU, EFI и PC

GRUB_PLATFORMS="emu efi-32 efi-64 pc"

Следующие платформы поддерживаются, в зависимости от целевого CPU:

Target
Platform i386 ia64 mips mipsel powerpc sparc64 x86_64
ARC No No No Yes No No No
Coreboot Yes No No No No No 32-bit
EFI Yes Yes No No No No Yes
EMU Yes Yes Yes Yes Yes Yes Yes
IEEE 1275 (Open Firmware) Yes No No No Yes Yes 32-bit
Loongson No No No Yes No No No
Multiboot Yes No No No No No 32-bit
QEMU Yes No No No No No 32-bit
QEMU-MIPS No No Yes No No No No
PC Yes No No No No No 32-bit

ЗаметкаКаждый раз когда значение в переменной GRUB_PLATFORMS корректируется GRUB2 необходимо будет перекомпилировать для перекомпиляции измененных двоичных файлов. Убедитесь, что это делается с опцией , как это показано в ниже.

Профили amd64 по умолчанию включают поддержку (U)EFI-функциональности. В случае использования систем на базе BIOS, установите в переменной GRUB_PLATFORMS значение , чтобы избежать ненужных зависимостей.

USE flags for
sys-boot/grub

GNU GRUB boot loader

Enable support for device-mapper from sys-fs/lvm2
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
Build and install the efiemu runtimes
Build and install fonts for the gfxterm module
Enable support for sys-fs/zfs
Build and install the grub-mount utility
Add Native Language Support (using gettextGNU locale utilities)
Add support for Simple Direct Layer (media library)
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Build and install GRUB themes (starfield)
Build and install grub-mkfont conversion utility

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: