1 (28.06.2014 15:14:12 отредактировано Macumazan)

Это опция актуальна? Делал всё по gentoo wiki,  загрузка c GPT удалась, при этом диск выгдядит так

Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      8000kB  512MB   504MB                sda1  bios_grub
 2      512MB   1000MB  488MB   ext4         sda2
 3      1000MB  20.0GB  19.0GB               sda3  lvm

На таком же сетапе ставил ubuntu, там диск уже выглядит как

Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      4456kB  998MB   994MB   ext4         boot
 2      998MB   5099GB  5098GB                     lvm

Т.е. раздел под  bios_grub уже не нужен?

2

Macumazan пишет:

Т.е. раздел под  bios_grub уже не нужен?

ЕМНИП он нужен только, если загружаешься без EFI и данных MBR'а для загрузки не достаточно.

хотя в этом не уверен...

95% процентов проблем находятся между клавиатурой и стулом.

3

Fat-Zer пишет:
Macumazan пишет:

Т.е. раздел под  bios_grub уже не нужен?

ЕМНИП он нужен только, если загружаешься без EFI и данных MBR'а для загрузки не достаточно.

хотя в этом не уверен...

Вы неправы, этот раздел нужен для того, что бы grub2 записал в него свой код, необходимый для подключения файловой системы, с которой он прочитает свой конфиг.
Если сравнивать grub-0.97 и grub2, то первичный код grub-0.97, необходимый для монтирования корневого для загрузчика раздела (файловой системы), т.е. того места, с которого загрузчик считает свой конфиг и прочие файлы, а так же будет считывать ядро и initramfs, помещается целиком в 466 байт MBR и точно так же поместится и при GPT разметке, а вот код grub2, необходимый для монтирования файловой системы, с которой он прочитает свой конфиг не помещается в эти 466 байт, даже в случае использование GPT, вот поэтому в случае GPT нужно создавать отдельный раздел bios_grub, в который как раз и будет записана вторая часть первичного кода загрузчика, для этого раздела достаточно 2 Мб.

4

kostik87, чудится мне, что в объяснении много дыр и оно совсем не сходится с листингами ТС (как я понял, в обоих случаях система рабочая)...
своим исследованием сейчас пока не хочу заниматься, так что контрверсию пока предлагать пока не буду...

95% процентов проблем находятся между клавиатурой и стулом.

5 (30.06.2014 10:32:22 отредактировано kostik87)

Fat-Zer, какие же дыры вы видите в описании? ТС не уточнил какой загрузчик он использовал при установке Ubuntu. Возможно, там был grub-0.97, первичный код которого целиком помещается в 466 байт mbr, да, в gpt есть копия mbr, вы об этом, надеюсь знаете, либо вообще использовала lilo, весь код которого помещается в 466 байт mbr.

Ну а в случае EFI образ загрузчика вообще лежит на отдельном efi разделе, коего у ТС нет ни в первом ни во втором случае.

6

Fat-Zer пишет:

kostik87, чудится мне, что в объяснении много дыр и оно совсем не сходится с листингами ТС (как я понял, в обоих случаях система рабочая)...
своим исследованием сейчас пока не хочу заниматься, так что контрверсию пока предлагать пока не буду...

Такие же впечатления.  gentoo без bios_grub завелось нормально.

7 (30.06.2014 16:05:37 отредактировано Macumazan)

kostik87 пишет:

Fat-Zer, какие же дыры вы видите в описании? ТС не уточнил какой загрузчик он использовал при установке Ubuntu. Возможно, там был grub-0.97, первичный код которого целиком помещается в 466 байт mbr, да, в gpt есть копия mbr, вы об этом, надеюсь знаете, либо вообще использовала lilo, весь код которого помещается в 466 байт mbr.

Ну а в случае EFI образ загрузчика вообще лежит на отдельном efi разделе, коего у ТС нет ни в первом ни во втором случае.

Везде grub2. BIOS.

8 (30.06.2014 16:36:28 отредактировано kostik87)

Macumazan пишет:
kostik87 пишет:

Fat-Zer, какие же дыры вы видите в описании? ТС не уточнил какой загрузчик он использовал при установке Ubuntu. Возможно, там был grub-0.97, первичный код которого целиком помещается в 466 байт mbr, да, в gpt есть копия mbr, вы об этом, надеюсь знаете, либо вообще использовала lilo, весь код которого помещается в 466 байт mbr.

Ну а в случае EFI образ загрузчика вообще лежит на отдельном efi разделе, коего у ТС нет ни в первом ни во втором случае.

Везде grub2. BIOS.

И там и там GPT? Вы уверены.

Покажите вывод

fdisk -l

На одной и второй системе.

Меня интересует именно fdisk.

И это один и тот же ПК или разные, да к тому же на одном BIOS, а на другом UEFI?

9

kostik87 пишет:

какие же дыры вы видите в описании?

для начала мне показалось странным утверждение, что «первичный код grub-0.97, …, помещается целиком в 466 байт MBR», а второго груба он почему-то не помещается...

kostik87 пишет:

а вот код grub2, …, даже в случае использование GPT

во-вторых, меня смутило тут «даже»

kostik87 пишет:

вот поэтому в случае GPT нужно создавать отдельный раздел bios_grub

в-третьих, вывод этого рассуждения у меня в уме ни как не вязался с предыдущими утверждениями.

По зрелому размышлению, я конечно понял, что всё это был сумбурный бред дилетанта... Справедливости ради, стоит заметить, что мои рассуждения из первого поста не сильно лучше.

И так, как же всё происходит на самом деле...
Начальная загрузка grub2 от grub1 практически не отличается. (специально для комплектующих: ни что в размере кардинально не увеличивалось).
В первом grub'е порядок был таков:
1. Сначала bios загружает в память stage1 из mbr'а. В нём было прописано расположение stage1.5. Загрузить его первый сектор и передать ему управление это всё на что у stage1 хватало ресурсов
2. stage1.5 располагается в «специальной дисковой области» для mbr таковой являлось пространство между таблицей разделов и самим разделом оно всегда было (~>30к), т.к. первый раздел обязан начинаться на новом цилиндре <fixme>... а со временем разделы стали выравнивать по мегабайтам и места на диске размеченном по «современным канонам там попой кушай»... но с этим были проблемы некоторый нехороший проприетакрный софт пытался использовать эту область под свои нужды...
stage1.5 был размером пару десятков килобайт и уже мог полностью загрузить себя. и оперировать с файлами на уровне ФС. А его единственной задачей является найти на /boot разделе stage2
3. stage2 уже занимается тем что мы видим: отображает менюшечки, красивые картинки, и делает всякие мелочи вроде загрузки ядер...

Но! без stage1.5 можно обойтись: надо только в stage1 прямо прописать первый сектор stage2. Правда тут придётся молится, чтобы файл не сдвинулся в другую область диска на уровне ФС.


Единственное отличие grub2 в загрузке — это модульный «stage2». А «stage1.5» является точной копией «ядра загрузчика» core.img.


Теперь про GPT.
В GPT, вообще говоря, гепа перед первым разделом может не быть, хотя ИРЛ в 99% случаев там есть несколько !сотен! килобайт, помним выравнивание по мегабайтам. Поэтому, чтобы не обременять хомячков лишними знаниями, разработчики grub решили: «всё, теперь обязательно нужен отдельный раздел для stage1.5».
Хотя есть пара альтернативных вариантов:
1. Установка в не размеченную область перед первым разделом и после всей таблицы gpt. (Опасно, как и раньше или даже немного более)
2. установка в пустые записи GPT бред
3. как и раньше, обходится без stage1.5 (проблемы с модификацией на уровне ОС)

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

95% процентов проблем находятся между клавиатурой и стулом.

10 (30.06.2014 20:11:30 отредактировано Macumazan)

Это 2 идентичные машины
на 1й

 Консоль:
# fdisk -l   

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 5099.4 GB, 5099428820992 bytes
255 heads, 63 sectors/track, 619970 cylinders, total 9959821916 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 4456448 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/mapper/RAID6-root: 20.0 GB, 19998441472 bytes
255 heads, 63 sectors/track, 2431 cylinders, total 39059456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 4456448 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/RAID6-root doesn't contain a valid partition table

На 2й

 Консоль:

fdisk -l

Disk /dev/sda: 6,6 TiB, 7199193610240 bytes, 14060925020 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 6291456 bytes
Disklabel type: gpt
Disk identifier: 560FBB98-ABF7-4039-83A7-ACE7776374A8
Partition 1 does not start on physical sector boundary.
Partition 2 does not start on physical sector boundary.

Device           Start          End   Size Type
/dev/sda1         7812      1000000 484,5M EFI System
/dev/sda2      1000001     39062500  18,2G Linux LVM


Disk /dev/mapper/vg0-root: 15 GiB, 16106127360 bytes, 31457280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 6291456 bytes

11

Macumazan, эмм... не хочу расстраивать, но на втором диске у тебя mbr... и размер lvm'а не такой, как в ппервом посте...
и я бы ещё выровнял разделы хотя бы по 256к, а лучше по 6М...
кстати, это же аппаратный рейд?

95% процентов проблем находятся между клавиатурой и стулом.

12 (01.07.2014 17:34:57 отредактировано Macumazan)

mbr? А как это определить?

Интересен вывод gfdisk о первом разделе.
Ubuntu

Partition number (1-2): 1
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: D4EA737A-9190-4DC0-8200-D5ABE9F502AA
First sector: 8704 (at 4.2 MiB)
Last sector: 1949695 (at 952.0 MiB)
Partition size: 1940992 sectors (947.8 MiB)
Attribute flags: 0000000000000000
Partition name: 'boot'

Генту

Partition number (1-2): 1
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: 66C88E56-C3F5-4333-993F-1139933B8981
First sector: 7812 (at 3.8 MiB)
Last sector: 1000000 (at 488.3 MiB)
Partition size: 992189 sectors (484.5 MiB)
Attribute flags: 0000000000000000
Partition name: 'sda1'

Откуда взялся GUID (EFI System) в генту я ума не приложу.  Может, grub-install поправил? Хотя я его ставил с ключом target=i386-pc.

А lvm разный по размеру это не беда. На лету всё меняется в сторону увеличения. А вот про выравнивание: что выравнивание что нет - тесты показали, что на аппаратном рейде оно как-то и не заметно.