Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

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

Olej

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

Сообщение 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.
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

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

Сообщение Oleg65 »

Я и не авторитетные для Вас источники утверждаем - любые компьютеры с обычным BIOS могут запускать Linux, если диск содержит таблицу GPT! :lol: :lol: :lol: Только при установке Grub2 нужно резервировать(создавать) отдельный раздел BIOS-Grub... ;) Да и вообще - у Линукса проблем с GPT нет...
Olej

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

Сообщение Olej »

Oleg65 писал(а):Только при установке Grub2 нужно резервировать(создавать) отдельный раздел BIOS-Grub... ;)
Детальное описание есть?
Самое главное: будет ли так подготовленный диск одинаково грузиться и в BIOS и в UEFI?

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

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

Сообщение 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.
Olej

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

Сообщение Olej »

Olej писал(а): Детальное описание есть?
Вот здесь - Установка загрузчика Grub - более-менее внятное описание 2-х споссобов установки загрузчика на GPT диск для BIOS-загрузки:
1. непосредственно в резервную MBR запись (LBA0)
2. через дополнительный раздел (1Mb) типа ef02 (BIOS boot partition)
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

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

Сообщение Oleg65 »

Olej, у Федоры, оказывается - именно у Федоры - свое решение. О нем слышал, но не разбирался( не нужно есть), связано с Grub - там пакет сценариев grubby - ...??? Ну, короче, слышал, но не интересовался - там должно быть два пакета, если не путаю - grub2 и grub2-efi. И там же должен быть установлен пакет os-prober. Кстати - одноименная команда просматривает все разделы на наличие ОС, а результат интегрируется в меню grub.
Olej

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

Сообщение 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
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

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

Сообщение 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)
другого тоже нет под рукой но смысл я думаю понятен,раздел для загрузчика должен быть.
Правильный линукс-BSD.
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

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

Сообщение 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




монтируется свободно ,о какой ведущей федоре вообще речь?
Правильный линукс-BSD.
Olej

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

Сообщение 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), или это соответствие только для наглядности, диагностики?
Ответить

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