Files
LFS_Book/chapter08/grub.xml
Anton Maisak 27710fbec5 SYNC
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
2019-02-17 10:38:34 +03:00

141 lines
11 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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 &gt; /boot/grub/grub.cfg &lt;&lt; "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 &gt; /boot/grub/grub.cfg &lt;&lt; "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>