mirror of
https://github.com/avmaisak/LFS_Book.git
synced 2026-01-14 02:00:45 +00:00
Revision: 11503 Author: pierre Date: 21 января 2019 г. 21:25:55 Message: Add a note about the --target option for grub-install ---- Modified : /trunk/BOOK/chapter08/grub.xml
141 lines
11 KiB
XML
141 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||
%general-entities;
|
||
]>
|
||
|
||
<sect1 id="ch-bootable-grub" role="wrap">
|
||
<?dbhtml filename="grub.html"?>
|
||
|
||
<sect1info condition="script">
|
||
<productname>grub</productname>
|
||
<productnumber>&grub-version;</productnumber>
|
||
<address>&grub-url;</address>
|
||
</sect1info>
|
||
|
||
<title>Использование GRUB для настройки процесса загрузки</title>
|
||
|
||
<sect2>
|
||
<title>Введение</title>
|
||
|
||
<warning><para>Если вы настроите GRUB не правильно, то возможно, не получится штатно загрузиться в систему, без использования другого загрузочного устройства (например компакт-диска). Для загрузки системы LFS, эта глава не обязательна. Вы можете просто модифицировать ваш текущий системный загрузчик, например Grub-Legacy, GRUB2, или
|
||
LILO.</para></warning>
|
||
|
||
|
||
<para>Убедитесь, что аварийный загрузочный диск готов «спасти» ваш компьютер, если он перестанет правильно загружаться. Если у вас еще нет загрузочного устройства, вы можете его создать. Чтобы нижеследующая процедура работала, вам нужно перейти в BLFS и установить программу <userinput>xorriso</userinput> из пакета <ulink
|
||
url="&blfs-book;multimedia/libisoburn.html">
|
||
libisoburn</ulink>.</para>
|
||
|
||
|
||
<screen role="nodump"><userinput>cd /tmp
|
||
grub-mkrescue --output=grub-img.iso
|
||
xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso</userinput></screen>
|
||
|
||
<note>
|
||
<para>Чтобы загрузить LFS в хост-системах с UEFI, ядро должно быть собрано с указанием соответствующего ключа конфигурации CONFIG_EFI_STUB. О сборке ядра, наиболее подробно, обсуждается в предыдущем разделе. Однако LFS можно загружать с помощью GRUB2 без такого дополнения. Для этого необходимо отключить функции UEFI Mode и Secure Boot в BIOS хост-системе. Для получения дополнительной информации см. <ulink
|
||
url="http://www.linuxfromscratch.org/hints/downloads/files/lfs-uefi.txt">
|
||
the lfs-uefi.txt подсказку</ulink>.</para>
|
||
</note>
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Соглашения о именовании в GRUB</title>
|
||
<para>GRUB использует собственную структуру именования дисков и разделов в виде <emphasis>(hdn,m)</emphasis>, где <emphasis>n</emphasis> - номер диска, а <emphasis>m</emphasis> - номер раздела. Номер диска начинается с нуля, а номер раздела начинается с единицы, для обычных разделов и с пяти для расширенных разделов. Обратите внимание, что именование отличается от предыдущих версий, когда оба номера начинались с нуля. Например, раздел sda1 равен <emphasis>(hd0,1)</emphasis> в GRUB, а <filename class="partition">sdb3</filename> - <emphasis>(hd1,3)</emphasis>. В отличие от Linux, GRUB не считает диски CD-ROM жесткими дисками. Например, если вы используете CD на <filename class="partition">hdb</filename> и второй жесткий диск на <filename class="partition">hdс</filename>, этот второй жесткий диск будет <emphasis>(hd1)</emphasis>.</para>
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Настройка </title>
|
||
|
||
<para>GRUB записывает данные на первый физический сектор
|
||
жесткого диска. Эта область не является частью какой-либо файловой системы. Программы
|
||
доступны как модули GRUB в загрузочном разделе в каталоге по умолчанию -/boot/grub/.</para>
|
||
|
||
<para>Расположение загрузочного раздела - это ваш выбор, его можно настроить. Одна рекомендация состоит в том, чтобы иметь отдельный небольшой (рекомендуемый размер - 100 МБ) раздел только для загрузочной информации. Таким образом, каждая сборка, будь то LFS или какой-либо другой дистрибутив, может обращаться к тем же загрузочным файлам, и доступ может быть сделан из любой загруженной системы. Если вы решите это сделать, вам нужно будет примонтировать отдельный раздел, переместить все файлы из текущего каталога <filename class="directory">/boot</filename> (например, ядро Linux, которое вы только что создали в предыдущем разделе), в новый раздел. Затем вам нужно размонтировать раздел и примонтировать заново в каталог <filename
|
||
class="directory">/boot</filename>. Если вы это сделаете, обязательно обновите данные в файле <filename>/etc/fstab</filename>.</para>
|
||
|
||
<para>Использование текущего раздела lfs будет работать, но настройка для нескольких систем сложнее.</para>
|
||
|
||
<para>Используя приведенную выше информацию, определите соответствующие точки монтирования для корневого раздела (или загрузочного раздела, если используется отдельный). В следующем примере предполагается, что корневой (или отдельный загрузочный) раздел является <filename
|
||
class="partition">sda2</filename>.</para>
|
||
|
||
<para>Установите файлы GRUB в каталог<filename
|
||
class="directory">/boot/grub</filename> и настройте загрузочный сектор:</para>
|
||
|
||
<warning>
|
||
<para>Следующая команда перезапишет текущий загрузчик. Не
|
||
выполняйте эту команду, если это нежелательно, например, если вы используете сторонний
|
||
менеджер загрузки для управления главной загрузочной записью (MBR).</para>
|
||
</warning>
|
||
|
||
<screen role="nodump"><userinput>grub-install /dev/sda</userinput></screen>
|
||
|
||
<note>
|
||
<para>Если система была загружена с использованием UEFI,
|
||
<command>grub-install</command> попытается установить файлы для
|
||
<emphasis>x86_64-efi</emphasis> , но эти файлы не были кстановлены в главе 6. В этом случае, необходимо добавить аргумент
|
||
<option>--target i386-pc</option>
|
||
к вышеуказанной комманде.</para>
|
||
</note>
|
||
|
||
<!-- This does not seem to be true any more
|
||
<note><para><application>grub-install</application> is a script and calls another
|
||
program, grub-probe, that may fail with a message "cannot stat `/dev/root'".
|
||
If so, create a temporary symbolic link from your root partition to /dev/root:</para>
|
||
|
||
<screen role="nodump"><userinput>ln -sv /dev/sda2 /dev/root</userinput></screen>
|
||
|
||
<para>The symbolic link will only be present until the system is rebooted.
|
||
The link is only needed for the installation procedure.
|
||
</para></note>
|
||
-->
|
||
</sect2>
|
||
|
||
<sect2 id="grub-cfg">
|
||
<title>Создание файла конфигурации GRUB </title>
|
||
|
||
<para>Создайте файл конфигурации <filename>/boot/grub/grub.cfg</filename>:</para>
|
||
|
||
<screen revision="sysv"><userinput>cat > /boot/grub/grub.cfg << "EOF"
|
||
<literal># Begin /boot/grub/grub.cfg
|
||
set default=0
|
||
set timeout=5
|
||
|
||
insmod ext2
|
||
set root=(hd0,2)
|
||
|
||
menuentry "GNU/Linux, Linux &linux-version;-lfs-&version;" {
|
||
linux /boot/vmlinuz-&linux-version;-lfs-&version; root=/dev/sda2 ro
|
||
}</literal>
|
||
EOF</userinput></screen>
|
||
|
||
<screen revision="systemd"><userinput>cat > /boot/grub/grub.cfg << "EOF"
|
||
<literal># Begin /boot/grub/grub.cfg
|
||
set default=0
|
||
set timeout=5
|
||
|
||
insmod ext2
|
||
set root=(hd0,2)
|
||
|
||
menuentry "GNU/Linux, Linux &linux-version;-lfs-&versiond;" {
|
||
linux /boot/vmlinuz-&linux-version;-lfs-&versiond; root=/dev/sda2 ro
|
||
}</literal>
|
||
EOF</userinput></screen>
|
||
|
||
|
||
<note><para>С точки зрения <application>GRUB</application>, файлы ядра относительны от используемого раздела. Если вы используете отдельные /boot раздел, удалите /boot из строки linux. Вам также потребуется изменить строку <emphasis>set root</emphasis>, чтобы указать на загрузочный раздел.</para></note>
|
||
|
||
<para>GRUB - чрезвычайно мощная программа, и она обеспечивает огромное
|
||
количество вариантов загрузки с самых разных устройств, работающих
|
||
систем и типов разделов. Существует также множество вариантов настройки
|
||
таких как графические экраны заставок, звуки воспроизведения, ввод мыши и т. д.
|
||
детали этих вариантов выходят за рамки этого раздела.</para>
|
||
|
||
<caution><para>Существует команда <application>grub-mkconfig</application>, которая может автоматически записывать файл конфигурации. Она использует набор скриптов в файле /etc/grub.d/ и уничтожит любые сделанные вами настройки. Эти сценарии предназначены в первую очередь для обычных дистрибутивов и не рекомендуются для LFS. Если вы устанавливаете коммерческий дистрибутив Linux, есть вероятность, что эта программа будет запущена. Обязательно создайте резервную копию файла grub.cfg.</para></caution>
|
||
|
||
</sect2>
|
||
|
||
</sect1>
|