Bug 25974

Summary: Make GRUB2 bootable on GPT
Product: Sisyphus Reporter: Vitaly Kuznetsov <vitty>
Component: alterator-vmAssignee: Олег Соловьев <mcpain>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aen, boyarsh, dd1email, glebfm, jackie.rosen, mcpain, mike, rider, timonbl4
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 23155    

Description Vitaly Kuznetsov 2011-08-02 15:13:53 MSK
Для того, чтобы GRUB2 установился на GPT (и загрузился после этого) требуются дополнительные действия:

Create a 1 MiB (minimum size) partition using gdisk or GNU Parted with no filesystem. The location of the partition in the partition table does not matter but it should be within the first 2 TiB region of the GPT disk. It is advisable to put it somewhere in the beginning of the disk before the /boot partition. Set the partition type to "EF02" in GPT fdisk or set "bios_grub" flag on in GNU Parted or GParted.

Предлагается в случае создания таблицы разделов GPT (>2Tb) добавлять автоматом такой спецраздел.
Comment 1 Vitaly Kuznetsov 2011-08-17 10:36:37 MSK
*** Bug 26100 has been marked as a duplicate of this bug. ***
Comment 2 Anton Farygin 2011-08-17 14:46:46 MSK
GPT устанавливается автоматически для всех разделов более двух терабайт. От перемены слов результат не меняется.
Comment 3 AEN 2011-08-17 14:51:06 MSK
(В ответ на комментарий №2)
> GPT устанавливается автоматически для всех разделов более двух терабайт. От
> перемены слов результат не меняется.

Вопрос не в этом, а в том, кому чинить. Вы уж там определитесь полюбовно. У vitty@ есть конкретное предложение. Бага нехорошая, действительно блокер.
Comment 4 Anton Farygin 2011-08-17 14:53:38 MSK
тут всё сложнее. Например, как быть, если устанавливается не grub а lilo ?

Впрочем, сделать мегабайтный раздельчик никто не запрещает. Но вот как это сделать автоматом ?
Comment 5 AEN 2011-08-17 15:04:29 MSK
(В ответ на комментарий №4)
> тут всё сложнее. Например, как быть, если устанавливается не grub а lilo ?
> 

Тогда ручками. Мы не должны делать автомат на все варианты, никто так не делает. Нм нужен один простой автоматический способ, который не заставляет вызывать сторонние программы при установке. Желающие иного сделают все сами.
Comment 6 Anton Farygin 2011-08-17 15:19:42 MSK
понимаешь ли в чём проблема. GPT включается автоматически для всех дисков более двух терабайт и объяснять пользователю, что ему нужно сделать какой-то левый раздел, для того, что бы поставился загрузчик - непонятно как.

А что по этому поводу думает апстрим ? Ходили туда ?
Comment 7 AEN 2011-08-18 03:24:41 MSK
(В ответ на комментарий №6)
> понимаешь ли в чём проблема. GPT включается автоматически для всех дисков более
> двух терабайт и объяснять пользователю, что ему нужно сделать какой-то левый
> раздел, для того, что бы поставился загрузчик - непонятно как.
> 

"Ручками" было про желающих поставить lilo. Конечно же, этот раздел надо создавать автоматически.

> А что по этому поводу думает апстрим ? Ходили туда ?

Апстрим не использует evms. То, что vitty@ предложил, -- workaround. Да, нужно думать, как его реализовать. Это к спецам по evms. :-)
Comment 8 Anton Farygin 2011-08-18 08:08:52 MSK
(В ответ на комментарий №7)
> (В ответ на комментарий №6)

> > А что по этому поводу думает апстрим ? Ходили туда ?
> 
> Апстрим не использует evms. То, что vitty@ предложил, -- workaround. Да, нужно
> думать, как его реализовать. Это к спецам по evms. :-)

Алексей, это не смешно. Потребность grub'а в специальном разделе никак не зависит от наличия или отсуствия evms. Каким инструментом будет сделан этот специальный раздел - не имеет никакой разницы. Основная проблема - в необходимости его создавать специально для grub. Именно с этим вопросом и стоит сходить в upstream grub'а.

Как выкручиваются другие дистрибутивы ? Все при установке создают раздел ? А если первые два терабайта заняты, то что делают ?
Comment 10 Anton Farygin 2011-08-18 08:42:52 MSK
EFI - это немного другая тема. в KVM нет EFI, а проблема с GPT присутствует.
Comment 11 AEN 2011-08-18 10:45:47 MSK
(В ответ на комментарий №10)
> EFI - это немного другая тема. в KVM нет EFI, а проблема с GPT присутствует.

https://wiki.archlinux.org/index.php/GUID_Partition_Table#GPT_support_in_Kernel

"To enable GRUB2 to embed core.img file in GPT disks for BIOS based systems, a BIOS Boot Partition of size of about 1 MB (no filesystem) is required. See below on how to create it. "
Comment 12 AEN 2011-08-18 10:56:18 MSK
В любом случае, видимо, это
http://rodsbooks.com/gdisk/
надо собрать  и включить в rescue.
Comment 13 Anton Farygin 2011-08-18 11:02:44 MSK
у меня gdisk уже давно входит в состав server-light и rescue + устанавливается по умолчанию.
Comment 14 Vitaly Kuznetsov 2011-08-18 11:22:55 MSK
Нужный раздел прекрасно создаётся parted-ом. Проблема в том, что инсталлятор:
а) Не создаёт его при автоматическом разбиении
б) Не позволяет создать руками
Это и приводит к невозможности загрузки.
Comment 15 Anton Farygin 2011-08-18 12:07:21 MSK
Достаточно оставить 1Mb свободного места в начале диска и нет необходимости создавать какие-то специальные разделы.

Тимур проверил, это работает.

Соответственно мы сейчас внесём необходимые изменения в alterator-vm, которые потом нужно будет как следует проверить.
Comment 16 Vitaly Kuznetsov 2011-08-18 12:26:40 MSK
(In reply to comment #15)
> Достаточно оставить 1Mb свободного места в начале диска и нет необходимости
> создавать какие-то специальные разделы.

Ну, это одно и то же. Раздел лучше тем, что его никто не запортит (в отличие от просто места).
Comment 17 Anton Farygin 2011-08-18 12:31:03 MSK
раздел с нашей точки зрения хуже тем, что его надо будет делать.

На первом этапе ограничимся свободным местом и сообщением о необходимости оного.
Comment 18 Anton Farygin 2011-09-07 15:22:11 MSK
Должно быть fixed в alterator-vm-0.4.1-alt17
Comment 19 Anton V. Boyarshinov 2011-09-09 13:04:52 MSK
(В ответ на комментарий №18)
> Должно быть fixed в alterator-vm-0.4.1-alt17

Подтверждаю для GPT без efi.
Comment 20 Michael Shigorin 2012-11-16 22:35:55 MSK
(In reply to comment #15)
> Достаточно оставить 1Mb свободного места в начале диска и нет необходимости
> создавать какие-то специальные разделы. Тимур проверил, это работает.
(выбираясь из криокамеры) Да, судя по прочтённой документации GRUB 2 и http://www.rodsbooks.com/efi-bootloaders/grub2.html -- так и должно быть.  Мало того, при GPT-разбивке выравнивание первого раздела на границу 1--2 Мб является нормой, хотя, как и отмечал vitty@, выделенный bios boot partition считается наиболее безопасным вариантом.

Впрочем, другие дистрибутивы не особо замечены в волнениях по поводу того, что будет с загрузчиком, если снесут линуксовый корень, где лежат его модули.

> Соответственно мы сейчас внесём необходимые изменения в alterator-vm,
> которые потом нужно будет как следует проверить.
В моих тестах на дисках < 2 Тб с GPT-разбивкой никаких проблем с установкой/работой grub-pc-2.00 не наблюдается.  Закрываем bug #27133?
Comment 21 timonbl4@altlinux.org 2012-11-16 23:18:41 MSK
В EVMS была добавлена возможность создавать GPT разделы типа bios boot partition (EF02). При автоматической разбивке, если в системе присутствуют только диски с GPT таблицей (!), создаётся такой раздел с минимальным размером