загрузка GPT диска средствами BIOS

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 11 янв 2017, 16:41

tupoll писал(а):

Если учесть что всё сделано виртуально-внатуре неизвестно всё-таки

А разницы нет!
Это только для проверки загружаемости ... и того как это происходит.
(не перегружать же рабочий компьютер при каждом изменении?)
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Спонсор

Спонсор
 

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 11 янв 2017, 18:24

Olej писал(а):

tupoll писал(а):

раздел EF02 как диск указывать не нужно но он должен быть вначале /dev/sdb т.е.

Все описания MBR загрузки GPT из дистрибутивов группы APT (Debian, Ubuntu, Mint, ... etc.) описывают именно указание раздела EF02...

tupoll писал(а):

раздел EF02 как диск указывать не нужно

Возможно ... что и так и надо? :shock:
За подсказку спасибо.

Это как-раз типичное не то!
Код: выделить все
[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.

Загрузчик GRUB установлен именно в MBR-запись, 0-й сектор диска ... который для GPT диска вообще не имеет ни смысла, ни значения!
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 11 янв 2017, 19:44

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...
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 11 янв 2017, 19:51

Olej писал(а):

Похоже, что происходит следующее:
- в резервный MBR пишется первичный загрузчик GRU...
- в неразмеченный (судя по всему) раздел EF02 пишется вторичный загрузчик GRU...

Даже без минимального состава загруженных модулей GRUB для выполнения консольных команд:
g21.png
g21.png (13.29 KiB) Просмотров: 182

Но запишем GRUB по-другому:
Код: выделить все
[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.
...

q22.png
q22.png (19.21 KiB) Просмотров: 182
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 12 янв 2017, 10:16

Olej писал(а):

Похоже, что происходит следующее:
- в резервный MBR пишется первичный загрузчик GRU...
- в неразмеченный (судя по всему) раздел EF02 пишется вторичный загрузчик GRU...

Наблюдаемое (и вот эта догадка) полностью находит подтверждение в документации.
GNU GRUB Manual 2.00
Цитата:
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.

Или кому не сильно нравится английский - Требования GRUB2-BIOS к GPT:
Цитата:
В отличии от 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 раз.
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 12 янв 2017, 10:59

Итого, для загрузки из 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, типа:
Код: выделить все
[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
...

q2.png
q2.png (19.59 KiB) Просмотров: 164

При этом:
- первичный загрузчик GRUB boot.img прописывается как 442 байта в резервный MBR (RMBR), LBA 0
- собирается (модульно) вторичный загрузчик GRUB core.img ...
- который знает структуру хотя бы одной файловой системы диска...
- который записывается в не форматированный раздел типа BIOS boot partition
(в варианте EFI загрузки такой-же вторичный загрузчик GRUB, но под именем efi.img, записывается в загрузочный раздел EFI, но размеченный как FAT32).
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение tupoll » 14 янв 2017, 13:15

"но обязательно явно указать те модули (GRUB2), которые должны быть включены в этот образ вторичного загрузчика GRUB, типа:"-это совершенно лишнее,модули читаются из конфигурации -рэйд,файловая система и все что угодно в конфиге груба есть,если к примеру взять загрузку бсд систем видно вполне наглядно это пропишешь только ядро,он и будет грузить голое ядро каждый подгружаемый модуль нужно прописать конкретно,или взять загрузку zfs грубом с неё же на линуксе -всё в конфиге,взять даже загрузку через модуль виртуальной машины практикует это pc-bsd подгружается из конфига-никаких указаний для первичной загрузки не делается на практике проверено это.
Правильный линукс-BSD.
Аватар пользователя
tupoll
Уважаемый участник
Уважаемый участник
 
Сообщений: 223
Фото: 3
Стаж: 2 года 2 месяца 9 дней
Откуда: Vladivostok
Благодарил (а): 31 раз.
Поблагодарили: 36 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение Olej » 14 янв 2017, 17:05

tupoll писал(а):

никаких указаний для первичной загрузки не делается на практике проверено это.

Очень мало понятно описано, сумбурно...
Но, при сборке минимального core.img, который грузится именно в раздел EF02 (BIOS boot partition) многие модули, которые могут вам понадобиться, туда не подключаются. Вот из этого большого числа модулей:
Код: выделить все
[root@dell i386-pc]# ls -l /boot/grub2/i386-pc/*.mod | wc -l
263

И это относится именно к сборке вторичного загрузчика core.img под BIOS, потому что под EFI собирается другой загрузчик efi.img (об этом есть в документации GRUB2 подробно).

То, что многие модули, которые могут очень даже понадобиться, можно проверить на примере модулей, реализующих/поддерживающих консольные команды GRUB2: help.mod, chain.mod и т.д. Без них вы не сможете выполнять консольные команды GRUB2 и даже просто посмотреть справку help по установленным командам:
q3.png
q3.png (19.17 KiB) Просмотров: 160

Вы вот этот даже help по установленным командам не посмотрите, если не станете собирать загрузчик с указанием, как минимум:
Код: выделить все
[olej@dell ~]$ sudo grub2-install /dev/sdc --modules=help
...

Предполагаю также (по результатам наблюдений ... в частности консольной команды ls GRUB2), что при установке GRUB2 именно для BIOS в большинстве случаев нужно указывать и модуль part_gpt ... что-то типа:
Код: выделить все
[olej@dell ~]$ sudo grub2-install /dev/sdc --modules="help part_gpt fat ext2" --no-floppy
...
Olej
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 718
Стаж: 1 год 2 месяца 9 дней
Откуда: Харьков
Благодарил (а): 13 раз.
Поблагодарили: 107 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение tupoll » 15 янв 2017, 07:04

Никаких добавочных записей при записи загрузчика никогда не делал,если нет в этом необходимости-зачем изобретать велосипед?Приведу автоматически сконфигурированный конфиг,единственно для некоторых модулей поправлен /etc/default/grub:
Код: выделить все
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


/boot/grub/grub.cfg:
Код: выделить все
 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.
Аватар пользователя
tupoll
Уважаемый участник
Уважаемый участник
 
Сообщений: 223
Фото: 3
Стаж: 2 года 2 месяца 9 дней
Откуда: Vladivostok
Благодарил (а): 31 раз.
Поблагодарили: 36 раз.

Re: загрузка GPT диска средствами BIOS

Сообщение tupoll » 15 янв 2017, 07:10

Код: выделить все
 ls /etc/grub.d
00_header  10_linux  20_linux_xen  30_os-prober  40_custom  41_custom  README
при правильно собранном груб2 всё происходит автоматом без лишних движений
Правильный линукс-BSD.
Аватар пользователя
tupoll
Уважаемый участник
Уважаемый участник
 
Сообщений: 223
Фото: 3
Стаж: 2 года 2 месяца 9 дней
Откуда: Vladivostok
Благодарил (а): 31 раз.
Поблагодарили: 36 раз.

Пред.

Вернуться в Железный вопрос. Производительность и оптимизация

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1