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

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

Olej

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

Сообщение Olej »

Olej писал(а):Создаю вот такой диск, размечаю:
...
Каждая из 3-х систем отдельно грузится (QEMU).
Т.е. каждый раздел - загружаемый (какой ни есть ;) ), а создание загрузчика происходит с ошибками:

Код: Выделить всё

[olej@dell ~]$ sudo grub2-install -s --modules=part_gpt --force /dev/sdb1
[sudo] пароль для olej: 
Installing for i386-pc platform.
grub2-install: предупреждение: Отбрасывается неправильно вложенный раздел (hostdisk//dev/sdb,gpt7,msdos1).
grub2-install: предупреждение: Отбрасывается неправильно вложенный раздел (hostdisk//dev/sdb,gpt7,msdos1).
grub2-install: предупреждение: Отбрасывается неправильно вложенный раздел (hostdisk//dev/sdb,gpt7,msdos1).
grub2-install: предупреждение: Файловая система «ext2» не поддерживает встраивание.
grub2-install: ошибка: встраивание невозможно, но оно необходимо для междисковой установки.
И ничем хорошим это не заканчивается.
Чего ему не хватает?
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

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

Сообщение tupoll »

Судя по началу и концу секторов при разбивке gdisk получилась dos разметка диска,я бы попробовал переразбить утилитой gptfdisk,если интересует именно gpt разметка,и как гентушник я б задумался с какими либами собран grub2.Всё что описано выше явно должно подхватиться загрузчиком и прописаться.
Правильный линукс-BSD.
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

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

Сообщение tupoll »

Зачем указывать грубу что разметка gpt-это специфика федоры может быть,сколько пользуюсь gpt всегда обходился простой командой для загрузочной записи grub-install /dev/.... в том числе и на флешки с несколькими ОС.
Правильный линукс-BSD.
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

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

Сообщение tupoll »

--force /dev/sdb1 с чего бы запись создалась -неправильная геометрия же,раздел EF02 как диск указывать не нужно но он должен быть вначале /dev/sdb т.е.
Правильный линукс-BSD.
Olej

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

Сообщение Olej »

tupoll писал(а):Судя по началу и концу секторов при разбивке gdisk получилась dos разметка диска,я бы попробовал переразбить утилитой gptfdisk,если интересует именно gpt разметка
Показанная разметка (это USB флешка для экспериментов) - точно GPT, и распознаётся независимо как GPT такими утилитами как: gdisk, fdisk (верс. 2.28), gparted, parted. И все они показывают наличие в разметке резервного MBR, в точном соответствии стандарта GPT. И соответствие формата RMBR видно на двоичном дампе 0-го сектора диска, первых 512 байт вывода dd...
tupoll писал(а): и как гентушник я б задумался с какими либами собран grub2.
Всё, что касается сборки, может быть в различиях только версий (проекта и библиотек).
Поддержка типа раздела EF02 BIOS boot partition в GRUB2 появилась не сразу, достаточно поздно... публикации про организацию BIOS загрузки в GRUB2 на диске GPT - после 2012-2013г. ... но я пробую это сделать на дистрибутиве выхода 2016-го года :shock:
tupoll писал(а): Всё что описано выше явно должно подхватиться загрузчиком и прописаться.
1. Не подхватывается и не прописывается ... хотя в теории описывается многими умельцами в Интернет... :?
2. Но Интернет полнится, в 10 раз больше чем описаний grub2-insytall, цитированиями вот этих сообщений об ошибке:

Код: Выделить всё

grub2-install: ошибка: не удалось определить файловую систему в hostdisk//dev/sdc; невозможно выполнить безопасную проверку.
grub2-install: ошибка: встраивание невозможно, но оно необходимо для междисковой установки.
И на все такие крики "HELP" нет ни одного внятного объяснения ... даже ситуаций в которых они возникают!

Возможно ( :?: ) есть какая-то специфика, связанная с тем, что:
- делается разбивка флеш-носителя а не HDD? возможно там побито что-то в области служебной информации?
- делается разбивка сменного носителя в работающей системе, а не со стороннего LiveCD в конфигурируемой системе?
Пока - никаких соображений! :(
Последний раз редактировалось Olej 11 янв 2017, 13:45, всего редактировалось 1 раз.
Olej

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

Сообщение Olej »

tupoll писал(а):Зачем указывать грубу что разметка gpt-это специфика федоры
Где? В каком месте? указывается грубу про какую-то там специфику? ... в привязке к какому-то там дистрибутиву...
Последний раз редактировалось Olej 11 янв 2017, 13:56, всего редактировалось 1 раз.
Olej

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

Сообщение Olej »

tupoll писал(а):неправильная геометрия же,раздел EF02 как диск указывать не нужно но он должен быть вначале /dev/sdb т.е.
1. нигде, ни в одном из обсуждений, и в документациях GRUB2, не упоминается, что раздел EF02 должен быть в начале /dev/sdb...
2. что значит "в начале" для GPT, когда раздел /dev/sdb1 может размещаться в последних секторах диска /dev/sdb, или 1-м по физическим секторам размещения может быть раздел /dev/sdb10?
Olej

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

Сообщение Olej »

tupoll писал(а):раздел EF02 как диск указывать не нужно но он должен быть вначале /dev/sdb т.е.
Все описания MBR загрузки GPT из дистрибутивов группы APT (Debian, Ubuntu, Mint, ... etc.) описывают именно указание раздела EF02...
Oleg65 писал(а):Только при установке Grub2 нужно резервировать(создавать) отдельный раздел BIOS-Grub... ;)
Смотрим Установка загрузчика Grub (обращаем внимание на дату):
Август 18, 2016
...
Установка загрузчика Grub в GPT для BIOS
...

Код: Выделить всё

$ sudo grub-install /dev/sda3
И так во множестве публикаций!

Но!
Переразбил диск:

Код: Выделить всё

[olej@dell ~]$ sudo fdisk -l /dev/sdc
Диск /dev/sdc: 963 MiB, 1009778688 байт, 1972224 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 33C953DD-F688-41A1-9C40-08EA8C053781

Устр-во    начало Конец Секторы Размер Тип
/dev/sdc1    2048 10239    8192     4M BIOS boot

Код: Выделить всё

[olej@dell ~]$ sudo grub2-install /dev/sdc
Installing for i386-pc platform.
Установка завершена. Ошибок нет.
:shock:
tupoll писал(а):раздел EF02 как диск указывать не нужно
Возможно ... что и так и надо? :shock:
За подсказку спасибо.

Только теперь дальше:
- сформировав дополнительные разделы на таком диске...
- перенеся туда образы каких-то ОС...
- как сформировать конфиг для GRUB2 и куда его поместить ... если раздел EF02 видится как неразмеченный (gparted) и никуда не монтируется ... т.е. его файловая система недоступна? :?
Последний раз редактировалось Olej 11 янв 2017, 14:55, всего редактировалось 1 раз.
Olej

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

Сообщение Olej »

Код: Выделить всё

[olej@dell ~]$ sudo qemu-kvm /dev/sdc
[sudo] пароль для olej: 
WARNING: Image format was not specified for '/dev/sdc' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.
...
q1.png
q1.png (11.35 КБ) 3620 просмотров
Уже ближе: GRUB отрабатывает, но не находит диска для загрузки...
Olej

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

Сообщение Olej »

Olej писал(а):

Код: Выделить всё

[olej@dell ~]$ sudo qemu-kvm /dev/sdc
[sudo] пароль для olej: 
WARNING: Image format was not specified for '/dev/sdc' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.
...
q1.png
Уже ближе: GRUB отрабатывает, но не находит диска для загрузки...

Код: Выделить всё

[olej@dell by-uuid]$ ls -l /dev/disk/by-uuid/9a0*
lrwxrwxrwx 1 root root 10 янв  9 21:49 /dev/disk/by-uuid/9a0658a9-b45b-4b82-b7c0-6a8607601ae2 -> ../../sda3
Т.е. у него установлен grub.cfg от базовой, загруженной системы - default:

Код: Выделить всё

[olej@dell etc]$ cat /boot/grub2/grub.cfg | grep 9a0
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2

Код: Выделить всё

[olej@dell etc]$ sudo grub2-mkconfig | grep 9a0
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.8.14-100.fc23.x86_64
Found initrd image: /boot/initramfs-4.8.14-100.fc23.x86_64.img
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
Found linux image: /boot/vmlinuz-4.8.10-100.fc23.x86_64
Found initrd image: /boot/initramfs-4.8.10-100.fc23.x86_64.img
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
Found linux image: /boot/vmlinuz-4.7.7-100.fc23.x86_64
Found initrd image: /boot/initramfs-4.7.7-100.fc23.x86_64.img
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
Found linux image: /boot/vmlinuz-0-rescue-79580c90d98d4a34b6de8c1186956697
Found initrd image: /boot/initramfs-0-rescue-79580c90d98d4a34b6de8c1186956697.img
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  9a0658a9-b45b-4b82-b7c0-6a8607601ae2
	  search --no-floppy --fs-uuid --set=root 9a0658a9-b45b-4b82-b7c0-6a8607601ae2
Found Windows 8 (loader) on /dev/sda1
done
Ответить

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