注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Install/Bootloader/ru"

From Funtoo
Jump to navigation Jump to search
(Updating to match new version of source page)
 
(16 intermediate revisions by 2 users not shown)
Line 4: Line 4:
= Руководство по установке: Установка загрузчика =
= Руководство по установке: Установка загрузчика =


{{InstallNavigation|num=14|prev=Установка ядра|next=Настройка сети}}</noinclude>
{{InstallNavigation|num=14|prev=Kernel|next=Network}}</noinclude>


=== Настройка boot.conf ===
<div lang="en" dir="ltr" class="mw-content-ltr">
==== How Booting Works ====
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
In order for Funtoo Linux to boot, it must detect the boot filesystem, root filesystem and swap. The most reliable way to do this is to use the UUID,
or unique identifier, of the partitions holding these filesystems. We will use these UUID values in the {{c|/etc/fstab}}, which we will set up next.
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
The UUID allows Linux to find the right filesystem, even if it detects the disks differently or you move them around in your computer. Funtoo Linux
uses a Linux kernel and initial RAM disk to boot, and to get everything set up, we need to set up {{c|/etc/fstab}} correctly, and then install the
GRUB boot loader -- and there are two different commands for this, depending on whether you are using MBR or UEFI. Then, finally, we run {{c|ego boot update}}
which is a Funtoo command that configures everything for us.
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Label partitions ====
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
To see the UUIDs for your existing filesystems, type the following command:
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
{{console|body=
# ##i##ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 27 13:42 6883428138129353569 -> ../../sdb1
lrwxrwxrwx 1 root root 15 Jan 27 13:42 CE4B-855D -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Jan 27 13:42 ac280eb5-1ea7-4742-9e71-9c7addd35c54 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Jan 27 13:42 e5a76428-8b3f-4349-81af-cbe29c7f7d09 -> ../../nvme0n1p3
}}
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
The UUIDs are listed to the left-hand side of the {{c|->}}. Use these values for setting up the {{f|/etc/fstab}} file, below.
</div>


Данная инструкция по установке показывает, как использовать GRUB для загрузки с использованием BIOS (классический вариант) или UEFI.
<div lang="en" dir="ltr" class="mw-content-ltr">
==== /etc/fstab ====
</div>


Команда обновления загрузчика {{c|ego boot}} доступна по умолчанию, но сам загрузчик GRUB не установлен, поскольку это требуется не для всех систем Funtoo Linux  (например, для контейнеров не нужен). Но для загрузки на «голое железо» это рекомендуемый и наиболее поддерживаемый загрузчик, поэтому вам нужно его установить:
<div lang="en" dir="ltr" class="mw-content-ltr">
{{f|/etc/fstab}} is used by the {{c|mount}} command which is run when your system boots. Lines in this file inform {{c|mount}} about filesystems to be mounted and how they should be mounted. In order for the system to boot properly, you must edit {{f|/etc/fstab}} and ensure that it reflects the partition configuration you used earlier in the install process. If you can't remember the partition configuration that you used earlier:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{console|body=
{{console|body=
%chroot% ##i##emerge -av grub
%chroot% ##i##nano -w /etc/fstab
}}
}}
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
{{file|name=/etc/fstab|desc=An example fstab file|body=
UUID=CE4B-855D                                  /boot        vfat    noauto,noatime  1 2
UUID=ac280eb5-1ea7-4742-9e71-9c7addd35c54      none          swap    sw              0 0
UUID=e5a76428-8b3f-4349-81af-cbe29c7f7d09      /            ext4    noatime        0 1
}}
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Important|Be sure to use the actual UUIDs from your system, not the example values above!}}
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
{{Note|If you mounted a /var or /home partition, add them to your fstab, or your system may not boot correctly.}}
</div>


==== boot.conf ====
==== boot.conf ====


<div class="mw-translate-fuzzy">
{{c|/etc/boot.conf}} отвечает за настройки загрузчика в Funtoo. Вот содержание файла по умолчанию:
{{c|/etc/boot.conf}} отвечает за настройки загрузчика в Funtoo. Вот содержание файла по умолчанию:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Here is what is in the file by default:
</div>


{{file|name=/etc/boot.conf|body=
{{file|name=/etc/boot.conf|body=
Line 47: Line 112:


* '''Для HiDPI (4K+) экранов, особенно на ноутбуках''': Если вы не настроили графическую среду, когда ядро автоматически меняет видеорежим, шрифт в консоли может быть слишком мелким, нечитаемым.
* '''Для HiDPI (4K+) экранов, особенно на ноутбуках''': Если вы не настроили графическую среду, когда ядро автоматически меняет видеорежим, шрифт в консоли может быть слишком мелким, нечитаемым.
* '''Для несовместивых видеокарт''': Некоторые видеокарты не поддерживают настройки режимов правильно и в результате получается черный экран после загрузки. Используйте настройку {{c|nomodeset}} как временное решение.
* '''Для несовместимых видеокарт''': Некоторые видеокарты не поддерживают настройки режимов правильно и в результате получается черный экран после загрузки. Используйте настройку {{c|nomodeset}} как временное решение.


Для использования параметра {{c|nomodeset}} просто выберите его в меню GRUB при загрузке системы.
Для использования параметра {{c|nomodeset}} просто выберите его в меню GRUB при загрузке системы.


<div lang="en" dir="ltr" class="mw-content-ltr">
=== rootwait ===
If you are using a root partition on an {{c|nvme}} device, add the {{c|rootwait}} kernel parameter to force the kernel to wait for it to asynchronously initialize or the kernel will panic on some hardware.
</div>


<div class="mw-translate-fuzzy">
=== Intel Microcode ===
=== Intel Microcode ===
</div>


{{c|ego boot}} проверит что в системе самая последняя прошивка для процессора Intel, если вы соберете следующие пакеты:
<div class="mw-translate-fuzzy">
{{c|ego boot}} проверит, что в системе самая последняя прошивка для процессора Intel, если вы соберете следующие пакеты:
</div>


<div class="mw-translate-fuzzy">
{{console|body=
{{console|body=
%chroot% ##i##emerge intel-microcode iucode_tool
%chroot% ##i##emerge intel-microcode iucode_tool
}}
}}
</div>


Этот шаг не нужно делать для AMD процессоров.
Этот шаг не нужно делать для AMD процессоров.


==== Классический (BIOS) MBR ====
<div class="mw-translate-fuzzy">
==== MBR - классическая загрузочная запись (BIOS) ====
</div>


Следуя классическому способу, выполните следующую команду для установки GRUB на MBR, и создайте конфигурационный файл {{c|/boot/grub/grub.cfg}}, используемый GRUB при загрузке.
Следуя классическому способу, выполните следующую команду для установки GRUB на MBR, и создайте конфигурационный файл {{c|/boot/grub/grub.cfg}}, используемый GRUB при загрузке.


<div class="mw-translate-fuzzy">
{{console|body=
{{console|body=
%chroot% ##i##grub-install --target=i386-pc --no-floppy /dev/sdX
%chroot% ##i##grub-install --target=i386-pc --no-floppy /dev/sdX
%chroot% ##i##ego boot update
%chroot% ##i##ego boot update
}}
}}
</div>


==== Современный (UEFI) загрузочная запись (Boot Entry) ====  
<div class="mw-translate-fuzzy">
==== UEFI - современная загрузочная запись ====
</div>


Если Вы следуете современному способу, выполните следующий набор команд, в зависимости от того, устанавливаете 32- или 64-битную систему. Это добавит GRUB как загрузочную запись UEFI.
Если Вы следуете современному способу, выполните следующий набор команд, в зависимости от того, устанавливаете 32- или 64-битную систему. Это добавит GRUB как загрузочную запись UEFI.
Line 79: Line 160:
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{console|body=
{{console|body=
(chroot) # ##i##mount -o remount,rw /sys/firmware/efi/efivars
%chroot% ##i##mount -o remount,rw /sys/firmware/efi/efivars
(chroot) # ##i##grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
%chroot% ##i##grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # ##i##ego boot update
%chroot% ##i##ego boot update
}}
}}
</div>
</div>
Line 89: Line 170:
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{console|body=
{{console|body=
(chroot) # ##i##mount -o remount,rw /sys/firmware/efi/efivars
%chroot% ##i##mount -o remount,rw /sys/firmware/efi/efivars
(chroot) # ##i##grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
%chroot% ##i##grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # ##i##ego boot update
%chroot% ##i##ego boot update
}}
}}
</div>
</div>


==== Первая загрузка и продолжение ====  
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Ego! ====
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
Now, let's run Funtoo's {{c|ego boot update}} command to get everything configured. This will detect the current kernel(s) on your system and create the necessary GRUB boot entries to get your system booted:
</div>


ОК, все готово к загрузке!
<div lang="en" dir="ltr" class="mw-content-ltr">
{{console|body=
%chroot% ##i##ego boot update
}}
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Осталось только выполнить <code>grub-install</code> если это -- первая установка Funtoo Linux. Также нужно будет выполнять <code>boot-update</code> каждый раз как Вы отредактируете файл <code>/etc/boot.conf</code> на предмет добавления новых ядер в систему. Эта команда сгенерирует файл <code>/etc/boot.conf</code> и после перезагрузки Ваши новые ядра сразу появятся в загрузочном меню GRUB.
Осталось только выполнить {{c|grub-install}}, если это первая установка Funtoo Linux. Также нужно будет выполнять {{c|ego boot update}} каждый раз как вы отредактируете файл {{c|/etc/boot.conf}} или добавите новые ядра в систему. Эта команда пересоздаст файл {{c|/etc/boot.conf}} и после перезагрузки ваши новые ядра появятся в загрузочном меню GRUB.
</div>
</div>


==== Post reboot UEFI troubleshooting ====
==== UEFI. Решение проблем после перезагрузки ====
In case UEFI NVRAM boot entry is missing in BIOS and grub does not start you can try moving an already installed GRUB EFI executable to the [https://wiki.archlinux.org/index.php/GRUB#Default/fallback_boot_path default/fallback path]
В случае, если запись UEFI NVRAM boot отсутствует в BIOS, и GRUB не стартует, попробуйте переместить уже установленный GRUB EFI исполняемый файл в [https://wiki.archlinux.org/index.php/GRUB#Default/fallback_boot_path default/fallback path]
{{console|body=
{{console|body=
%chroot% ##i##mv -v '/boot/EFI/Funtoo Linux [GRUB]' /boot/EFI/BOOT
%chroot% ##i##mv -v '/boot/EFI/Funtoo Linux [GRUB]' /boot/EFI/BOOT
%chroot% ##i##mv -v /boot/EFI/BOOT/grubx64.efi /boot/EFI/BOOT/BOOTX64.EFI
%chroot% ##i##mv -v /boot/EFI/BOOT/grubx64.efi /boot/EFI/BOOT/BOOTX64.EFI
}}
}}
==== Первая загрузка и продолжение ====
ОК, все готово к загрузке!


<noinclude>{{InstallNavigation|num=14|prev=Kernel|next=Network|align=right}}</noinclude>
<noinclude>{{InstallNavigation|num=14|prev=Kernel|next=Network|align=right}}</noinclude>

Latest revision as of 16:53, March 21, 2024

Other languages:
English • ‎Türkçe • ‎español • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎

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

Install Guide, Chapter 14 < Prev Next >

How Booting Works

In order for Funtoo Linux to boot, it must detect the boot filesystem, root filesystem and swap. The most reliable way to do this is to use the UUID, or unique identifier, of the partitions holding these filesystems. We will use these UUID values in the /etc/fstab, which we will set up next.

The UUID allows Linux to find the right filesystem, even if it detects the disks differently or you move them around in your computer. Funtoo Linux uses a Linux kernel and initial RAM disk to boot, and to get everything set up, we need to set up /etc/fstab correctly, and then install the GRUB boot loader -- and there are two different commands for this, depending on whether you are using MBR or UEFI. Then, finally, we run ego boot update which is a Funtoo command that configures everything for us.

Label partitions

To see the UUIDs for your existing filesystems, type the following command:

root # ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 27 13:42 6883428138129353569 -> ../../sdb1
lrwxrwxrwx 1 root root 15 Jan 27 13:42 CE4B-855D -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Jan 27 13:42 ac280eb5-1ea7-4742-9e71-9c7addd35c54 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Jan 27 13:42 e5a76428-8b3f-4349-81af-cbe29c7f7d09 -> ../../nvme0n1p3

The UUIDs are listed to the left-hand side of the ->. Use these values for setting up the /etc/fstab file, below.

/etc/fstab

/etc/fstab is used by the mount command which is run when your system boots. Lines in this file inform mount about filesystems to be mounted and how they should be mounted. In order for the system to boot properly, you must edit /etc/fstab and ensure that it reflects the partition configuration you used earlier in the install process. If you can't remember the partition configuration that you used earlier:

chroot # nano -w /etc/fstab
   /etc/fstab - An example fstab file
UUID=CE4B-855D                                  /boot         vfat    noauto,noatime  1 2
UUID=ac280eb5-1ea7-4742-9e71-9c7addd35c54       none          swap    sw              0 0
UUID=e5a76428-8b3f-4349-81af-cbe29c7f7d09       /             ext4    noatime         0 1
   Important

Be sure to use the actual UUIDs from your system, not the example values above!

   Note

If you mounted a /var or /home partition, add them to your fstab, or your system may not boot correctly.

boot.conf

/etc/boot.conf отвечает за настройки загрузчика в Funtoo. Вот содержание файла по умолчанию:

Here is what is in the file by default:

   /etc/boot.conf
boot {
	generate grub
	default "Funtoo Linux" 
	timeout 3 
}

"Funtoo Linux" {
	kernel kernel[-v]
	initrd initramfs[-v]
	params += real_root=auto rootfstype=auto
}

"Funtoo Linux (nomodeset)" {
	kernel kernel[-v]
	initrd initramfs[-v]
	params += real_root=auto rootfstype=auto nomodeset
}

Если Вы используете собственное, нестандартное ядро, ознакомьтесь с man boot.conf на предмет различных параметров, которые вам доступны.

nomodeset

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

  • Для HiDPI (4K+) экранов, особенно на ноутбуках: Если вы не настроили графическую среду, когда ядро автоматически меняет видеорежим, шрифт в консоли может быть слишком мелким, нечитаемым.
  • Для несовместимых видеокарт: Некоторые видеокарты не поддерживают настройки режимов правильно и в результате получается черный экран после загрузки. Используйте настройку nomodeset как временное решение.

Для использования параметра nomodeset просто выберите его в меню GRUB при загрузке системы.

rootwait

If you are using a root partition on an nvme device, add the rootwait kernel parameter to force the kernel to wait for it to asynchronously initialize or the kernel will panic on some hardware.

Intel Microcode

ego boot проверит, что в системе самая последняя прошивка для процессора Intel, если вы соберете следующие пакеты:

chroot # emerge intel-microcode iucode_tool

Этот шаг не нужно делать для AMD процессоров.

MBR - классическая загрузочная запись (BIOS)

Следуя классическому способу, выполните следующую команду для установки GRUB на MBR, и создайте конфигурационный файл /boot/grub/grub.cfg, используемый GRUB при загрузке.

chroot # grub-install --target=i386-pc --no-floppy /dev/sdX
chroot # ego boot update

UEFI - современная загрузочная запись

Если Вы следуете современному способу, выполните следующий набор команд, в зависимости от того, устанавливаете 32- или 64-битную систему. Это добавит GRUB как загрузочную запись UEFI.

Для 64-битных x86-систем:

chroot # mount -o remount,rw /sys/firmware/efi/efivars
chroot # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
chroot # ego boot update

Для 32-битных x86-систем:

chroot # mount -o remount,rw /sys/firmware/efi/efivars
chroot # grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
chroot # ego boot update

Ego!

Now, let's run Funtoo's ego boot update command to get everything configured. This will detect the current kernel(s) on your system and create the necessary GRUB boot entries to get your system booted:

chroot # ego boot update

Осталось только выполнить grub-install, если это первая установка Funtoo Linux. Также нужно будет выполнять ego boot update каждый раз как вы отредактируете файл /etc/boot.conf или добавите новые ядра в систему. Эта команда пересоздаст файл /etc/boot.conf и после перезагрузки ваши новые ядра появятся в загрузочном меню GRUB.

UEFI. Решение проблем после перезагрузки

В случае, если запись UEFI NVRAM boot отсутствует в BIOS, и GRUB не стартует, попробуйте переместить уже установленный GRUB EFI исполняемый файл в default/fallback path

chroot # mv -v '/boot/EFI/Funtoo Linux [GRUB]' /boot/EFI/BOOT
chroot # mv -v /boot/EFI/BOOT/grubx64.efi /boot/EFI/BOOT/BOOTX64.EFI

Первая загрузка и продолжение

ОК, все готово к загрузке!

Install Guide, Chapter 14 < Prev Next >