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

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 08 янв 2017, 15:33

Эта тема продолжает разборки с GPT разметкой диска и продолжает тему ... примерно вот отсюда - GPT диски

Потому что:
а). почти 5 лет прошло с написания той темы... и очень много изменений накопилось
б). оправдались в полной мере опасения ещё тогда высказанные:
1. Это будет болезненный переход от MBR к GPT. MBR существовал как стандарт (привычный) около 35 лет, или чуть более...
Но самое главное (меня интересующее), это то, что:
- GPT диск вообще не имеет кода загрузки (как MBR)...
- и первоначально предполагалось, что загружаться такие диски будут исключительно системой (в режиме) UEFI (не BIOS)
- но проекты GRUB2 (и другие, похоже, загрузчики) предложили способы загрузки средствами BIOS дисков, размеченных в стандарте GPT, используя дополнительный (загрузочный) раздел диска bios_grub.
Вот, начнём с этого обсуждения - Раздел bios_grub устарел, или все еще нужен?
04.01.2015 19:58:45
В ArchWiki, при комбинации BIOS & GPT пишут о необходимости создания раздела bios_grub, но при всем этом тот-же Debian 7 прекрасно встраивает GRUB и без данного раздела.
Публикации на этот счёт активно появились только в последние годы (начиная с 2015г.).
И такая техника загрузки должна быть реализуемая не только относительно Linux, но и относительно любой операционной системы.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 08 янв 2017, 15:41

Olej писал(а):Эта тема продолжает разборки с GPT разметкой диска и продолжает тему ... примерно вот отсюда - GPT диски

Потому что:
а). почти 5 лет прошло с написания той темы... и очень много изменений накопилось
Olej писал(а): Для начала вот какие partition ID теперь понимает GPT:

Код: Выделить всё

bash-4.2$ gdisk $HOME
GPT fdisk (gdisk) version 0.8.4
...
Command (? for help): l
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
8e00 Linux LVM             a500 FreeBSD disklabel     a501 FreeBSD boot        
a502 FreeBSD swap          a503 FreeBSD UFS           a504 FreeBSD ZFS         
a505 FreeBSD Vinum/RAID    a800 Apple UFS             a901 NetBSD swap         
a902 NetBSD FFS            a903 NetBSD LFS            a904 NetBSD concatenated 
a905 NetBSD encrypted      a906 NetBSD RAID           ab00 Apple boot          
af00 Apple HFS/HFS+        af01 Apple RAID            af02 Apple RAID offline  
af03 Apple label           af04 AppleTV recovery      af05 Apple Core Storage  
be00 Solaris boot          bf00 Solaris root          bf01 Solaris /usr & Mac Z
bf02 Solaris swap          bf03 Solaris backup        bf04 Solaris /var        
bf05 Solaris /home         bf06 Solaris alternate se  bf07 Solaris Reserved 1  
bf08 Solaris Reserved 2    bf09 Solaris Reserved 3    bf0a Solaris Reserved 4  
bf0b Solaris Reserved 5    c001 HP-UX data            c002 HP-UX service       
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
fd00 Linux RAID            
Как легко можно видеть:
1. Утилита gdisk, которую в 2012г. мы собирали из исходников как экзотику, на сегодня входит в состав практически любого дистрибутива Linux.
2. Теперь список типов разделов - partition ID - намного шире:

Код: Выделить всё

Command (? for help): l
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
3000 ONIE boot             3001 ONIE config           3900 Plan 9              
4100 PowerPC PReP boot     4200 Windows LDM data      4201 Windows LDM metadata
4202 Windows Storage Spac  7501 IBM GPFS              7f00 ChromeOS kernel     
7f01 ChromeOS root         7f02 ChromeOS reserved     8200 Linux swap          
8300 Linux filesystem      8301 Linux reserved        8302 Linux /home         
8303 Linux x86 root (/)    8304 Linux x86-64 root (/  8305 Linux ARM64 root (/)
8306 Linux /srv            8307 Linux ARM32 root (/)  8400 Intel Rapid Start   
8e00 Linux LVM             a500 FreeBSD disklabel     a501 FreeBSD boot        
a502 FreeBSD swap          a503 FreeBSD UFS           a504 FreeBSD ZFS         
a505 FreeBSD Vinum/RAID    a580 Midnight BSD data     a581 Midnight BSD boot   
a582 Midnight BSD swap     a583 Midnight BSD UFS      a584 Midnight BSD ZFS    
a585 Midnight BSD Vinum    a600 OpenBSD disklabel     a800 Apple UFS           
a901 NetBSD swap           a902 NetBSD FFS            a903 NetBSD LFS          
a904 NetBSD concatenated   a905 NetBSD encrypted      a906 NetBSD RAID         
ab00 Recovery HD           af00 Apple HFS/HFS+        af01 Apple RAID          
af02 Apple RAID offline    af03 Apple label           af04 AppleTV recovery    
af05 Apple Core Storage    bc00 Acronis Secure Zone   be00 Solaris boot        
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
Press the <Enter> key to see more codes: 
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT   
eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
f800 Ceph OSD              f801 Ceph dm-crypt OSD     f802 Ceph journal        
f803 Ceph dm-crypt journa  f804 Ceph disk in creatio  f805 Ceph dm-crypt disk i
fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
fd00 Linux RAID            
3. И, похоже, новый тип ef02 (BIOS boot partition) - это и есть то, что меня интересует.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 08 янв 2017, 16:27

Для экспериментов с разметкой GPT я могу, как и прошлый раз, ... но на сегодня у меня под рукой компьютер с достаточно большой RAM (8Gb) и временный образ диска можно создать в tmpfs (для скорости и чтобы не забыть удалить после завершения):

Код: Выделить всё

[olej@dell /]$ df | grep tmpfs
devtmpfs           4069152            0  4069152            0% /dev
tmpfs              4080464        35024  4045440            1% /dev/shm
tmpfs              4080464         1512  4078952            1% /run
tmpfs              4080464            0  4080464            0% /sys/fs/cgroup
tmpfs              4080464         2384  4078080            1% /tmp
tmpfs               816096            4   816092            1% /run/user/988
tmpfs               816096           68   816028            1% /run/user/1000

Код: Выделить всё

[olej@dell mnt]$ DISK=`mktemp --tmpdir=/dev/shm`

[olej@dell mnt]$ echo $DISK
/dev/shm/tmp.I2aJwWOCiB
Вот наш новый "диск":

Код: Выделить всё

[olej@dell mnt]$ time dd if=/dev/zero of=$DISK bs=1M count=2500
2500+0 записей получено
2500+0 записей отправлено
 скопировано 2621440000 байт (2,6 GB), 1,20249 c, 2,2 GB/c

real	0m1.538s
user	0m0.001s
sys	0m1.188s

[olej@dell mnt]$ ls -l $DISK
-rw------- 1 olej olej 2621440000 янв  8 15:23 /dev/shm/tmp.I2aJwWOCiB
В таком виде на его создание ушло <2 секунд, тогда как при создании такого образа на HDD (как в прошлый раз) это потребовало почти 2 минуты:

Код: Выделить всё

bash-4.2$ time dd if=/dev/zero of=$DISK bs=1024 count=3000000
3000000+0 записей считано
3000000+0 записей написано
 скопировано 3072000000 байт (3,1 GB), 106,837 c, 28,8 MB/c

real   1m46.940s
user   0m1.132s
sys   0m24.583s

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 08 янв 2017, 17:41

Вот статья, вносящая более-менее ясность в установку загрузчика Grub - Установка загрузчика Grub
by admin on Август 18, 2016
Установка загрузчика Grub в MBR для BIOS
...
Установка загрузчика Grub в GPT для BIOS
Во-первых, мы можем ничего не менять и установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, а это не надежно. Поэтому рекомендуется установить grub так, как описано ниже, на отдельный раздел.
...
Установка GRUB UEFI GPT
...
Здесь описываются 2 способа установки загрузчика для BIOS на GPT диск.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 08 янв 2017, 19:28

Olej писал(а): Вот наш новый "диск":
Создать на нём структуру GPT-разделов - не проблема!

Код: Выделить всё

[olej@dell GPT]$ gdisk $DISK
GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-5119966, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-5119966, default = 5119966) or {+-}size{KMGTP}: +1M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-5119966, default = 4096) or {+-}size{KMGTP}: 
Last sector (4096-5119966, default = 5119966) or {+-}size{KMGTP}: 100M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI System'

Command (? for help): n
Partition number (3-128, default 3): 
First sector (34-5119966, default = 206848) or {+-}size{KMGTP}: -500M
Information: Moved requested sector from 4095966 to 4093952 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (4093952-5119966, default = 5119966) or {+-}size{KMGTP}: 5100000
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): n
Partition number (4-128, default 4): 
First sector (34-5119966, default = 206848) or {+-}size{KMGTP}: 
Last sector (206848-4093951, default = 4093951) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): p
Disk /dev/shm/tmp.I2aJwWOCiB: 5120000 sectors, 2.4 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 76C71472-29BD-4E61-815B-3885F6A48D3C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 5119966
Partitions will be aligned on 2048-sector boundaries
Total free space is 24027 sectors (11.7 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  BIOS boot partition
   2            4096          204800   98.0 MiB    EF00  EFI System
   3         4093952         5100000   491.2 MiB   8300  Linux filesystem
   4          206848         4093951   1.9 GiB     8200  Linux swap

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/shm/tmp.I2aJwWOCiB.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

Код: Выделить всё

[olej@dell GPT]$ fdisk -l $DISK
Диск /dev/shm/tmp.I2aJwWOCiB: 2,5 GiB, 2621440000 байт, 5120000 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 76C71472-29BD-4E61-815B-3885F6A48D3C

Устр-во                   начало   Конец Секторы Размер Тип
/dev/shm/tmp.I2aJwWOCiB1    2048    4095    2048     1M BIOS boot
/dev/shm/tmp.I2aJwWOCiB2    4096  204800  200705    98M EFI
/dev/shm/tmp.I2aJwWOCiB3 4093952 5100000 1006049 491,2M Файловая система Linux
/dev/shm/tmp.I2aJwWOCiB4  206848 4093951 3887104   1,9G Linux своп

Элементы таблицы разделов упорядочены не так, как на диске.
С размерами разделов я напутал :-o ... но принцип понятен и прост.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 12 янв 2017, 03:12

Требования GRUB2-BIOS к GPT
Начальный сектор диска с разметкой GPT зарезервирован, как ни странно, для MBR, которая обычно используется для совместимости, но точно так же оставляет в секторе те же 442 байта, достаточные для встраивания кода загрузчика из boot.img. Сама GPT располагается на следующих секторах.

В отличии от MBR, GPT предусматривает возможность создания на диске специального раздела для встраивания BIOS-загрузчика. Раздел BIOS boot partition имеет GUID=21686148-6449-6e6f-744e656564454649, и может быть создан в fdisk как раздел типа 4, или в gdisk как раздел типа EF02. Этот раздел не должен содержать никакой файловой системы, иначе она будет затёрта при установке загрузчика. Номер раздела может быть любым, расположение также практически любым. На больших дисках рекомендуется располагать BIOS boot partition в пределах первых 2ТБ, поскольку средства BIOS, скорей всего, не позволят прочесть более дальние сектора.

Если такой раздел на диске с GPT создан, программа установки GRUB2 автоматически найдёт его и использует для встраивания стартового образа BIOS-версии загрузчика. Минимальные требования к размеру раздела те же, что и для просвета перед первым разделом в случае MBR – на это место должен поместиться образ core.img. Так как расположение BIOS boot partition не привязано к началу диска, создать его с размером порядка 1МБ будет несложно, и более чем достаточно в любом случае.
GRUB2 теперь модульный, и не имеет постоянных образов stage1_5 и stage2. Роль stage1_5 в GRUB2 играет образ core.img/core.efi, при каждой установке загручика собираемый из ядра GRUB2 и модулей, необходимых для доступа к файловой системе. Остальные модули загружаются из ФС по мере надобности, расширяя функциональность загрузчика.
Участие BIOS в процессе загрузки сводится к считыванию с диска его начального сектора размером в 512 байт, проверке наличия в конце сектора сигнатуры 55AA, и запуску содержимого как исполняемого кода. Так как в 512 байт невозможно уместить сколь-нибудь сложную программу, единственное, что может сделать код начального сектора – загружать с диска другие сектора, на чтение файлов он не способен.

Поэтому, для успешной загрузки в режиме BIOS, используемый способ разметки диска должен предусматривать:
1) встраивание кода загрузчика в начальный сектор;
2) выделение на диске специальной, не занятой файловыми системами области (группы секторов), из которой будет загружаться стартовый образ загрузчика, умеющий читать хотя бы одну файловую систему.

Программа установки GRUB2 умеет встраивать код BIOS-версии загрузчика на диски с таблицами разделов MBR и GPT, которые удовлетворяют обоим требованиям.

В обоих случаях, для встраивания используются два образа:

boot.img, код которого встраивается в начальный сектор диска,
core.img, собираемый программой установки из ядра GRUB и модулей доступа к используемой на диске таблице разделов и файловой системе.
Размер образа core.img зависит от размера модулей для чтения используемых таблицы разделов и ФС. В частности, для комбинации MBR+ext4 он составляет всего 25КБ.

Однако, в некоторых более сложных случаях, размер образа может оказаться больше 31КБ, и тогда отступа в 63 сектора уже не хватит. Поэтому современные версии fdisk по-умолчанию предлагают создавать первый раздел с гораздо большим отступом (1МБ), начиная с 2048 сектора.
Код GRUB (boot.img) будет встроен в начальный сектор, а загрузочный образ core.img – в просвет перед первым разделом MBR, или BIOS boot partition для GPT.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 12 янв 2017, 03:20

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.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 12 янв 2017, 10:44

Итого, для загрузки из 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
...
q1.png
q1.png (19.33 КБ) 4083 просмотра
При этом:
- первичный загрузчик GRUB boot.img прописывается как 442 байта в резервный MBR (RMBR), LBA 0
- собирается (модульно) вторичный загрузчик GRUB core.img ...
- который знает структуру хотя бы одной файловой системы диска...
- который записывается в не форматированный раздел типа BIOS boot partition
(в варианте EFI загрузки такой-же вторичный загрузчик GRUB, но под именем efi.img, записывается в загрузочный раздел EFI, но размеченный как FAT32).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 12 янв 2017, 11:19

Olej писал(а): 5. но обязательно явно указать те модули (GRUB2), которые должны быть включены в этот образ вторичного загрузчика GRUB, типа:
Доступные модули GRUB смотрим в каталоге /boot/grub2/i386-pc установленной системы Linux:

Код: Выделить всё

[root@dell i386-pc]# ls /boot/grub2/i386-pc/*.mod | wc -l
263

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение Olej » 13 янв 2017, 01:02

- Пути к файлам могут начинаться с обозначения диска или раздела в скобках, например (hd0,1)/boot/vmlinuz соответствует файлу vmlinuz в каталоге /boot на разделе /dev/sda1
- Если в пути к файлу не указан диск или раздел, подразумевается текущий диск или раздел из переменной root . При запуске GRUB2 эта переменная уже указывает на раздел, где хранятся все файлы загрузчика, и как правило, образы ядра и initramfs. Задавать переменную root в конфиге имеет смысл ТОЛЬКО для загрузки с ДРУГОГО раздела. Пример:

Код: Выделить всё

set root=hd0,1 # задаём раздел с другой ОС или другим загрузчиком
chainloader +1 # загружаем его бут-сектор
- Кроме файлов, GRUB2 позволяет обращаться напрямую к цепочкам секторов на диске или разделе, в формате X+Y , где X номер начального сектора цепочки, а Y количество секторов. Если цепочка начинается с первого (номер 0) сектора, её обозначение сокращается до +Y. Наиболее употребительная цепочка в конфигах GRUB – бут-сектор раздела или диска, обозначается как +1
- В обозначении раздела перед его номером может стоять слово, обозначающее его принадлежность к таблице разделов определённого типа, например hd0,msdos3 означает третий раздел в MBR на нулевом диске, а hd1,gpt2 означает второй раздел в GPT на следующем диске. GRUB2 всегда добавляет тип таблицы при выводе разделов командой ls и при записи $prefix в процессе установки, однако писать тип таблицы вручную не требуется – он определяется автоматически. Исключение может составлять только особо тяжелый случай двух разных таблиц разделов с разной нумерацией на одном диске, причём гибрид GPT+MBR таким случаем не является – GRUB2 игнорирует MBR, если на диске обнаружена GPT.
- Команда menuentry генерирует один пункт меню. Она задаёт видимый заголовок и список команд, которые выполнятся после выбора этого пункта меню:

Код: Выделить всё

menuentry "Заголовок" {
# команды
}

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

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