GPT диски & UEFI загрузка
Добавлено: 17 сен 2012, 11:57
Вопрос такой:
- всякая система управления виртуальными машинами (QEMU, VirtualBox, Bochs, Virtual PC, VMware, Xen, ... ) использует некоторый образ системного диска VM (исключая экзотические случаи, такие как "прямая загрузка" Linux в QEMU, когда указываются прямо файлы ядра и initrd); этот образ может быть файлом образа (чаще всего), но может быть и реальным устройством: диском, partition реального диска, USB флешкой и др. - но это раздичие совершенно не важно для дальнейшего вопроса...
- для загрузки VM используется некоторый эмулятор BIOS (многими заимствованный из проекта Bochs, где он поставляется в виде отдельного файла и может быть подменен)...
- но сейчас на смену MBR таблице разделов диска (реального или виртуального) идёт структура GPT дисков + вместо программного кода BIOS - UEFI (стандарт этот весьма давний, представленный Intel, известный тогда ещё под именем EFI)
- диски GPT (вместо MBR) имеют свою таблицу размещения partition (до 128 шт. вместо 4-х в MBR), свои ID типов разделов (разделы для Linux файловых систем = 8300 вместо 83 в MBR, для большинства Windows разделов - 0700 вместо множественных 0b, 0c, 0e, 0f и мн. других ранее), другие программы обслуживания разделов - gdisk вместо fdisk...
- различий множество ... но их корректная поддержка - это дело самой установленной виртуальной машины! ... и современные Linux дистрибутивы с этим замечательно справляются, как на реальных дисках, так и на виртуальных ...
- кроме одного: UEFI загрузка!
- для обеспечения UEFI загрузки для диска GPT (помимо соблюдения прочих соглашений в структуре самого GPT диска), требуется программный код UEFI вместо кода BIOS ...
- в железках (особенно массово в последних моделях ноутбуков) этот программный код UEFI зашит в ROM (флеш) железки ... но для виртуальных машин его может обеспечить только менеджер виртуальных машин (конкретно вот те: QEMU, VirtualBox, Bochs, Virtual PC, VMware, Xen, ... );
- но ни в одном из них я не нахожу следов (опций, конфигураций) кода UEFI загрузчика ... может не там и не то ищу?
- ведь при начавшемся массовом переходе производителей железок на UEFI, тот менеджер виртуальных машин, который не предоставит UEFI загрузчика ... "ещё вчера" - просто сойдёт со сцены средств виртуализации, а это на сегодня рынок жесточайшей конкуренции, как мало какой другой в IT...
Что происходит?
- всякая система управления виртуальными машинами (QEMU, VirtualBox, Bochs, Virtual PC, VMware, Xen, ... ) использует некоторый образ системного диска VM (исключая экзотические случаи, такие как "прямая загрузка" Linux в QEMU, когда указываются прямо файлы ядра и initrd); этот образ может быть файлом образа (чаще всего), но может быть и реальным устройством: диском, partition реального диска, USB флешкой и др. - но это раздичие совершенно не важно для дальнейшего вопроса...
- для загрузки VM используется некоторый эмулятор BIOS (многими заимствованный из проекта Bochs, где он поставляется в виде отдельного файла и может быть подменен)...
- но сейчас на смену MBR таблице разделов диска (реального или виртуального) идёт структура GPT дисков + вместо программного кода BIOS - UEFI (стандарт этот весьма давний, представленный Intel, известный тогда ещё под именем EFI)
- диски GPT (вместо MBR) имеют свою таблицу размещения partition (до 128 шт. вместо 4-х в MBR), свои ID типов разделов (разделы для Linux файловых систем = 8300 вместо 83 в MBR, для большинства Windows разделов - 0700 вместо множественных 0b, 0c, 0e, 0f и мн. других ранее), другие программы обслуживания разделов - gdisk вместо fdisk...
- различий множество ... но их корректная поддержка - это дело самой установленной виртуальной машины! ... и современные Linux дистрибутивы с этим замечательно справляются, как на реальных дисках, так и на виртуальных ...
- кроме одного: UEFI загрузка!
- для обеспечения UEFI загрузки для диска GPT (помимо соблюдения прочих соглашений в структуре самого GPT диска), требуется программный код UEFI вместо кода BIOS ...
- в железках (особенно массово в последних моделях ноутбуков) этот программный код UEFI зашит в ROM (флеш) железки ... но для виртуальных машин его может обеспечить только менеджер виртуальных машин (конкретно вот те: QEMU, VirtualBox, Bochs, Virtual PC, VMware, Xen, ... );
- но ни в одном из них я не нахожу следов (опций, конфигураций) кода UEFI загрузчика ... может не там и не то ищу?
- ведь при начавшемся массовом переходе производителей железок на UEFI, тот менеджер виртуальных машин, который не предоставит UEFI загрузчика ... "ещё вчера" - просто сойдёт со сцены средств виртуализации, а это на сегодня рынок жесточайшей конкуренции, как мало какой другой в IT...
Что происходит?