Additional GRUB Setup (in Russian)
- 1 ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄ΡΡΠ³ΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
- 1.1 GNU/Linux
- 1.2 Windows
- 1.2.1 Windows Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS
- 1.2.2 Windows Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI
- 1.2.3 ΠΠ°ΠΏΡΡΠΊ FreeDOS
- 1.2.4 ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
Π±Π΅Π· ΠΠ‘
- 1.2.4.1 Memtest86+
- 1.2.4.2 EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- 1.2.4.3 Debian, Ubuntu ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΄ΡΠ°
- 1.2.4.4 ΠΡΡΠΌΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π° Π΄ΠΈΡΠΊΠ°
- 1.2.4.5 Arch Linux ISO
- 1.2.4.6 Ubuntu desktop ISO
- 1.2.4.7 ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ² Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°
- 2 ΠΠ°ΡΠΈΡΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ
- 3 ΠΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°
- 4 ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΊΡΠ°Π½Π°
- 5 ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π² ΠΌΠ΅Π½Ρ
- 6 ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅Π½Ρ
- 7 ΠΠΎΠ½ΡΠΎΠ»Ρ GRUB2
- 7.1 ΠΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ
- 7.1.1 ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
- 7.1.2 ΠΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB2
- 7.1.3 ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Arch Linux ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°
- 7.1.4 ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π΄ΠΈΡΠΊΠ° ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
- 7.1.5 ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π±Π΅Π· ΠΌΠ΅Π½Ρ
- 7.2 ΠΠ²Π°ΡΠΈΠΉΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ
- 7.1 ΠΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ
- 8 ΠΠ°ΠΏΡΡΠΊ GRUB2 ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ²
- 9 ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
- 10 Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ
GRUB ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΠΈΠ½Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ GRUB, Π² Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΠΊΡΠΈΡ menuentry. ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠ½ΠΊΡΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Linux ΠΈ Windows ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½ΠΈΠΆΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π°Π²ΡΠΎΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ GRUB, Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π² Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈΡΡ Π²Π°ΡΠΈ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΡΠ½ΡΡ, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» /etc/grub.d/40_custom ΠΈ Π΄ΠΎΠΏΠΈΡΠΈΡΠ΅ ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠΈΠ³ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ grub-mkconfig
GNU/Linux
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Linux Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Ρ ΡΠ°Π·Π΄Π΅Π»Π° sda2:
submenu "Other Linux" {
set root=hd0,2
linux /boot/vmlinuz # Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΄Π° Π²ΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΡΠ΄ΡΠ°
initrd /boot/initrd.img # ΡΠ°ΠΉΠ» initrd, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
}
Windows
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Windows Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Multiboot, ΠΈ GRUB Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Windows Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ. Π§ΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Windows, Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΄ΡΠΎ Windows ΠΈ Π½Π°Π±ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΡΠ°ΡΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠΈΡΠ°Π΅Ρ ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ° Windows.
ΠΠ»Ρ BIOS ΠΈ Π΄Π»Ρ UEFI Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ. Windows, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ UEFI-Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΈ Π½Π΅ ΡΡΠ°ΡΡΡΠ΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ β Π±ΡΠ΄ΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI, Windows Π½Π΅ ΡΡΠ°ΡΡΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS.
Windows Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ Windows Π΄Π»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° BIOS ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² β MBR, ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ GPT, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Windows. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, 32-Π±ΠΈΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Windows XP ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS.
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ Windows ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠ΅ΡΠ΅Π· Π±ΡΡ-ΡΠ΅ΠΊΡΠΎΡ ΡΠ°Π·Π΄Π΅Π»Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½:
menuentry "Windows" {
chainloader (hd0,2)+1
}
Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ntldr
submenu "Windows XP" {
set root=hd0,2
ntldr /ntldr
}
Π Windows Vista ΠΈ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½Π°ΡΠ΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
submenu "Windows 7" {
set root=hd0,3
ntldr /bootmgr
}
Windows Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ Windows, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² β GPT, ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ MBR.
ΠΡΠ»ΠΈ GRUB2 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI, Π΅Π³ΠΎ ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π»Π΅ΠΆΠΈΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ESP/EFISYS ΡΠ°Π·Π΄Π΅Π»Π΅, ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Windows. ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΌΡ ΠΎΠ±ΡΠ°Π·Ρ GRUB2 ΡΠ΅ΠΆΠΈΠΌΠ° UEFI ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $cmdpath
Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π²ΠΈΠ΄Π° (Π΄ΠΈΡΠΊ,ΡΠ°Π·Π΄Π΅Π»)/EFI/ΠΊΠ°ΡΠ°Π»ΠΎΠ³/grubx64.efi. Π§ΡΠΎΠ±Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΈΡΠΊ ΠΈ ΡΠ°Π·Π΄Π΅Π», ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π·Π°ΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΏΡΡΡ, ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $root
. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Windows Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ chainloader, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
submenu "Windows 8" {
regexp -s root '\((.+)\)' "$cmdpath"
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
ΠΠ°ΠΏΡΡΠΊ FreeDOS
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ linux ΠΈ ntldr, Π² GRUB ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΄ΡΠ° FreeDOS, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ freedos, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² MBR ΠΈ Π±ΡΡ-ΡΠ΅ΠΊΡΠΎΡΠ΅:
menuentry "FreeDOS" {
freedos /KERNEL.SYS
}
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π° ΡΠ»Π΅ΡΠΊΡ, FreeDOS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° MHDD ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ Linux ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ FreeDOS Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ "ΠΌΡΠ»ΡΡΠΈΠ·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠ΅". (Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° FreeDOS ΡΡΠ°ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Ρ Π·Π°ΠΏΠΈΡΡΡ Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² MBR ΠΈ Π±ΡΡ-ΡΠ΅ΠΊΡΠΎΡ, ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΌΡ FreeDOS, Ρ ΠΎΡΡ Π±Ρ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.)
ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π±Π΅Π· ΠΠ‘
Memtest86+
Π’Π΅ΡΡ ΠΏΠ°ΠΌΡΡΠΈ memtest86+ (Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS):
menuentry "Memtest86+" {
linux16 /boot/memtest86+/memtest.bin
}
EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° UEFI, Π½ΠΎ ΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈΠ· UEFI-Π²Π΅ΡΡΠΈΠΈ GRUB2, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ chainloader. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Windows ΡΡΠΎ ΡΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ°Π·Π΄Π΅Π» EFISYS, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅, Π° Π½Π° ΡΠΏΠ΅ΡΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π»ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ GRUB, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ root ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° Π½Π° EFISYS. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ UEFI Shell Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· /boot:
submenu "UEFI Shell" {
archroot=$root
regexp -s root '\((.+)\)' "$cmdpath"
chainloader ($archroot)/boot/Shell.efi
}
ΠΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· UEFI Shell Π²Ρ ΡΠ½ΠΎΠ²Π° ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ GRUB.
Debian, Ubuntu ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΄ΡΠ°
Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ, ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ΄ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π° Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² vmlinuz ΠΈ initrd ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ. ΠΡΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ Π²ΡΠ½ΡΠ΄ΠΈΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Debian ΠΈ Ubuntu ΡΠ΄Π΅Π»Π°ΡΡ Π°Π²ΡΠΎΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GRUB, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ.
ΠΡΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΊ (Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS), ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ GRUB2, Π΄Π»Ρ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ:
menuentry "Ubuntu" {
chainloader (hd1)+1
}
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΡΠΊ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
submenu "Ubuntu" {
regexp -s root '\((.+)\)' "$cmdpath"
chainloader /EFI/ubuntu/grubx64.efi
}
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ (Π½Π΅ Π²ΡΠ΅Π³Π΄Π°) Π΄ΡΡΠ³ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ GRUB2 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ multiboot, ΠΌΠΈΠ½ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·Π° Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ²:
submenu "Other Linux" {
set root=hd0,6
multiboot /boot/grub/i386-pc/core.img
}
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ BIOS Π½Π° ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π΄ΠΈΡΠΊ, Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°ΡΡΡΡ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GRUB ΠΈΠ· ΡΠΎΡΡΠ°Π²Π° ΡΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, Π»ΠΈΠ±ΠΎ ΡΡΠΈΡΡ ΡΡΠ°ΡΠ½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Arch Linux ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ "ΡΠ²ΠΎΠ΅ΠΌΡ" GRUB ΠΊΠΎΠ½ΡΠΈΠ³ ΠΎΡ ΡΡΠΆΠΎΠ³ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΡ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ² ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΡΠ±ΡΠΎΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
submenu "Ubuntu" {
unset lang
unset gfxmode
set root=hd0,2
configfile /boot/grub/grub.cfg
}
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΡΡΠΆΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ², Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ. Π ΠΊΠΎΠ½ΡΠΈΠ³ GRUB2 Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΉ ΠΌΠ΅Π½Ρ Π΄Π»Ρ Ubuntu:
. $prefix/ubuntu.cfg
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΆΠΈΡ ΡΠ΄Π΅Ρ Π·Π΄Π΅ΡΡ Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠ΅ΠΊ:
usettings.cfg
uroot=hd0,2
boot=/boot
opts="root=LABEL=Ubuntu_root ro resume=LABEL=SwapU"
hpref="Ubuntu"
Π‘Π°ΠΌ ΡΠΊΡΠΈΠΏΡ:
ubuntu.cfg
function usave {
if [ "$1" != "$usel" ] ; then
usel="$1"
save_env usel
fi
}
function umenu {
. $prefix/usettings.cfg
kpref=$boot/vmlinuz-
ipref=$boot/initrd.img-
load_env
default="$hpref $usel"
if [ -n "$2" ] ; then default="$default $2" ; fi
kernels=
for kfile in "$uroot$kpref"* ; do
k=
regexp -s k "$kpref"'(.+)' "$kfile"
kernels="$k $kernels"
done
for k in $kernels ; do
ifile="$uroot$ipref$k"
if [ -f "$ifile" ] ; then
head="$hpref $k"
if [ -n "$2" ] ; then head="$head $2" ; fi
menuentry "$head" --source="usave $k
linux $uroot$kpref$k $opts $1
initrd $ifile"
fi
done
}
submenu "Ubuntu" --hotkey=u {
insmod regexp
submenu "Recovery mode" --hotkey=r {
umenu "recovery nomodeset" "recovery mode"
}
umenu
}
ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ GRUB Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈΡΡ ΡΠ΄ΡΠ°ΠΌΠΈ Ubuntu, ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ (Π΄Π»Ρ Ubuntu) Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ.
ΠΡΡΠΌΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π° Π΄ΠΈΡΠΊΠ°
GRUB2 ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΎΠ±ΡΠ°Π·Ρ ΡΠ΄Π΅Ρ ΠΠ‘ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²-ΠΎΠ±ΡΠ°Π·ΠΎΠ², ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² ΠΏΡΠ΅Π²Π΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ loopback. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
loopback loop ΡΠ°ΠΉΠ»-ΠΎΠ±ΡΠ°Π·Π°
linux (loop)/ΠΏΡΡΡ/ΠΊ/vmlinuz ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
initrd (loop)/ΠΏΡΡΡ/ΠΊ/initrd
ΠΠΎΡΠ»Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·Π° Π² loop-ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ loop), ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ GRUB2 ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ Π½ΠΈΠΌ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄ΠΈΡΠΊΠ°ΠΌΠΈ β Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠ΄ΡΠ° ΠΈ initrd, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, Π° ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΠΊΡ Π€Π‘ ΠΎΠ±ΡΠ°Π·Π° (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·Π° Arch):
probe -s isolabel -l loop
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ loopback-ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΠ°Π·Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· Arch ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ΅ΡΠΊΡ Π€Π‘ ΠΎΠ±ΡΠ°Π·Π° Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΡΠ΄ΡΠ° archisolabel=, ΠΈ Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Π»Π΅ΠΆΠΈΡ, Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ img_dev= (ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ UUID, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΌΠ΅ΡΠΊΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ).
ΠΠ±ΡΠ°Π· Ubuntu Π΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΏΡΡΡΠΌ ΠΊ ΠΎΠ±ΡΠ°Π·Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΌ.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π° ΠΌΠΎΠ³ΡΡ ΠΈ Π²ΠΎΠ²ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ GRUB2 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΡΠ°Π·Π΄Π΅Π» Π΄ΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠ»Π΅ΡΠΊΠΈ, Π³Π΄Π΅ Π»Π΅ΠΆΠ°Ρ ΠΎΠ±ΡΠ°Π·Ρ (Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΌ. Π½ΠΈΠΆΠ΅). Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΡΠ»Π΅ΡΠΊΡ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π΄ΠΈΡΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ°Π²ΡΠ΅Π³ΠΎΡΡ ΠΌΠ΅ΡΡΠ° Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»Π΅ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Arch Linux ISO
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ GRUB2 Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· Arch Linux.
grub.cfg
dir=
arch=x86_64
insmod regexp # Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² * Π² ΠΈΠΌΠ΅Π½Π°Ρ
ΡΠ°ΠΉΠ»ΠΎΠ²
probe -s root_uuid -u $root # ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ UUID Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² img_dev=
for iso in $dir/archlinux-*-$arch.iso ; do # ΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·(Ρ) Arch ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ
if [ ! -f "$iso" ] ; then continue; fi # ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π· ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
regexp -s build 'archlinux-(.+)-'$arch "$iso" # ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°Π·Π° Π΄Π°ΡΡ ΡΠ±ΠΎΡΠΊΠΈ
menuentry "Arch Linux ISO $build $arch" --source="\
loopback loop $iso
probe -s isolabel -l loop
linux (loop)/arch/boot/$arch/vmlinuz archisolabel=\$isolabel img_dev=/dev/disk/by-uuid/$root_uuid img_loop=$iso earlymodules=loop
initrd (loop)/arch/boot/$arch/archiso.img"
done
Π€Π°ΠΉΠ» ΠΎΠ±ΡΠ°Π·Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²ΠΈΠ΄Π° archlinux-YYYY.MM.DD-x86_64.iso
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅ΠΆΠ°ΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ°Π·Π΄Π΅Π»Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ "ΠΊΠ°ΠΊ Π΅ΡΡΡ", Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΏΡΠ°Π²ΠΎΠΊ -- Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΡΠ°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ°Π·Π° (ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ²), ΡΠ°ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ UUID ΡΠ°Π·Π΄Π΅Π»Π°, ΠΌΠ΅ΡΠΊΡ ΠΎΠ±ΡΠ°Π·Π°, ΠΈ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΡ ΡΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄ΡΠ°.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·Π° (ΠΎΠ±ΡΠ°Π·ΠΎΠ²) ΠΎΡΠΎΠ±ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π²ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΌΡ (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠ½Ρ ΡΠ°Π·Π΄Π΅Π»Π°) Π² ΡΡΡΠΎΠΊΡ dir=
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
dir=/images
Ubuntu desktop ISO
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ GRUB2 Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π»ΡΠ±ΡΠ΅ ISO-ΠΎΠ±ΡΠ°Π·Ρ Ubuntu, ΠΊΡΠΎΠΌΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ . Π ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π±ΡΠ΄ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Ubuntu.
grub.cfg
dir=
insmod regexp
for iso in $dir/*ubuntu-*.iso ; do # ΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·(Ρ) Ubuntu
if [ ! -f "$iso" ] ; then continue; fi # ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π· ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
regexp -s name '.*/(.+)\.iso' "$iso" # Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ
if regexp server "$name" ; then continue ; fi # Ubuntu Server Π½Π΅ ΡΡΠΎΠ³Π°Π΅ΠΌ, ΡΠ°ΠΌ Π²ΡΡ ΠΈΠ½Π°ΡΠ΅
if regexp amd64 "$name" ; then efi='.efi' ; else efi= ; fi # Π΄Π»Ρ x86_64 ΠΎΠ±ΡΠ°Π· ΡΠ΄ΡΠ° vmlinuz.efi
menuentry "$name" --source="\
loopback loop $iso
linux (loop)/casper/vmlinuz$efi boot=casper iso-scan/filename=$iso noeject --
initrd (loop)/casper/initrd.lz"
done
ΠΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΠ΄ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΏΡΠ°Π²ΠΎΠΊ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π»Π΅ΠΆΠ°Ρ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ°Π·Π΄Π΅Π»Π°, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ Π½ΠΈΡ
Π² ΡΡΡΠΎΠΊΡ dir=
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ² Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°
ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π·Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /home ), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄, ΡΠΎΠ·Π΄Π°Π² Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ:
submenu "ISO boot" {
dir=
set root=hd0,5 # Π·Π΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»Π°
# ΠΈΠ»ΠΈ Π½Π°ΠΉΡΠΈ Π΅Π³ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Arch_home:
# search -s root -l Arch_home
insmod regexp
probe -s root_uuid -u $root
arch=x86_64
# Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π°ΡΠΈΠ½Π°Ρ Ρ for
}
ΠΡΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π» ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΠΎ UUID, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
submenu "ISO boot" {
dir=
root_uuid=ef6daeca-9278-40df-8c3b-55cf093ab215
search -s root -u $root_uuid
insmod regexp
arch=x86_64
# Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π°ΡΠΈΠ½Π°Ρ Ρ for
}
ΠΠ°ΡΠΈΡΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ
Π Π·Π°ΡΠΈΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°
ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ GRUB2 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌ Π² ΡΠ΅Π±Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΡΡΠ½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.
ΠΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΌΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ Π²Π·Π»ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΄ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ root Π±Π΅Π· Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Ρ, Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π½ΠΎΡΠΈΡΠ΅Π»Ρ β Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊΠΎ Π²ΡΠ΅ΠΌ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ.
GRUB2 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΡ. Π‘ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ BIOS, ΠΈ Π·Π°ΠΏΡΠ΅ΡΠΎΠΌ Π² BIOS Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ Ρ Π»ΡΠ±ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡΠ°Ρ Π²ΡΠΊΡΡΡΠΈΡ ΠΊΠΎΡΠΏΡΡΠ° Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠ±ΡΠΎΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ BIOS.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Π² GRUB2
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π² GRUB2 Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
ΠΠΎΡΡΠΈ, ΠΎΠ½ΠΈ ΠΆΠ΅ Π½Π΅Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ.
ΠΠ²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π½ΠΈΡ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ. ΠΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ β ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΠΏΡΠ½ΠΊΡΠ°ΠΌ ΠΌΠ΅Π½Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ menuentry ΠΈ submenu ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ:
--users=
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎΡ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ
--unrestricted
ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎΡ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π±Π΅Π· Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°ΠΆΠ½ΠΎ: ΠΠΎΡΠ»Π΅ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΏΠ°ΡΠΎΠ»ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, Π»ΡΠ±ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΎΠΏΡΠΈΠΉ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ.
Π‘ΠΏΠΈΡΠΎΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ superusers, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
set superusers=root
ΠΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
password ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ°ΡΠΎΠ»Ρ
Π»ΠΈΠ±ΠΎ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ (Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ) Π²ΠΈΠ΄Π΅, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
password_pbkdf2 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ
Π΅Ρ
ΠΠ»Ρ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ° grub-mkpasswd-pbkdf2. ΠΠ°ΠΏΡΡΡΠΈΠ² Π΅Ρ ΠΈ Π²Π²Π΅Π΄Ρ (Π΄Π²Π°ΠΆΠ΄Ρ) ΠΏΠ°ΡΠΎΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ Π΅Ρ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΉ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ GRUB2.
Π§ΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈ Ρ
Π΅ΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²Π° Π½Π° ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠΌ GRUB Π² Π²ΠΈΠ΄Π΅ root:root 600
, Π»ΠΈΠ±ΠΎ Π²ΡΠ½Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
. $prefix/secret.cfg
ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π½Π΅ΠΌΡ.
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Π² Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ grub-mkconfig ΡΠ°ΠΌ Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΡ, Ρ
ΠΎΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³Ρ Π² -rw------- root root
, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ.
ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡΠ°Π²ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° /etc/grub.d/00_header ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
cat << EOF
set superusers=root
password_pbkdf2 root grub.pbkdf2.sha512.10000.C2DDC47FC5C7341CE73DBD6728E8D29A.AA5A1DEA93E23358E908301439DEC488
EOF
ΠΠ°ΠΆΠ½ΠΎ: ΠΠΎΡΠ»Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΠΠ‘Π ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΡΡΠ°Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ!
ΠΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π· Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ --unrestricted
Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° /etc/grub.d/40_custom, Π»ΠΈΠ±ΠΎ ΠΏΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° GRUB.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ
ΠΠ΄Π΅ΡΡ "Arch Linux" ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π±Π΅Π· Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, "Windows" ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ second Ρ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ dnjhjq, Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ "Boot next disk", ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ ΡΠ»Π΅ΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ root, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π» ΡΠ²ΠΎΠΉ ΠΏΠ°ΡΠΎΠ»Ρ.
set default=0
set timeout=5
set superusers=root
password second dnjhjq
password_pbkdf2 root grub.pbkdf2.sha512.10000.C2DDC47FC5C7341CE73DBD6728E8D29A.AA5A1DEA93E23358E908301439DEC488
menuentry "Arch Linux" --unrestricted {
linux /boot/vmlinuz-linux root=LABEL=Arch_root rw resume=LABEL=Arch_swap
initrd /boot/initramfs-linux.img
}
submenu "Windows" --users=second {
set root=hd0,1
chainloader +1
}
submenu "Boot next disk" {
set root=hd1
chainloader +1
}
ΠΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°
GRUB2 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΌΠ΅Π½Ρ.
Π¦Π²Π΅ΡΠ° ΠΌΠ΅Π½Ρ
Π¦Π²Π΅ΡΠ° ΠΌΠ΅Π½Ρ GRUB2 Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ menu_color_normal (ΠΎΠ±ΡΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΊΡΡΠ°/ΡΠΎΠ½Π°) ΠΈ menu_color_highlight (ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΊΡΡΠ°/ΡΠΎΠ½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Arch Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ GRUB (grub.cfg) ΡΠ°ΠΊ:
set menu_color_normal=light-blue/black
set menu_color_highlight=light-cyan/blue
ΠΈΠ»ΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ /etc/default/grub ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ° grub-mkconfig ΡΠ°ΠΊ:
GRUB_COLOR_NORMAL="light-blue/black"
GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² GRUB2 ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅.
Π‘ΠΊΡΡΡΠΎΠ΅ ΠΌΠ΅Π½Ρ
grub-mkconfig ΡΠΌΠ΅Π΅Ρ "ΡΠΊΡΡΠ²Π°ΡΡ" ΠΌΠ΅Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ ESC Π΄ΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ°ΡΡΠ°. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π² /etc/default/grub ΡΡΡΠΎΠΊΠΈ
GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=true
Π ΠΊΠΎΠ½ΡΠΈΠ³ GRUB (grub.cfg) Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:
set timeout=5
echo -n "Press ESC to see the menu... "
if sleep --verbose --interruptible $timeout
then set timeout=0
else unset timeout
fi
ΠΠ΄Π΅ΡΡ Π½Π΅ Π·Π°Π΄Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ°ΡΡ Π΄Π»Ρ ΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ timeout
. ΠΠΎΡΠ»Π΅ Π²ΡΠ²ΠΎΠ΄Π° Π½Π°Π΄ΠΏΠΈΡΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ sleep
Ρ Π² Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΡΠ° --verbose
ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ESC --interruptible
. ΠΡΠ»ΠΈ ΠΎΡΡΡΡΡ Π½Π΅ Π±ΡΠ» ΠΏΡΠ΅ΡΠ²Π°Π½, ΡΠ°ΠΉΠΌΠ°ΡΡ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ Π½ΡΠ»Ρ set timeout=0
, ΠΈ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ Π±Π΅Π· Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΉΠΌΠ°ΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ unset timeout
, ΡΡΠΎΠ±Ρ ΠΎΡΡΡΡΡ Π½Π΅ Π½Π°ΡΠ°Π»ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠΊΠ°Π·Π° ΠΌΠ΅Π½Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π² Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Ρ ΠΎΠ±ΠΎΡΠΌΠΈ ΠΈ ΡΡΠΈΡΡΠ°ΠΌΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅ΡΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΠΎΡΡΡΡΡΠ°, ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΡΡΡΡ ΠΏΡΠ΅ΡΠ²Π°Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΊΡΠ°Π½Π°
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠΊΡΠ°Π½Π°
GRUB2 ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ ΡΠΊΡΠ°Π½Π°. ΠΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ BIOS ΠΈΠ»ΠΈ UEFI Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ videoinfo Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. ΠΠ° ΡΠ°Π·Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°ΠΌΠΈ, ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ.
ΠΡΠ±ΡΠ°Π² Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ videotest ΡΠ΅ΠΆΠΈΠΌ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
videotest 1280x1024x32
Π’Π΅ΡΡΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π΄ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π΅Ρ, Π·Π½Π°ΡΠΈΡ ΡΠ΅ΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π’Π΅ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°.
ΠΠ°ΠΆΠ½ΠΎ: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠΆΠ΅ Π·Π°Π΄Π°Π½ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΠΈ Π²Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° GRUB2 ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ°.
Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ
GRUB2 ΡΡΠ°ΡΡΡΠ΅Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΈΠ»ΠΈ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
unset lang
terminal_output console
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠΈΡ auto
ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ. Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ:
GRUB_GFXMODE=console
ΠΈΠ»ΠΈ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΄ΡΠ°:
GRUB_GFXPAYLOAD_LINUX=text
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ
GRUB2 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠΊΡΠ°Π½Π° Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ gfxmode , ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΄ΡΠΎΠΌ Linux ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅, ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ gfxpayload
ΠΡΠΈ ΡΠ΅ΠΆΠΈΠΌΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ:
grub.cfg
set gfxmode=1024x768x32
set gfxpayload=1280x1024x16
/etc/default/grub
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=1280x1024x16
ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ:
grub.cfg
set gfxmode=1280x1024x32
set gfxpayload=$gfxmode
/etc/default/grub
GRUB_GFXMODE=1280x1024x32
GRUB_GFXPAYLOAD_LINUX=keep
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ , Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ Π΄ΡΡΠ³ΠΎΠΉ.
Π Π΅ΠΆΠΈΠΌ ΡΠΊΡΠ°Π½Π° Π΄Π»Ρ ΡΠ΄ΡΠ° Linux Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π½Π°ΡΠ°Π»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΄ΡΠ°, Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ GRUB Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΌΠ΅ΡΡΠΎ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠ²ΠΎ auto
, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΆΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ BIOS Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°. ΠΠ±ΡΡΠ½ΠΎ auto
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ· ΡΡΠ°ΡΠ½ΡΡ
ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡΡΠ½ΡΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΡΠΉ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π»Ρ BIOS, ΡΠΏΠΎΡΠΎΠ± Π·Π°Π΄Π°ΡΡ VESA-ΡΠ΅ΠΆΠΈΠΌ β ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ΄ΡΠ° Linux vga, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ vga=790
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° vga, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅
Β | 640x480 | 800x600 | 1024x768 | 1280x1024 |
---|---|---|---|---|
256 | 0x301=769 | 0x303=771 | 0x305=773 | 0x307=775 |
32K | 0x310=784 | 0x313=787 | 0x316=790 | 0x319=793 |
64K | 0x311=785 | 0x314=788 | 0x317=791 | 0x31A=794 |
16M | 0x312=786 | 0x315=789 | 0x318=792 | 0x31B=795 |
ΠΠ΄Π½Π°ΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡΡ BIOS ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ΄Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠ². ΠΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ videoinfo Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΠΠ‘ GNU/Linux ΠΊΠΎΠΌΠ°Π½Π΄Ρ
sudo hwinfo --framebuffer
ΠΠΎΠΌΠ°Π½Π΄Π° hwinfo Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ community.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΡΡΠΈΡΡ ΠΈ ΠΎΠ±ΠΎΠΈ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ gfxmode ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΠ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ GRUB Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π³ΡΠ°ΡΠΈΠΊΡ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ gfxmode
Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ loadfont Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΡΠΈΡΡ
Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° (vbe Π΄Π»Ρ BIOS, Π»ΠΈΠ±ΠΎ efi_gop ΠΈ efi_uga Π΄Π»Ρ UEFI)
ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° gfxterm
ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
terminal_output gfxterm
GRUB2 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΡΠΎΠ²ΡΠ΅ ΡΡΠΈΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ pf2. Π¨ΡΠΈΡΡ Unifont Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΏΠ°ΠΊΠ΅Ρ grub ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ unicode.pf2, ΠΈ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ grub-install Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /boot/grub/fonts
Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ GRUB2 ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΠΎΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ background_image . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ tga, png ΠΈ jpeg, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ° /etc/default/grub ΠΎΠ±ΠΎΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ°ΠΊ:
GRUB_BACKGROUND=/boot/grub/themes/starfield/starfield.png
ΠΡΠΈΠΌΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ° ΠΈ ΠΎΠ±ΠΎΠ΅Π² ΠΈΠ· Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ. ΠΡΠΆΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
if [ "$grub_platform" = "pc" ] ; then
insmod vbe # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ BIOS
else
insmod efi_gop # ΠΈΠ»ΠΈ Π΄Π»Ρ EFI
insmod efi_uga
fi
loadfont $prefix/fonts/unicode.pf2 # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΠΈΡΡ
set gfxmode=auto
insmod gfxterm # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°
terminal_output gfxterm # ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΠΊΡ
insmod png # Π΄Π»Ρ ΡΡΠΈΡ
ΠΎΠ±ΠΎΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ png
background_image $prefix/themes/starfield/starfield.png
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ½ΠΈΠΊΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΌΠ΅Π½Ρ GRUB ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ, ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ lang Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ru
.
ΠΠ°ΠΆΠ½ΠΎ: ΠΠ΅ ΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅! ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ terminal_output console
, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ unset lang
, ΠΈΠ½Π°ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π°Π΄ΠΏΠΈΡΠ΅ΠΉ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΠΎΡΡΠ°Π½ΡΡΡΡ ΠΎΠ΄Π½ΠΈ Π²ΠΎΠΏΡΠΎΡΡ.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² GRUB ΡΠ²ΠΎΠΈ ΡΡΠΈΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠΎΡΠΌΠ°Ρ pf2. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠ° grub Π²Ρ ΠΎΠ΄ΠΈΡ ΡΡΠΈΠ»ΠΈΡΠ° grub-mkfont . ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ°ΡΡΡΠΎΠ²ΡΠΌΠΈ ΡΡΠΈΡΡΠ°ΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ BDF
grub-mkfont ΡΡΠΈΡΡ.bdf -o ΡΡΠΈΡΡ.pf2
ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ TTF
grub-mkfont ΡΡΠΈΡΡ.ttf -s ΡΠ°Π·ΠΌΠ΅Ρ -o ΡΡΠΈΡΡ.pf2
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Terminus
ΠΠ°ΠΊΠ΅Ρ terminus-font Π΄Π»Ρ GRUB Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π· Π² ΡΠΎΡΠΌΠ°ΡΠ΅ BDF. ΠΠ°Π»Π΅Π΅ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ², ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΡΠΎ ΡΡΠΈΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π΄Π»Ρ GRUB:
$ tar xf terminus-font-4.38.tar.gz
$ cd terminus-font-4.38/
$ ls *.bdf
ter-u12b.bdf ter-u14v.bdf ter-u18b.bdf ter-u22b.bdf ter-u28b.bdf
ter-u12n.bdf ter-u16b.bdf ter-u18n.bdf ter-u22n.bdf ter-u28n.bdf
ter-u14b.bdf ter-u16n.bdf ter-u20b.bdf ter-u24b.bdf ter-u32b.bdf
ter-u14n.bdf ter-u16v.bdf ter-u20n.bdf ter-u24n.bdf ter-u32n.bdf
$ grub-mkfont -v ter-u16b.bdf -o ter-u16b.pf2
Font name: Terminus Bold 16
Max width: 8
Max height: 16
Font ascent: 12
Font descent: 4
Number of glyph: 879
$ sudo cp ter-u16b.pf2 /boot/grub/fonts/
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³Π° GRUB ΡΠΎ ΡΡΠΈΡΡΠΎΠΌ Terminus ΠΈ ΡΡΡΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ:
loadfont $prefix/fonts/ter-u16b.pf2
set gfxmode=auto
set lang=ru # Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ
insmod vbe
insmod gfxterm
terminal_output gfxterm
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΈΡΡΠΎΠ²
ΠΡΠ»ΠΈ ΡΡΠΈΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ, Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ lsfonts, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΠΈΡΡΠΎΠ².
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΡΠΈΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ, ΠΈ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ GRUB. Π§ΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²ΠΈΠ΄Π°
loadfont $prefix/themes/ΡΠ΅ΠΌΠ°/ΡΡΠΈΡΡ.pf2
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΡΡΠΈΡΡ Π±ΡΠ΄ΡΡ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΌΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΌΠ΅Π½Ρ GRUB ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡΠ΅Π²Π΄ΠΎΠ³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ GRUB β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ
Π’Π΅ΠΌΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΠΉΠ» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ theme.txt, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π΄Π»Ρ "ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ" ΠΌΠ΅Π½Ρ, ΡΡΠΈΡΡΡ ΠΈ ΠΎΠ±ΠΎΠΈ.
Π ΠΏΠ°ΠΊΠ΅Ρ grub Π²Ρ ΠΎΠ΄ΠΈΡ Π΄Π΅ΡΠΎΠ»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ grub-install ΠΎΠ½Π° ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /boot/grub/themes/starfield/ . Π’Π΅ΠΌΡ Π΄Π»Ρ GRUB ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΌΡ. Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ° /etc/default/grub ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
GRUB_THEME="/boot/grub/themes/starfield/theme.txt"
Π ΡΠ°ΠΉΠ»Π°Ρ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ GRUB ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ theme
ΠΠ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ. Π§ΡΠΎΠ±Ρ ΡΠ΅ΠΌΠ° ΠΌΠΎΠ³Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² Π½Π΅ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π΄ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π² Π³ΡΠ°ΡΠΈΠΊΡ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π² Π½Π΅ΠΉ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ (ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ png) ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² Π½Π΅ΠΉ ΡΡΠΈΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ, Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π² ΠΏΠ°ΠΊΠ΅Ρ grub:
dir=$prefix/themes/starfield # ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠ΅ΠΌΠΎΠΉ
set theme=$dir/theme.txt # Π·Π°Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
insmod regexp # ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π² ΠΈΠΌΠ΅Π½Π°Ρ
ΡΠ°ΠΉΠ»ΠΎΠ²
loadfont $dir/*.pf2 # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΡΠΈΡΡΡ ΠΈΠ· ΡΠ΅ΠΌΡ
insmod png # ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
set gfxmode=auto
set lang=ru
insmod gfxterm
insmod vbe
terminal_output gfxterm # Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΡ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ GRUB ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² AUR.
ΠΠ°ΠΆΠ½ΠΎ: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΌΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ, ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² Π½ΠΈΡ ΡΡΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ GRUB.
Π’Π°ΠΊΠΆΠ΅ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΠΌΠ°Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΡΡΡ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ. ΠΠΌΠ΅ΠΉΡΠ΅ ΡΡΠΎ Π² Π²ΠΈΠ΄Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π² ΠΌΠ΅Π½Ρ
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊ:
/etc/default/grub
GRUB_DEFAULT="saved"
GRUB_SAVEDEFAULT="true"
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ GRUB2 ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ Π½ΠΈΠΆΠ΅.
ΠΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π΅Π· ΡΠΌΠ΅Π½Ρ Π΄Π΅ΡΠΎΠ»ΡΠ°
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈΠ»ΠΈΡΠ° grub-reboot, Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-ΠΏΠΎΠ΄ ΠΠ‘ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
grub-reboot "Windows XP"
Π Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ grub-mkconfig Π² /etc/default/grub Π±ΡΠ»Π° ΡΡΡΠΎΠΊΠ°
GRUB_DEFAULT="saved"
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ GRUB2 ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ Π½ΠΈΠΆΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° GRUB Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ
set timeout=5
set default=0
load_env # Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
if [ -n "$next_entry" ] ; then # Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ
set default="$next_entry" # Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΠ΅ΠΌ Π΄Π΅ΡΠΎΠ»Ρ
unset next_entry # ΠΈ ΠΎΡΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ
save_env next_entry
fi # Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π΄Π΅ΡΠΎΠ»Ρ Π½Π΅ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ
export default # Π½Π° ΡΠ»ΡΡΠ°ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ savedef Π²Π½ΡΡΡΠΈ submenu
function savedef { # Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ savedef
if [ -n "$1" ] # Π²ΡΠ±ΠΎΡ Π±Π΅ΡΡΠΌ Π»ΠΈΠ±ΠΎ
then def="$1" # ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
else def="$chosen" # Π»ΠΈΠ±ΠΎ ΠΈΠ· $chosen, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ GRUB
fi # Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ
if [ "$def" != "$default" ] ; then # ΠΡΠ»ΠΈ Π²ΡΠ±ΠΎΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ
set default="$def" # ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π΄Π΅ΡΠΎΠ»ΡΠ° -
save_env default # ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ
fi
unset def
} # ΠΊΠΎΠ½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ
menuentry "Arch Linux" {
savedef
linux /boot/vmlinuz-linux root=LABEL=Arch_root rw
initrd /boot/initramfs-linux.img
}
menuentry "Arch Linux fallback" {
savedef "Arch Linux" # Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· Π²ΡΠ±Π΅ΡΠ΅ΡΡΡ "Arch Linux"
linux /boot/vmlinuz-linux root=LABEL=Arch_root rw
initrd /boot/initramfs-linux-fallback.img
}
submenu "Windows XP" {
savedef
set root=hd0,1
ntldr /ntldr
}
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ GRUB2 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π°Π½ΡΠ°ΠΌΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° load_env Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π²ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΠ΅ Π² Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
ΠΠΎΠΌΠ°Π½Π΄Π° save_env ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ».
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ chosen ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠ½ΠΊΡΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΌΠ΅Π½Ρ, Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΡ "ΠΏΡΡΡ", ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΡ
Π·Π½Π°ΠΊΠΎΠΌ ">". ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ "Fallback" Π²ΡΠ±ΡΠ°Π½ ΠΏΡΠ½ΠΊΡ "Arch linux-lts", Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ "Fallback>Arch linux-lts
".
Π’Π°ΠΊΠΆΠ΅ Π·Π΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ GRUB. ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ default, ΠΈ Π΅ΡΠ»ΠΈ Π²ΡΠ±ΠΎΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ - Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² default ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /boot/grub/grubenv . Π’Π°ΠΊ ΠΊΠ°ΠΊ GRUB Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½, Π° Π΄Π»ΠΈΠ½Π° Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΌΠ΅Π½ΡΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π² 1024 Π±Π°ΠΉΡΠ° Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ### . ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΠ‘ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ grub-editenv, Π»ΠΈΠ±ΠΎ grub-reboot ΠΈ grub-set-default.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅Π½Ρ
ΠΠΎΠ½ΡΠΈΠ³ GRUB2 ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ. ΠΠ½ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ, Π° Π½Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΌΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΡΠ°ΠΌ, "Π½Π° Π»Π΅ΡΡ", Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π² /boot/ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ΄ΡΠ° Arch Linux ΠΈ ΠΎΠ±ΡΠ°Π·Ρ initramfs, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π³ΡΡΠΏΠΏΠΈΡΡΠ΅Ρ ΠΈΡ ΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π΅Π³ΠΎ. ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄ΡΠ° ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ UUID ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°.
Π grub.cfg ΠΏΠΈΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΊΡ. (ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠΌ. Π²ΡΡΠ΅.)
/boot/grub/grub.cfg
. $prefix/main.cfg
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° settings.cfg
/boot/grub/settings.cfg
set menu_color_normal=white/blue
set menu_color_highlight=white/black
set timeout=5
set default=0
boot=/boot
probe -s UUID -u $root # Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ UUID ΠΊΠΎΡΠ½Ρ
opts="root=UUID=$UUID rw" # ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄ΡΠ°
addimg=$boot/intel-ucode.img # Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° CPU intel
load_env
Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π·Π΄Π΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ, ΡΡΠ΄Π° ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³Π°:
/boot/grub/main.cfg
# ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠ΅ΠΊ
. $prefix/settings.cfg
# ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ°
if [ -n "$next_entry" ] ; then
set default="$next_entry"
unset next_entry
save_env next_entry
fi
export default
# ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ
function savedef {
if [ -n "$1" ]
then def="$1"
else def="$chosen"
fi
if [ "$def" != "$default" ] ; then
set default="$def"
save_env default
fi
unset def
}
# ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅Π½Ρ
. $prefix/dynamic.cfg
# ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡΡ
c="$prefix/custom.cfg"
if [ -f "$c" ] ; then
. "$c"
fi
Π‘ΠΊΡΠΈΠΏΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΄Π΅Ρ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΠ΅Π½Ρ:
/boot/grub/dynamic.cfg
insmod regexp
initrd=initrd
if [ -n "$addimg" -a -f "$addimg" ] ; then
initrd="$initrd $addimg"
fi
kpref="$boot/vmlinuz-"
ipref="$boot/initramfs-"
kernels=
for kfile in "$kpref"* ; do
k=
regexp -s k "$kpref"'(.+)' "$kfile"
kernels="$kernels $k"
done
for ifile in "$ipref"* ; do
kname=
for k in $kernels; do
if regexp "$k" "$ifile" ; then
if ! regexp "$kname" "$k" ; then continue; fi
head="Arch $k"
if regexp -s s "$k"'-(.+).img' "$ifile"
then head="$head $s"; fi
kname="$k"
fi
done
if [ -n "$kname" ] ; then
menuentry "$head" --source="savedef
linux $kpref$kname $opts
$initrd $ifile"
fi
done
ΠΠΎΠ½ΡΠΎΠ»Ρ GRUB2
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ GRUB2 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π»Π»-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ GRUB2 ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° grub>
, Π·Π½Π°ΡΠΈΡ Π²Ρ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π΅Π³ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
GRUB2 ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ:
ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ grub.cfg;
ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, Π½ΠΎ Π² Ρ ΠΎΠ΄Π΅ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊ ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΌΠ΅Π½Ρ, ΠΈ Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° boot (ΡΠΌ. Π½ΠΈΠΆΠ΅), Π»ΠΈΠ±ΠΎ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΎΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ;
Π² ΠΌΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° "c".
ΠΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB2
ΠΡΠΎΠΌΠ΅ ΡΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΠ°ΡΡΠΈ "ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°", Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB2 ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ pager . ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π΅ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
pager=1
ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΈΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½.ΠΠΎΠΌΠ°Π½Π΄Π° help . ΠΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΠΈΠ΄Π° help ΡΠ»ΠΎΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π°
help normal
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ normal ΠΈ normal_exit.ΠΠΎΠΌΠ°Π½Π΄Π° ls Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΈΡΠΊΠΎΠ² ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΡ. Π‘ ΠΊΠ»ΡΡΠΎΠΌ
-l
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ -- ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΊΡ, UUID ΠΈ ΡΠΈΠΏ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ ΠΊΠ»ΡΡΠ°ΠΌΠΈ-lh
Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ Π² "ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ" Π²ΠΈΠ΄Π΅. Π‘ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ Π½ΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρls (hd0,1)
Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΎΠΌ Π΄ΠΈΡΠΊΠ΅.ΠΠΎΠΌΠ°Π½Π΄Π° ls Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. Π‘ ΠΊΠ»ΡΡΠΎΠΌ
-l
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ-lh
Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ Π΄Π°ΡΡ Π² "ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ" ΡΡΠΎΠΌΠ°ΡΠ΅. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π°ls -lh /boot
ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /boot Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ (Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ root) ΡΠ°Π·Π΄Π΅Π»Π΅, Π°ls (hd0,1)/
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°Π·Π΄Π΅Π»Π° hd0,1.ΠΠΎΠΌΠ°Π½Π΄Π° set Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° echo Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π»Π°, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ. ΠΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
echo $cmdpath $prefix $root
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΡ ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.ΠΠΎΠΌΠ°Π½Π΄Π° cat Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ΅Π»Π»Π°, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° GRUB2 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΠΈΠ³Π° ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, fstab, ΠΈ Ρ.Π΄.
ΠΠΎΠΌΠ°Π½Π΄Π° boot Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π· ΡΠ΄ΡΠ°, Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΈΠ»ΠΈ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ linux, initrd, ntldr, chainloader ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΌΠ΅Π½Ρ GRUB, Π³Π΄Π΅ Π·Π°ΠΏΡΡΠΊ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ β Π±Π΅Π· Π½Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ°Π· ΡΠ°ΠΌ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ.
Π Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB2 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ TAB, ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Linux.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Arch Linux ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ°Π·Π΄Π΅Π», Π½ΠΎ Π·Π°Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ΅Π½Ρ ΠΈΠ· Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π°, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡΡ "c", ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
probe -s UUID -u $root
linux /boot/vmlinuz-linux rw root=UUID=$UUID
initrd /boot/initramfs-linux.img
boot
ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π΄ΠΈΡΠΊΠ° ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π²Π΅ΡΡΠΈΡΡ BIOS Π½Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ ΡΠ»Π΅ΡΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ, Π½ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΎΡΠ΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ GRUB:
root=hd1
chainloader +1
boot
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π±Π΅Π· ΠΌΠ΅Π½Ρ
grub.cfg
set timeout=3
probe -s UUID -u $root
linux /boot/vmlinuz-linux rw root=UUID=$UUID
initrd /boot/initramfs-linux.img
if sleep -vi $timeout
then boot
fi
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ GRUB2 Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Ρ Π΄ΠΈΡΠΊΠ° ΠΎΠ±ΡΠ°Π·Ρ ΡΠ΄ΡΠ° ΠΈ initramfs, ΠΆΠ΄ΡΡ 3 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΄ΡΠΎ.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΈΡ
ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΡΡ ESC, ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ΄ΡΠΎ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ, Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ boot
Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠ²Π°ΡΠΈΠΉΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ
ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ "ΡΠ°ΠΏΠΊΠΈ" Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° grub rescue>
, Π·Π½Π°ΡΠΈΡ Π²Ρ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π°Π²Π°ΡΠΈΠΉΠ½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ²Π°ΡΠΈΠΉΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ GRUB2 Π²ΡΡΡΠΎΠ΅Π½Π° Π² ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° GRUB2 Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² "Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ" ΡΠ΅ΠΆΠΈΠΌ. Π’Π°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ΄ΡΠΎ GRUB2 ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π΅ Π½Π°ΡΠ»ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΏΠΎ ΠΏΡΡΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ prefix.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ (Π΄ΠΈΡΠΊ,ΡΠ°Π·Π΄Π΅Π»)/ΠΏΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ (hd0,msdos6)/boot/grub
. ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, Π° ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ (Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π·Π°ΠΏΡΡΠΎΠΉ) "Π·Π°ΡΠΈΠ²Π°Π΅ΡΡΡ" Π² ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π΅ΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
ΡΡ Π² $prefix
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π°, ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ grub), Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ "Π²ΡΠ²Π°Π»ΠΈΡΡΡ" Π² Π°Π²Π°ΡΠΈΠΉΠ½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ GRUB2 ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅Π³ΠΎ 4 ΠΊΠΎΠΌΠ°Π½Π΄Ρ: set , unset , ls , ΠΈ insmod . ΠΠΎΠ²ΡΠΎΡ ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ls ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ΅Π·Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ β Π±Π΅Π· ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π² ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΡ ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΎΠΏΠΎΠ·Π½Π°Π½Π°. ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ GRUB2. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΠΆΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΡ ΡΠ΄Π°ΡΡΡΡ ΠΈΡ Π½Π°ΠΉΡΠΈ.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π² ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΡ
ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ
, Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π² Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $prefix
.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π°Π²Π°ΡΠΈΠΉΠ½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ set. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΡ
Π³Π»Π°Π²Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
GRUB2. Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ cmdpath Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΠ°, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ EFI-ΡΠ°ΠΉΠ»Ρ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΎΠ²Π°Π» ΠΎΠ±ΡΠ°Π· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ prefix Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΠΏΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ root Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ Π΄ΠΈΡΠΊ ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π», ΡΠΊΠΎΡΠ΅ΠΉ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΉ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² $prefix
. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ls
ls $root
ls $prefix
ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ Ρ Π΄ΠΈΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ GRUB ΠΏΠΎΠΊΠ°Π·Π°Π» ΠΎΡΠΈΠ±ΠΊΡ, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ΡΡ, Π² ΡΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈ ΡΠ΄Π°ΡΡΡΡ Π»ΠΈ Π΅Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΡΠ»ΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $root
ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π΅ ΡΠΎΡ ΠΈΠ»ΠΈ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²ΠΈΠ΄Π° ls (Π΄ΠΈΡΠΊ,ΡΠ°Π·Π΄Π΅Π»)/
ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·Π΄Π΅Π» ΠΈΠ· ΡΠ΅Ρ
, ΡΡΠΎ Π²ΡΠ²Π΅Π»Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄ΡΡΡΡ Π½ΡΠΆΠ½ΡΠΉ. ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π°ΡΠ΅Π»ΡΡ -- ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎΠΊΠ°Π·Π°Π»ΡΡ hd0,msdos5 Π²ΠΌΠ΅ΡΡΠΎ hd0,msdos6, ΠΈ ΡΠΈΡΠ°Π΅ΡΡΡ -- Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
root=hd0,5
prefix=($root)/boot/grub
ΠΡΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΠΊΠΎΠΌΠ°Π½Π΄Π° ls $prefix
Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ), Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ:
prefix=($root)/grub
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΊ, ΡΠ°Π·Π΄Π΅Π» ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΈ Π²Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π»ΠΈ ΠΈΠ· Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΡΡΠ°ΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ "normal" ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΎΠ½Π° ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ), ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² "Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ" ΡΠ΅ΠΆΠΈΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°:
insmod normal
normal
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΠ· Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° β ΡΠ²Ρ, Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ½Π° Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ, ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π²Π½Π΅ΡΠ½ΠΈΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ°ΠΏΡΡΠΊ GRUB2 ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ²
ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ EFI-ΠΎΠ±ΡΠ°Π· GRUB2 Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UEFI ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠ΅ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· BIOS-ΡΠ±ΠΎΡΠΊΠΈ GRUB2 Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ Multiboot ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ². Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ Π³Π»Π°Π²Ρ "ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° Π΄Π»Ρ BIOS Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ".
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ· ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ GRUB
ΠΠΎΠ΄ ΠΊΠΎΠ½ΡΠΈΠ³Π° Π΄Π»Ρ GRUB Legacy, Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ GRUB2:
menu.lst
default 0
timeout 1
title Chainload into GRUB v2
root (hd0,7)
kernel /boot/grub/i386-pc/core.img
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ· syslinux
ΠΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ GRUB2 ΠΈΠ· syslinux ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ Π² ΡΡΠ°ΡΡΠ΅ ΠΎ Π½ΡΠΌ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π² MBR
grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!
grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.
However, blocklists are UNRELIABLE and its use is discouraged.
grub-setup: error: If you really want blocklists, use --force.
ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ VMware.
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ MBR, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² 60 Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ.
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
Π‘ΡΠ°ΡΡΡ ΠΎ GNU GRUB Π½Π° ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ GRUB (Π°Π½Π³Π».)
Π‘ΡΠ°ΡΡΡ ΠΎ GRUB Π½Π° Ubuntu Wiki (Π°Π½Π³Π».)
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π½Π° UEFI-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ (Π°Π½Π³Π».)
ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» BIOS (Π°Π½Π³Π».)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° GRUB (Π°Π½Π³Π».)
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ GRUB (Π°Π½Π³Π».)
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ EFI-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ GRUB (Π°Π½Π³Π».)
Β