The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Install/Bootloader/zh-cn"
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 10: | Line 10: | ||
这些安装说明展示了如何使用 GRUB 用 BIOS(传统)或 UEFI 启动。 | 这些安装说明展示了如何使用 GRUB 用 BIOS(传统)或 UEFI 启动。 | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
ego boot update ({{c|ego boot}}) is installed by default, but GRUB is not, as it is not required for all Funtoo Linux systems (such as containers, for example.) But for booting on bare metal, it is the recommended and best-supported boot loader, so you will need to emerge it: | ego boot update ({{c|ego boot}}) is installed by default, but GRUB is not, as it is not required for all Funtoo Linux systems (such as containers, for example.) But for booting on bare metal, it is the recommended and best-supported boot loader, so you will need to emerge it: | ||
</div> | |||
{{console|body= | {{console|body= | ||
Line 18: | Line 20: | ||
==== boot.conf ==== | ==== boot.conf ==== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{c|/etc/boot.conf}} controls boot loader configuration in Funtoo. Here is what is in the file by default: | {{c|/etc/boot.conf}} controls boot loader configuration in Funtoo. Here is what is in the file by default: | ||
</div> | |||
{{file|name=/etc/boot.conf|body= | {{file|name=/etc/boot.conf|body= | ||
Line 42: | Line 46: | ||
如果你需要自定义或者是从一个非默认的内核启动,请阅读 {{c|man boot.conf}} 来获得对你用帮助的信息。 | 如果你需要自定义或者是从一个非默认的内核启动,请阅读 {{c|man boot.conf}} 来获得对你用帮助的信息。 | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
==== nomodeset ==== | ==== nomodeset ==== | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
You will notice after booting that you there will be a boot option in the GRUB menu for a "nomodeset" mode. We don't recommend you use this mode by default but it is available to you for a couple of good reasons: | You will notice after booting that you there will be a boot option in the GRUB menu for a "nomodeset" mode. We don't recommend you use this mode by default but it is available to you for a couple of good reasons: | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
* '''For users with HiDPI (4K+) displays, especially laptops''': If you have not set up a graphical environment, when the kernel automatically changes graphics modes, the console font can be tiny and unreadable. | * '''For users with HiDPI (4K+) displays, especially laptops''': If you have not set up a graphical environment, when the kernel automatically changes graphics modes, the console font can be tiny and unreadable. | ||
* '''For users with incompatible graphics cards''': Some graphics cards don't handle mode setting properly and this can result in a blank screen after reboot. Use this boot option as a temporary workaround. | * '''For users with incompatible graphics cards''': Some graphics cards don't handle mode setting properly and this can result in a blank screen after reboot. Use this boot option as a temporary workaround. | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
To use the {{c|nomodeset}} option, simply select that option from the GRUB menu when your system boots. | To use the {{c|nomodeset}} option, simply select that option from the GRUB menu when your system boots. | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
=== rootwait === | === 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. | 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 lang="en" dir="ltr" class="mw-content-ltr"> | |||
=== Intel Microcode === | === Intel Microcode === | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{c|ego boot}} will ensure that you have the most recent Intel CPU microcode installed on your system if you emerge the | {{c|ego boot}} will ensure that you have the most recent Intel CPU microcode installed on your system if you emerge the | ||
following packages: | following packages: | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{console|body= | {{console|body= | ||
%chroot% ##i##emerge intel-microcode iucode_tool | %chroot% ##i##emerge intel-microcode iucode_tool | ||
}} | }} | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
This is not necessary for AMD systems. | This is not necessary for AMD systems. | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
==== Old School (BIOS) MBR ==== | ==== Old School (BIOS) MBR ==== | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
When using "old school" BIOS booting, run the following command to install GRUB to your MBR, and generate the {{c|/boot/grub/grub.cfg}} configuration file that GRUB will use for booting: | When using "old school" BIOS booting, run the following command to install GRUB to your MBR, and generate the {{c|/boot/grub/grub.cfg}} configuration file that GRUB will use for booting: | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{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> | |||
==== New School (UEFI) Boot Entry ==== | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
==== New School (UEFI) Boot Entry ==== | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
If you're using "new school" UEFI booting, run of the following sets of commands, depending on whether you are installing a 64-bit or 32-bit system. This will add GRUB as a UEFI boot entry. | If you're using "new school" UEFI booting, run of the following sets of commands, depending on whether you are installing a 64-bit or 32-bit system. This will add GRUB as a UEFI boot entry. | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
For x86-64bit systems: | For x86-64bit systems: | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{console|body= | {{console|body= | ||
%chroot% ##i##mount -o remount,rw /sys/firmware/efi/efivars | %chroot% ##i##mount -o remount,rw /sys/firmware/efi/efivars | ||
Line 85: | Line 120: | ||
%chroot% ##i##ego boot update | %chroot% ##i##ego boot update | ||
}} | }} | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
For x86-32bit systems: | For x86-32bit systems: | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{console|body= | {{console|body= | ||
%chroot% ##i##mount -o remount,rw /sys/firmware/efi/efivars | %chroot% ##i##mount -o remount,rw /sys/firmware/efi/efivars | ||
Line 93: | Line 132: | ||
%chroot% ##i##ego boot update | %chroot% ##i##ego boot update | ||
}} | }} | ||
</div> | |||
==== First Boot, and in the future... ==== | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
==== First Boot, and in the future... ==== | |||
</div> | |||
OK -- you are almost ready to boot! | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
OK -- you are almost ready to boot! | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
You only need to run {{c|grub-install}} when you first install Funtoo Linux, but you need to re-run {{c|ego boot update}} every time you modify your {{c|/etc/boot.conf}} file or add new kernels to your system. This will regenerate {{c|/boot/grub/grub.cfg}} so that you will have new kernels available in your GRUB boot menu upon your next reboot. | You only need to run {{c|grub-install}} when you first install Funtoo Linux, but you need to re-run {{c|ego boot update}} every time you modify your {{c|/etc/boot.conf}} file or add new kernels to your system. This will regenerate {{c|/boot/grub/grub.cfg}} so that you will have new kernels available in your GRUB boot menu upon your next reboot. | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
==== Post reboot UEFI troubleshooting ==== | ==== Post reboot UEFI troubleshooting ==== | ||
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] | 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] | ||
Line 106: | Line 153: | ||
%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 | ||
}} | }} | ||
</div> | |||
<noinclude>{{InstallNavigation|num=14|prev=Kernel|next=Network|align=right}}</noinclude> | <noinclude>{{InstallNavigation|num=14|prev=Kernel|next=Network|align=right}}</noinclude> |
Revision as of 04:45, December 13, 2021
安装指南:Bootloader
Install Guide, Chapter 14 | < Prev | Next > |
boot.conf 配置
这些安装说明展示了如何使用 GRUB 用 BIOS(传统)或 UEFI 启动。
ego boot update (ego boot
) is installed by default, but GRUB is not, as it is not required for all Funtoo Linux systems (such as containers, for example.) But for booting on bare metal, it is the recommended and best-supported boot loader, so you will need to emerge it:
chroot # emerge -av grub
boot.conf
/etc/boot.conf
controls boot loader configuration in 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
You will notice after booting that you there will be a boot option in the GRUB menu for a "nomodeset" mode. We don't recommend you use this mode by default but it is available to you for a couple of good reasons:
- For users with HiDPI (4K+) displays, especially laptops: If you have not set up a graphical environment, when the kernel automatically changes graphics modes, the console font can be tiny and unreadable.
- For users with incompatible graphics cards: Some graphics cards don't handle mode setting properly and this can result in a blank screen after reboot. Use this boot option as a temporary workaround.
To use the nomodeset
option, simply select that option from the GRUB menu when your system boots.
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
will ensure that you have the most recent Intel CPU microcode installed on your system if you emerge the
following packages:
chroot # emerge intel-microcode iucode_tool
This is not necessary for AMD systems.
Old School (BIOS) MBR
When using "old school" BIOS booting, run the following command to install GRUB to your MBR, and generate the /boot/grub/grub.cfg
configuration file that GRUB will use for booting:
chroot # grub-install --target=i386-pc --no-floppy /dev/sdX chroot # ego boot update
New School (UEFI) Boot Entry
If you're using "new school" UEFI booting, run of the following sets of commands, depending on whether you are installing a 64-bit or 32-bit system. This will add GRUB as a UEFI boot entry.
For x86-64bit systems:
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
For x86-32bit systems:
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
First Boot, and in the future...
OK -- you are almost ready to boot!
You only need to run grub-install
when you first install Funtoo Linux, but you need to re-run ego boot update
every time you modify your /etc/boot.conf
file or add new kernels to your system. This will regenerate /boot/grub/grub.cfg
so that you will have new kernels available in your GRUB boot menu upon your next reboot.
Post reboot UEFI troubleshooting
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 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 > |