Почему дешевые системы запускают 32-разрядный UEFI на x64

23.07.2015  14:52

MinnowRevA-Angled2

Зачем в системах с 64-бит процессором до сих пор реализуется 32-бит UEFI и почему на 32-бит машине UEFI нельзя использовать Linux. Брайан Ричардсон высказал в блоге Intel мнение о том, что это связано с деньгами.

Основное требование UEFI: архитектура и операционная система должны соответствовать друг другу. Для большинства процессоров Intel это не проблема, так как они имеют одну архитектуру. Х86-совместимый процессор несколько отличается и может переключаться в режим совместимости с 16/32/64-бит.

Так как большинство платформ Intel поддерживает 32- и 64-разрядную архитектуру, прошивки UEFI для них могут составляться в IA32 или x64 режиме. Это нашло свое применение в Intel Galileo.

BIOS прошивается в 16-бит режиме, а ОС работает в 32/64-бит защищенном режиме. Это вызывает ряд проблем с 16-бит интерфейсом BIOS и 32/64-бит ОС.

Операционным системам проще работать с прошивкой той же разрядности. Это и является основополагающим принципом UEFI.

debian_8_jessie-1

Когда UEFI стал доминирующим интерфейсом прошивки, поставщики Linux начали создавать 64-разрядные системы, совместимые с UEFI. А потом на рынке появились дешевые ноутбуки и планшеты, на которые устанавливалась 32-разрядная Microsoft Windows 8.1.

Это связано с тем, что в подобном случае можно сэкономить на оборудовании, так как 64-разрядная версия Windows требует больше места на HDD и ОЗУ.

В результате дешевый компьютер не может запускать свободное ПО на «коробочной» версии. Это побочный эффект адаптации рынка под дешевые системы.

Для Intel достаточно перекомпилировать UEFI C-код в режиме IA32 вместо 64, а с дистрибутивами Linux все несколько сложнее.

Может быть переход с CD/DVD на флэш станет подспорьем. Но пока поддержка Linux для UEFI IA32 остается вопросом без ответа, хотя пользователи Linux и просят добавить эту опцию.

Плюсануть
Поделиться

Материалы по теме