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

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

Сообщение Olej » 08 янв 2017, 11:36

Возможно ли?
Вот такой возник вопрос ...

- положим, имеется 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.
Olej
 
Стаж: 47 лет 4 месяца 27 дней

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

Спонсор

Спонсор
 

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

Сообщение Oleg65 » 08 янв 2017, 13:25

Я и не авторитетные для Вас источники утверждаем - любые компьютеры с обычным BIOS могут запускать Linux, если диск содержит таблицу GPT! :lol: :lol: :lol: Только при установке Grub2 нужно резервировать(создавать) отдельный раздел BIOS-Grub... ;) Да и вообще - у Линукса проблем с GPT нет...
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 705
Стаж: 2 года 4 месяца 9 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 48 раз.
Поблагодарили: 154 раз.

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

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

Oleg65 писал(а):

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

Детальное описание есть?
Самое главное: будет ли так подготовленный диск одинаково грузиться и в BIOS и в UEFI?

P.S. В самое последнее время (2015 и позже) появилось достаточно много (но мало внятных) обсуждений типа Раздел bios_grub устарел, или все еще нужен?
Olej
 
Стаж: 47 лет 4 месяца 27 дней

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

Сообщение Olej » 08 янв 2017, 16:17

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.
Olej
 
Стаж: 47 лет 4 месяца 27 дней

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

Сообщение Olej » 08 янв 2017, 18:31

Olej писал(а):

Детальное описание есть?

Вот здесь - Установка загрузчика Grub - более-менее внятное описание 2-х споссобов установки загрузчика на GPT диск для BIOS-загрузки:
1. непосредственно в резервную MBR запись (LBA0)
2. через дополнительный раздел (1Mb) типа ef02 (BIOS boot partition)
Olej
 
Стаж: 47 лет 4 месяца 27 дней

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

Сообщение Oleg65 » 08 янв 2017, 20:34

Olej, у Федоры, оказывается - именно у Федоры - свое решение. О нем слышал, но не разбирался( не нужно есть), связано с Grub - там пакет сценариев grubby - ...??? Ну, короче, слышал, но не интересовался - там должно быть два пакета, если не путаю - grub2 и grub2-efi. И там же должен быть установлен пакет os-prober. Кстати - одноименная команда просматривает все разделы на наличие ОС, а результат интегрируется в меню grub.
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 705
Стаж: 2 года 4 месяца 9 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 48 раз.
Поблагодарили: 154 раз.

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

Сообщение Olej » 08 янв 2017, 21:02

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
Olej
 
Стаж: 47 лет 4 месяца 27 дней

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

Сообщение tupoll » 09 янв 2017, 14:48

Разбивка флешки на разделы при 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)
другого тоже нет под рукой но смысл я думаю понятен,раздел для загрузчика должен быть.
Правильный линукс-BSD.
Аватар пользователя
tupoll
Уважаемый участник
Уважаемый участник
 
Сообщений: 227
Фото: 3
Стаж: 2 года 4 месяца 8 дней
Откуда: Vladivostok
Благодарил (а): 31 раз.
Поблагодарили: 36 раз.

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

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

Вот флешка 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




монтируется свободно ,о какой ведущей федоре вообще речь?
Правильный линукс-BSD.
Аватар пользователя
tupoll
Уважаемый участник
Уважаемый участник
 
Сообщений: 227
Фото: 3
Стаж: 2 года 4 месяца 8 дней
Откуда: Vladivostok
Благодарил (а): 31 раз.
Поблагодарили: 36 раз.

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

Сообщение Olej » 09 янв 2017, 15:17

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), или это соответствие только для наглядности, диагностики?
Olej
 
Стаж: 47 лет 4 месяца 27 дней

След.

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

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

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

cron