Страница 1 из 5
загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 11:36
Olej
Возможно ли?
Вот такой возник вопрос ...
- положим, имеется GPT диск, разбитый на ... 10 разделов

- это легко на флешке воспроизвести... смоделировать
- на GPT диске нет загрузочного кода, его загружать должен EFI код в ROM вместо BIOS
- но на GPT диске
всегда есть MBR сектор (LBA0) который обычно определяет 1 раздел, покрывающий все разделы GPT (для защиты от уничтожения)
- но в MBR секторе же есть код загрузки, который мог бы (в принципе) передавать управление на начало 1-го раздела GPT на загрузку
Т.е. ничего не мешало бы, кажется, создать такую структуру диска GPT, которая
одинаково грузилась бы в режимах загрузки и EFI и BIOS.
P.S. Похоже, что каким-то таким подобным образом (совместимым) осуществляется загрузка с USB-флешки ISO образов Fedora, записанных их же собственным инструментом записи Live USB Creator.
Re: загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 13:25
Oleg65
Я и не авторитетные для Вас источники утверждаем - любые компьютеры с обычным BIOS могут запускать Linux, если диск содержит таблицу GPT!

Только при установке Grub2 нужно резервировать(создавать) отдельный раздел BIOS-Grub...

Да и вообще - у Линукса проблем с GPT нет...
Re: загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 14:14
Olej
Oleg65 писал(а):Только при установке Grub2 нужно резервировать(создавать) отдельный раздел BIOS-Grub...

Детальное описание есть?
Самое главное: будет ли так подготовленный диск одинаково грузиться и в BIOS и в UEFI?
P.S. В самое последнее время (2015 и позже) появилось достаточно много (но мало внятных) обсуждений типа
Раздел bios_grub устарел, или все еще нужен?
Re: загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 16:17
Olej
Olej писал(а):
P.S. Похоже, что каким-то таким подобным образом (совместимым) осуществляется загрузка с USB-флешки ISO образов Fedora, записанных их же собственным инструментом записи Live USB Creator.
Вот как выглядит флешка, записанная с ISO Fedora 24 Mate-Compiz (то что под рукой лежало):
Код: Выделить всё
[olej@dell ~]$ sudo fdisk -l /dev/sdb
[sudo] пароль для olej:
Диск /dev/sdb: 3,7 GiB, 3909091328 байт, 7634944 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x36293493
Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип
/dev/sdb1 * 0 3477503 3477504 1,7G 17 Скрытый HPFS/NTFS
Но никак, не автомонтированием, ни ручным монтированием, она не монтируется и содержимое посмотреть не получается:
Код: Выделить всё
[olej@dell mnt]$ sudo mount -t ntfs -o noatime,users,rw,fmask=111,dmask=000,locale=ru_RU.UTF-8 /dev/sdb1 /mnt/win_8
[sudo] пароль для olej:
NTFS signature is missing.
Failed to mount '/dev/sdb1': Недопустимый аргумент
The device '/dev/sdb1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
[olej@dell mnt]$ ls -l /dev/sdb*
brw-rw---- 1 root disk 8, 16 янв 8 15:07 /dev/sdb
brw-rw---- 1 root disk 8, 17 янв 8 15:11 /dev/sdb1
Любопытно?
Но с этой именно флешки прекрасно грузится в BIOS LiveUSB Fedora 24.
И утверждается (на официальном сайте Fedora), что
этот же носитель грузится и UEFI.
Re: загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 18:31
Olej
Olej писал(а):
Детальное описание есть?
Вот здесь -
Установка загрузчика Grub - более-менее внятное описание
2-х споссобов установки загрузчика на GPT диск для BIOS-загрузки:
1. непосредственно в резервную MBR запись (LBA0)
2. через дополнительный раздел (1Mb) типа ef02 (BIOS boot partition)
Re: загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 20:34
Oleg65
Olej, у Федоры, оказывается - именно у Федоры - свое решение. О нем слышал, но не разбирался( не нужно есть), связано с Grub - там пакет сценариев grubby - ...??? Ну, короче, слышал, но не интересовался - там должно быть два пакета, если не путаю - grub2 и grub2-efi. И там же должен быть установлен пакет os-prober. Кстати - одноименная команда просматривает все разделы на наличие ОС, а результат интегрируется в меню grub.
Re: загрузка GPT диска средствами BIOS
Добавлено: 08 янв 2017, 21:02
Olej
Oleg65 писал(а):у Федоры, оказывается - именно у Федоры - свое решение. О нем слышал, но не разбирался( не нужно есть), связано с Grub - там пакет сценариев grubby - ...???
Это именно и интересует. Потому что все новые решения формируются на сегодня именно в Fedora, а остальные дистрибутивы потом (хотят они или не хотят) потом только заимствуют.
Oleg65 писал(а):
там должно быть два пакета, если не путаю - grub2 и grub2-efi.
Код: Выделить всё
[olej@dell GPT]$ dnf list installed grub*
Последняя проверка окончания срока действия метаданных: 8 days, 3:27:16 назад, Sat Dec 31 16:28:58 2016.
Установленные пакеты
grub-customizer.x86_64 5.0.6-1.fc23 @updates
grub2.x86_64 1:2.02-0.25.fc23 @updates
grub2-efi.x86_64 1:2.02-0.25.fc23 @updates
grub2-tools.x86_64 1:2.02-0.25.fc23 @updates
grubby.x86_64 8.40-2.fc23 @System
Oleg65 писал(а):
И там же должен быть установлен пакет os-prober. Кстати - одноименная команда просматривает все разделы на наличие ОС, а результат интегрируется в меню grub.
Код: Выделить всё
[olej@dell GPT]$ ls /bin/os*
/bin/osinfo-db-validate /bin/osinfo-detect /bin/osinfo-install-script /bin/osinfo-query /bin/os-prober
Re: загрузка GPT диска средствами BIOS
Добавлено: 09 янв 2017, 14:48
tupoll
Разбивка флешки на разделы при GPT разметке с образа через dd :
Код: Выделить всё
gpart show da0
=> 3 1364190 da0 GPT (1.9G) [CORRUPT]
3 1600 1 efi (800K)
1603 126 2 freebsd-boot (63K)
1729 1360416 3 freebsd-ufs (664M)
1362145 2048 4 freebsd-swap (1.0M)
другого тоже нет под рукой но смысл я думаю понятен,раздел для загрузчика должен быть.
Re: загрузка GPT диска средствами BIOS
Добавлено: 09 янв 2017, 15:15
tupoll
Вот флешка systemrecuecd gentoo ZFS записанная скриптом с образа,разумеется она на dos и в fat32,она же и носитель информации:
Код: Выделить всё
Disk Drive: /dev/sdd
Size: 31461376, 15.0 GiB
Part. # Size Partition Type Partition Name
----------------------------------------------------------------
1 15.0 GiB Microsoft basic data Microsoft basic data
монтируется свободно ,о какой ведущей федоре вообще речь?
Re: загрузка GPT диска средствами BIOS
Добавлено: 09 янв 2017, 15:17
Olej
tupoll писал(а):Разбивка флешки на разделы при GPT разметке с образа через dd :
Код: Выделить всё
gpart show da0
=> 3 1364190 da0 GPT (1.9G) [CORRUPT]
3 1600 1 efi (800K)
1603 126 2 freebsd-boot (63K)
1729 1360416 3 freebsd-ufs (664M)
1362145 2048 4 freebsd-swap (1.0M)
другого тоже нет под рукой но смысл я думаю понятен,раздел для загрузчика должен быть.
И этот раздел (по идее, как пишут) должен иметь partition ID EF02, введенные относительно недавно (к 2013г. среди перечней типов ID такого ещё не было, сейчас gdisk называет его BIOS boot partition):
Код: Выделить всё
[olej@dell GPT]$ sudo gdisk -l /dev/sdb
[sudo] пароль для olej:
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 1972224 sectors, 963.0 MiB
Logical sector size: 512 bytes
Disk identifier (GUID): 762411A0-211E-42F2-BA98-D8E56DD84661
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1972190
Partitions will be aligned on 2048-sector boundaries
Total free space is 1914811 sectors (935.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 2048 512 bytes EF02 BIOS boot partition
2 4096 61440 28.0 MiB 0700 Microsoft basic data
А для UEFI загрузки (по крайней мере на HDD) создают раздел: ef00 - EFI System, размером от 100 до 300 Mb (по крайней мере так его создают различные Windows).
Имеют ли определяющее значение partition ID этих загрузочных разделов (ef00, ef02), или это соответствие только для наглядности, диагностики?