Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
загрузка GPT диска средствами BIOS
Re: загрузка GPT диска средствами BIOS
А разницы нет!tupoll писал(а):Если учесть что всё сделано виртуально-внатуре неизвестно всё-таки
Это только для проверки загружаемости ... и того как это происходит.
(не перегружать же рабочий компьютер при каждом изменении?)
Re: загрузка GPT диска средствами BIOS
Это как-раз типичное не то!Olej писал(а):Все описания MBR загрузки GPT из дистрибутивов группы APT (Debian, Ubuntu, Mint, ... etc.) описывают именно указание раздела EF02...tupoll писал(а):раздел EF02 как диск указывать не нужно но он должен быть вначале /dev/sdb т.е.
Возможно ... что и так и надо?tupoll писал(а):раздел EF02 как диск указывать не нужно
За подсказку спасибо.
Код: Выделить всё
[olej@dell 11]$ sudo dd if=/dev/sdc bs=512 count=1 > mbr_sdc
[sudo] пароль для olej:
1+0 записей получено
1+0 записей отправлено
скопировано 512 байт (512 B), 0,00187434 c, 273 kB/c
Код: Выделить всё
00000000 EB 63 90 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 .c......................
00000018 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ........................
00000030 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ........................
00000048 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 80 │ 00 38 02 00 .....................8..
00000060 00 00 00 00 │ FF FA 90 90 │ F6 C2 80 74 │ 05 F6 C2 70 │ 74 02 B2 80 │ EA 79 7C 00 .......... t...pt....y|.
00000078 00 31 C0 8E │ D8 8E D0 BC │ 00 20 FB A0 │ 64 7C 3C FF │ 74 02 88 C2 │ 52 BE 05 7C .1..؎ м . ..d|<.t...R..|
00000090 B4 41 BB AA │ 55 CD 13 5A │ 52 72 3D 81 │ FB 55 AA 75 │ 37 83 E1 01 │ 74 32 31 C0 .A..U..ZRr=..U.u7...t21.
000000A8 89 44 04 40 │ 88 44 FF 89 │ 44 02 C7 04 │ 10 00 66 8B │ 1E 5C 7C 66 │ 89 5C 08 66 .D.@.D..D.....f..\|f.\.f
000000C0 8B 1E 60 7C │ 66 89 5C 0C │ C7 44 06 00 │ 70 B4 42 CD │ 13 72 05 BB │ 00 70 EB 76 ..`|f.\..D..p.B..r...p.v
000000D8 B4 08 CD 13 │ 73 0D 5A 84 │ D2 0F 83 DE │ 00 BE 85 7D │ E9 82 00 66 │ 0F B6 C6 88 ....s.Z........}...f..ƈ
000000F0 64 FF 40 66 │ 89 44 04 0F │ B6 D1 C1 E2 │ 02 88 E8 88 │ F4 40 89 44 │ 08 0F B6 C2 d.@f.D...........@.D....
00000108 C0 E8 02 66 │ 89 04 66 A1 │ 60 7C 66 09 │ C0 75 4E 66 │ A1 5C 7C 66 │ 31 D2 66 F7 ...f..f.`|f..uNf.\|f1.f.
00000120 34 88 D1 31 │ D2 66 F7 74 │ 04 3B 44 08 │ 7D 37 FE C1 │ 88 C5 30 C0 │ C1 E8 02 08 4..1.f.t.;D.}7....0.....
00000138 C1 88 D0 5A │ 88 C6 BB 00 │ 70 8E C3 31 │ DB B8 01 02 │ CD 13 72 1E │ 8C C3 60 1E ...Z.ƻ .p..1۸ ....r...`.
00000150 B9 00 01 8E │ DB 31 F6 BF │ 00 80 8E C6 │ FC F3 A5 1F │ 61 FF 26 5A │ 7C BE 80 7D .....1..........a.&Z|..}
00000168 EB 03 BE 8F │ 7D E8 34 00 │ BE 94 7D E8 │ 2E 00 CD 18 │ EB FE 47 52 │ 55 42 20 00 ....}.4...}.......GRUB .
00000180 47 65 6F 6D │ 00 48 61 72 │ 64 20 44 69 │ 73 6B 00 52 │ 65 61 64 00 │ 20 45 72 72 Geom.Hard Disk.Read. Err
00000198 6F 72 0D 0A │ 00 BB 01 00 │ B4 0E CD 10 │ AC 3C 00 75 │ F4 C3 00 00 │ 00 00 00 00 or...........<.u........
000001B0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 02 00 EE 0B │ E1 F2 01 00 ........................
000001C8 00 00 FF 17 │ 1E 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ........................
000001E0 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 ........................
000001F8 00 00 00 00 │ 00 00 55 AA │ ......U.
Re: загрузка GPT диска средствами BIOS
Нет, тут я неправ...Olej писал(а): Загрузчик GRUB установлен именно в MBR-запись, 0-й сектор диска ... который для GPT диска вообще не имеет ни смысла, ни значения!
1. Убрал на фиг раздел EF02 с диска:
Код: Выделить всё
[olej@dell ~]$ sudo gdisk -l /dev/sdc
GPT fdisk (gdisk) version 1.0.1
...
Number Start (sector) End (sector) Size Code Name
7 2048 145407 70.0 MiB FB00 VMWare VMFS
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc
Installing for i386-pc platform.
grub2-install: предупреждение: метка раздела GPT не имеет BIOS Boot Partition; встраивание невозможно.
grub2-install: ошибка: встраивание невозможно, но оно необходимо для междисковой установки.
2. Уменьшил раздел EF02 до бессмысленности (возможно, присутствие раздела EF02 является только меткой, и туда ничего фактически не пишется?):
Код: Выделить всё
[olej@dell ~]$ sudo gdisk -l /dev/sdc
GPT fdisk (gdisk) version 1.0.1
...
Number Start (sector) End (sector) Size Code Name
7 2048 145407 70.0 MiB FB00 VMWare VMFS
23 145408 145408 512 bytes EF02 BIOS boot partition
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc
Installing for i386-pc platform.
grub2-install: предупреждение: BIOS Boot Partition слишком мал; встраивание невозможно.
grub2-install: ошибка: встраивание невозможно, но оно необходимо для междисковой установки.
Не ставится.
3. Создаю раздел EF02 минимально достаточного размера в самый конец диска:
Код: Выделить всё
...
Number Start (sector) End (sector) Size Code Name
7 2048 145407 70.0 MiB FB00 VMWare VMFS
23 1968128 1970175 1024.0 KiB EF02 BIOS boot partition
Код: Выделить всё
Command (? for help): i
Partition number (7-23): 23
Partition GUID code: 21686148-6449-6E6F-744E-656564454649 (BIOS boot partition)
Partition unique GUID: 6C19702F-B143-4946-BA77-14D7C95F2ECE
First sector: 1968128 (at 961.0 MiB)
Last sector: 1970175 (at 962.0 MiB)
Partition size: 2048 sectors (1024.0 KiB)
Attribute flags: 0000000000000000
Partition name: 'BIOS boot partition'
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc
Installing for i386-pc platform.
Установка завершена. Ошибок нет.
- в резервный MBR пишется первичный загрузчик GRU...
- в неразмеченный (судя по всему) раздел EF02 пишется вторичный загрузчик GRU...
Re: загрузка GPT диска средствами BIOS
Даже без минимального состава загруженных модулей GRUB для выполнения консольных команд: Но запишем GRUB по-другому:Olej писал(а): Похоже, что происходит следующее:
- в резервный MBR пишется первичный загрузчик GRU...
- в неразмеченный (судя по всему) раздел EF02 пишется вторичный загрузчик GRU...
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc --modules=help
Installing for i386-pc platform.
Установка завершена. Ошибок нет.
[olej@dell ~]$ sudo qemu-kvm /dev/sdc
WARNING: Image format was not specified for '/dev/sdc' and probing guessed raw.
Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.
...
Re: загрузка GPT диска средствами BIOS
Наблюдаемое (и вот эта догадка) полностью находит подтверждение в документации.Olej писал(а): Похоже, что происходит следующее:
- в резервный MBR пишется первичный загрузчик GRU...
- в неразмеченный (судя по всему) раздел EF02 пишется вторичный загрузчик GRU...
GNU GRUB Manual 2.00
Или кому не сильно нравится английский - Требования GRUB2-BIOS к GPT:GPT
Some newer systems use the GUID Partition Table (GPT) format. This was specified as part of the Extensible Firmware Interface (EFI), but it can also be used on BIOS platforms if system software supports it; for example, GRUB and GNU/Linux can be used in this configuration. With this format, it is possible to reserve a whole partition for GRUB, called the BIOS Boot Partition. GRUB can then be embedded into that partition without the risk of being overwritten by other software and without being contained in a filesystem which might move its blocks around.
When creating a BIOS Boot Partition on a GPT system, you should make sure that it is at least 31 KiB in size. (GPT-formatted disks are not usually particularly small, so we recommend that you make it larger than the bare minimum, such as 1 MiB, to allow plenty of room for growth.) You must also make sure that it has the proper partition type. Using GNU Parted, you can set this using a command such as the following:
# parted /dev/disk set partition-number bios_grub on
If you are using gdisk, set the partition type to ‘0xEF02’. With partitioning programs that require setting the GUID directly, it should be ‘21686148-6449-6e6f-744e656564454649’.
Caution: Be very careful which partition you select! When GRUB finds a BIOS Boot Partition during installation, it will automatically overwrite part of it. Make sure that the partition does not contain any other data.
... ну и так далее - там много интересного...В отличии от MBR, GPT предусматривает возможность создания на диске специального раздела для встраивания BIOS-загрузчика. Раздел BIOS boot partition имеет GUID=21686148-6449-6e6f-744e656564454649, и может быть создан в fdisk как раздел типа 4, или в gdisk как раздел типа EF02. Этот раздел не должен содержать никакой файловой системы, иначе она будет затёрта при установке загрузчика. Номер раздела может быть любым, расположение также практически любым. На больших дисках рекомендуется располагать BIOS boot partition в пределах первых 2ТБ, поскольку средства BIOS, скорей всего, не позволят прочесть более дальние сектора.
...
Код GRUB (boot.img) будет встроен в начальный сектор, а загрузочный образ core.img – в просвет перед первым разделом MBR, или BIOS boot partition для GPT.
Последний раз редактировалось Olej 12 янв 2017, 11:00, всего редактировалось 1 раз.
Re: загрузка GPT диска средствами BIOS
Итого, для загрузки из BIOS диска GPT нужно:
1. создать в структуре диска GPT небольшой раздел типа BIOS boot partition, с GUID=21686148-6449-6e6f-744e656564454649, создаётся: в fdisk как раздел типа 4, или в gdisk как раздел типа EF02, или в gparted с установленным флагом bios_grub...
2. раздел может быть любым: по месту размещения (начало-конец) дискового пространства и по номеру раздела GPT (/dev/sdb127)...
3. размер раздела - размер создаваемого образа core.img - от 25-31Kb в минимальном виде (MBR+ext4) и ... до 1Mb куда влезет всё...
4. запускаем grub2-install с указанием имени диска, а не раздела диска ... как описывают убунтоиды в своих обсуждениях
5. но обязательно явно указать те модули (GRUB2), которые должны быть включены в этот образ вторичного загрузчика GRUB, типа:
При этом:
- первичный загрузчик GRUB boot.img прописывается как 442 байта в резервный MBR (RMBR), LBA 0
- собирается (модульно) вторичный загрузчик GRUB core.img ...
- который знает структуру хотя бы одной файловой системы диска...
- который записывается в не форматированный раздел типа BIOS boot partition
(в варианте EFI загрузки такой-же вторичный загрузчик GRUB, но под именем efi.img, записывается в загрузочный раздел EFI, но размеченный как FAT32).
1. создать в структуре диска GPT небольшой раздел типа BIOS boot partition, с GUID=21686148-6449-6e6f-744e656564454649, создаётся: в fdisk как раздел типа 4, или в gdisk как раздел типа EF02, или в gparted с установленным флагом bios_grub...
2. раздел может быть любым: по месту размещения (начало-конец) дискового пространства и по номеру раздела GPT (/dev/sdb127)...
3. размер раздела - размер создаваемого образа core.img - от 25-31Kb в минимальном виде (MBR+ext4) и ... до 1Mb куда влезет всё...
4. запускаем grub2-install с указанием имени диска, а не раздела диска ... как описывают убунтоиды в своих обсуждениях
5. но обязательно явно указать те модули (GRUB2), которые должны быть включены в этот образ вторичного загрузчика GRUB, типа:
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc --modules="help part_gpt chain fat ext2" --no-floppy
Installing for i386-pc platform.
Установка завершена. Ошибок нет.
[olej@dell ~]$ sudo qemu-kvm -drive file=/dev/sdc,format=raw
...
- первичный загрузчик GRUB boot.img прописывается как 442 байта в резервный MBR (RMBR), LBA 0
- собирается (модульно) вторичный загрузчик GRUB core.img ...
- который знает структуру хотя бы одной файловой системы диска...
- который записывается в не форматированный раздел типа BIOS boot partition
(в варианте EFI загрузки такой-же вторичный загрузчик GRUB, но под именем efi.img, записывается в загрузочный раздел EFI, но размеченный как FAT32).
Re: загрузка GPT диска средствами BIOS
"но обязательно явно указать те модули (GRUB2), которые должны быть включены в этот образ вторичного загрузчика GRUB, типа:"-это совершенно лишнее,модули читаются из конфигурации -рэйд,файловая система и все что угодно в конфиге груба есть,если к примеру взять загрузку бсд систем видно вполне наглядно это пропишешь только ядро,он и будет грузить голое ядро каждый подгружаемый модуль нужно прописать конкретно,или взять загрузку zfs грубом с неё же на линуксе -всё в конфиге,взять даже загрузку через модуль виртуальной машины практикует это pc-bsd подгружается из конфига-никаких указаний для первичной загрузки не делается на практике проверено это.
Правильный линукс-BSD.
Re: загрузка GPT диска средствами BIOS
Очень мало понятно описано, сумбурно...tupoll писал(а):никаких указаний для первичной загрузки не делается на практике проверено это.
Но, при сборке минимального core.img, который грузится именно в раздел EF02 (BIOS boot partition) многие модули, которые могут вам понадобиться, туда не подключаются. Вот из этого большого числа модулей:
Код: Выделить всё
[root@dell i386-pc]# ls -l /boot/grub2/i386-pc/*.mod | wc -l
263
То, что многие модули, которые могут очень даже понадобиться, можно проверить на примере модулей, реализующих/поддерживающих консольные команды GRUB2: help.mod, chain.mod и т.д. Без них вы не сможете выполнять консольные команды GRUB2 и даже просто посмотреть справку help по установленным командам: Вы вот этот даже help по установленным командам не посмотрите, если не станете собирать загрузчик с указанием, как минимум:
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc --modules=help
...
Код: Выделить всё
[olej@dell ~]$ sudo grub2-install /dev/sdc --modules="help part_gpt fat ext2" --no-floppy
...
Re: загрузка GPT диска средствами BIOS
Никаких добавочных записей при записи загрузчика никогда не делал,если нет в этом необходимости-зачем изобретать велосипед?Приведу автоматически сконфигурированный конфиг,единственно для некоторых модулей поправлен /etc/default/grub:
/boot/grub/grub.cfg:
Код: Выделить всё
GRUB_DISTRIBUTOR="Funtoo"
# Default menu entry
#GRUB_DEFAULT=0
# Boot the default entry this many seconds after the menu is displayed
GRUB_TIMEOUT=3
#GRUB_TIMEOUT_STYLE=menu
# Append parameters to the linux kernel command line
#GRUB_CMDLINE_LINUX=""
#
# Examples:
#
# Boot with network interface renaming disabled
# GRUB_CMDLINE_LINUX="net.ifnames=0"
#
# Boot with systemd instead of sysvinit (openrc)
# GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"
# Append parameters to the linux kernel command line for non-recovery entries
GRUB_CMDLINE_LINUX_DEFAULT="nouveau.runpm=0 vga=0x0362 splash=silent,theme:powered_by_gentoo console=tty1 quiet"
# The resolution used on graphical terminal.
# Note that you can use only modes which your graphic card supports via VBE.
## You can see them in real GRUB with the command `vbeinfo'.
GRUB_GFXMODE=1366x768x24
# Set to 'text' to force the Linux kernel to boot in normal text
# mode, 'keep' to preserve the graphics mode set using
# 'GRUB_GFXMODE', 'WIDTHxHEIGHT'['xDEPTH'] to set a particular
# graphics mode, or a sequence of these separated by commas or
# semicolons to try several modes in sequence.
GRUB_GFXPAYLOAD_LINUX=1366x768x24
Код: Выделить всё
cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 8e7b65bd-66aa-4028-90cf-c405fc91bc25
else
search --no-floppy --fs-uuid --set=root 8e7b65bd-66aa-4028-90cf-c405fc91bc25
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=1366x768x24
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=ru_RU
insmod gettext
fi
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=3
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=3
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Funtoo GNU/Linux' --class funtoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8e7b65bd-66aa-4028-90cf-c405fc91bc25' {
load_video
set gfxpayload=1366x768x24
insmod gzio
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 8e7b65bd-66aa-4028-90cf-c405fc91bc25
else
search --no-floppy --fs-uuid --set=root 8e7b65bd-66aa-4028-90cf-c405fc91bc25
fi
echo 'Загружается Linux x86_64-4.9.0-gentoo …'
linux /boot/kernel-genkernel-x86_64-4.9.0-gentoo root=UUID=8e7b65bd-66aa-4028-90cf-c405fc91bc25 ro nouveau.runpm=0 vga=0x0362 splash=silent,theme:powered_by_gentoo console=tty1 quiet
echo 'Загружается начальный виртуальный диск …'
initrd /boot/initramfs-genkernel-x86_64-4.9.0-gentoo
}
submenu 'Дополнительные параметры для Funtoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-8e7b65bd-66aa-4028-90cf-c405fc91bc25' {
menuentry 'Funtoo GNU/Linux, с Linux x86_64-4.9.0-gentoo' --class funtoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.9.0-gentoo-advanced-8e7b65bd-66aa-4028-90cf-c405fc91bc25' {
load_video
set gfxpayload=1366x768x24
insmod gzio
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 8e7b65bd-66aa-4028-90cf-c405fc91bc25
else
search --no-floppy --fs-uuid --set=root 8e7b65bd-66aa-4028-90cf-c405fc91bc25
fi
echo 'Загружается Linux x86_64-4.9.0-gentoo …'
linux /boot/kernel-genkernel-x86_64-4.9.0-gentoo root=UUID=8e7b65bd-66aa-4028-90cf-c405fc91bc25 ro nouveau.runpm=0 vga=0x0362 splash=silent,theme:powered_by_gentoo console=tty1 quiet
echo 'Загружается начальный виртуальный диск …'
initrd /boot/initramfs-genkernel-x86_64-4.9.0-gentoo
}
menuentry 'Funtoo GNU/Linux, с Linux x86_64-4.9.0-gentoo (режим восстановления)' --class funtoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.9.0-gentoo-recovery-8e7b65bd-66aa-4028-90cf-c405fc91bc25' {
load_video
set gfxpayload=1366x768x24
insmod gzio
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 8e7b65bd-66aa-4028-90cf-c405fc91bc25
else
search --no-floppy --fs-uuid --set=root 8e7b65bd-66aa-4028-90cf-c405fc91bc25
fi
echo 'Загружается Linux x86_64-4.9.0-gentoo …'
linux /boot/kernel-genkernel-x86_64-4.9.0-gentoo root=UUID=8e7b65bd-66aa-4028-90cf-c405fc91bc25 ro single
echo 'Загружается начальный виртуальный диск …'
initrd /boot/initramfs-genkernel-x86_64-4.9.0-gentoo
}
menuentry 'Funtoo GNU/Linux, с Linux x86_64-4.8.7-gentoo' --class funtoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.8.7-gentoo-advanced-8e7b65bd-66aa-4028-90cf-c405fc91bc25' {
load_video
set gfxpayload=1366x768x24
insmod gzio
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 8e7b65bd-66aa-4028-90cf-c405fc91bc25
else
search --no-floppy --fs-uuid --set=root 8e7b65bd-66aa-4028-90cf-c405fc91bc25
fi
echo 'Загружается Linux x86_64-4.8.7-gentoo …'
linux /boot/kernel-genkernel-x86_64-4.8.7-gentoo root=UUID=8e7b65bd-66aa-4028-90cf-c405fc91bc25 ro nouveau.runpm=0 vga=0x0362 splash=silent,theme:powered_by_gentoo console=tty1 quiet
echo 'Загружается начальный виртуальный диск …'
initrd /boot/initramfs-genkernel-x86_64-4.8.7-gentoo
}
menuentry 'Funtoo GNU/Linux, с Linux x86_64-4.8.7-gentoo (режим восстановления)' --class funtoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.8.7-gentoo-recovery-8e7b65bd-66aa-4028-90cf-c405fc91bc25' {
load_video
set gfxpayload=1366x768x24
insmod gzio
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 8e7b65bd-66aa-4028-90cf-c405fc91bc25
else
search --no-floppy --fs-uuid --set=root 8e7b65bd-66aa-4028-90cf-c405fc91bc25
fi
echo 'Загружается Linux x86_64-4.8.7-gentoo …'
linux /boot/kernel-genkernel-x86_64-4.8.7-gentoo root=UUID=8e7b65bd-66aa-4028-90cf-c405fc91bc25 ro single
echo 'Загружается начальный виртуальный диск …'
initrd /boot/initramfs-genkernel-x86_64-4.8.7-gentoo
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Правильный линукс-BSD.
Re: загрузка GPT диска средствами BIOS
Код: Выделить всё
ls /etc/grub.d
00_header 10_linux 20_linux_xen 30_os-prober 40_custom 41_custom README
Правильный линукс-BSD.