Redirect for return dis что это bios

Обновлено: 07.07.2024

В этом разделе описываются практически все (по мере создания) параметры, устанавливаемые в программе SETUP для BIOS фирмы AWARD Software International Inc. В конкретной материнской плате каких-то из описываемых параметров может и не быть. Одни и те же параметры могут называться по разному в зависимости от производителя материнской платы, поэтому здесь в некоторых случаях приведено несколько вариантов.

Для просмотра и корректировки установок chipset в BIOS вашего компьютера рекомендуем воспользоваться прелестной программой TweakBIOS. С помощью этой программы можно изменять установки в BIOS "на лету", а также увидеть, правильно ли программа SETUP выполнила установки.

ПРИМЕЧАНИЕ: Программа запускается и под различными Windows, но использовать ее можно только в DOS.

Содержание:

Раздел BIOS FEATURES SETUP

Раздел CHIPSET FEATURES SETUP

Раздел PnP/PCI Configuration Setup

Раздел Power Management Setup

  • Enabled - разрешено
  • Disabled - запрещено
  • Enabled - разрешено
  • Disabled - запрещено
  • Enabled - разрешено
  • Disabled - запрещено
  • Enabled - разрешено
  • Disabled - запрещено
  • Yes - освободить IRQ 6
  • No — не освобождать (независимо от того, есть ли флоппи-дисковод или нет)
  • Enabled - разрешено
  • Disabled - запрещено

Раздел CHIPSET FEATURES SETUP

Установка параметров для FPM DRAM, EDO DRAM и Synchronous DRAM

Конфигурирование шин PCI, AGP, портов ввода/вывода и установка параметров IDE контроллера

    (Режим кэширования для видеопамяти) — параметр действителен только для процессоров архитектуры Pentium Pro (Pentium II, Deshutes и т.п.). В процессоре Pentium Pro была предусмотрена возможность изменять режим кэширования в зависимости от конкретной области памяти через специальные внутренние регистры, называемые Memory Type Range Registers — MTRR. С помощью этих регистров для конкретной области памяти могут быть установлены режимы UC (uncached — не кэшируется), WC (write combining — объединенная запись), WP (write protect — защита от записи), WT (write through — сквозная запись) и WB (write back — обратная запись). Установка режима USWC (uncached, speculative write combining — не кэшировать, режим объединенной записи) позволяет значительно ускорить вывод данных через шину PCI на видеокарту (до 90 MB/c вместо 8 MB/c). Следует учесть, что видеокарта должна поддерживать доступ к своей памяти в диапазоне от A0000 — BFFFF (128 kB) и иметь линейный буфер кадра. Поэтому лучше установить режим USWC, но в случае возникновения каких-либо проблем (система может не загрузиться) установить значение по умолчанию UC. Может принимать значения:
    • UC - uncached — не кэшируется
    • USWC — uncached, speculative write combining — не кэшировать, режим объединенной записи.
    • Enabled - разрешено
    • Disabled - запрещено
    • Enabled - разрешено
    • Disabled - запрещено
    • Enabled - разрешено
    • Disabled - запрещено
    • Enabled - разрешено
    • Disabled - запрещено
    • Enabled - разрешено
    • Disabled - запрещено
    • Enabled - разрешено
    • Disabled - запрещено
    • Normal — обычный интерфейс принтера, также называется SPP
    • ECP — порт с расширенными возможностями
    • EPP — расширенный принтерный порт
    • ECP + EPP- можно использовать оба режима
    • SPP — обычный интерфейс принтера, также называется SPP
    • ECP — порт с расширенными возможностями
    • EPP — расширенный принтерный порт
    • EPP 1.9 — версия 1.9 исполнения интерфейса
    • EPP 1.7 — версия 1.7 исполнения интерфейса
    • 1 — канал 1
    • 3 - канал 3
    • Disabled - запрещено использовать DMA
    • Primary - разрешена работа только первого канала
    • Secondary - разрешена работа только второго канала
    • Both - разрешена работа обеих каналов
    • Disable - запрещена работа обеих каналов
    • Enable - контроллер разрешен
    • Disable - контроллер запрещен

    Раздел PnP/PCI Configuration Setup

    • PNP OS Installed(установлена ли операционная система с поддержкой режима Plug&Play?) - Установить Yes, если операционная система поддерживает Plug&Play (например, Windows 95) и No в противном случае.
    • Resources Controlled By(как управляются ресурсы) - Если выбрано AUTO, то BIOS сам автоматически назначит прерывания и каналы DMA всем устройствам, подключенным к шине PCI и эти параметры не будут появляться на экране. В противном случае все эти параметры следует установить вручную. В некоторых вариантах BIOS этот параметр может устанавливаться индивидуально для каждого PCI слота и выглядеть так: Slot 1 IRQ, Slot 2 IRQ и т.д. (сброс конфигурационных данных) — Рекомендуется устанавливать его в Disabled. При установке Enabled BIOS будет очищать область Extended System Configuration Data (Расширенные данные о конфигурации системы — ESCD), в которой хранятся данные о конфигурировании BIOS`ом системы, поэтому возможны аппаратные конфликты у "брошенных" таким образом на произвол судьбы устройств. (прерывание с номером n назначено на. ) — Каждому прерыванию системы может быть назначен один из следующих типов устройств:
      • Legacy ISA (классические ISA карты) — Обычные карты для ISA, такие как модемы или звуковые карты без поддержки Plug&Play. Эти карты требуют назначения прерываний в соответствии с документацией на них.
      • PCI/ISA PnP (устройства для шины PCI или устройства для шины ISA с поддержкой Plug&Play) — этот параметр устанавливается только для устройств на шине PCI или ISA карт с поддержкой Plug&Play.
      • Legacy ISA (классические ISA карты) — Обычные карты для ISA, такие как модемы или звуковые карты без поддержки Plug&Play. Эти карты требуют назначения каналов DMA в соответствии с документацией на них.
      • PCI/ISA PnP (устройства для шины PCI или устройства для шины ISA с поддержкой Plug&Play) — этот параметр устанавливается только для устройств на шине PCI или ISA карт с поддержкой Plug&Play.
      • Level (уровень) — контроллер прерываний реагирует только на уровень сигнала.
      • Edge (перепад) - контроллер прерываний реагирует только на перепад уровня сигнала.
      • PCI IDE IRQ mapping (используется для PCI IDE)
      • PC AT (ISA) (используется для ISA)
      • Enabled - разрешено
      • Disabled - запрещено
      • No/ICU (нет/конфигурационная утилита для ISA) — если установлено это значение, то BIOS может распоряжаться этим прерыванием по своему усмотрению. Для DOS настройка параметров в этом случае может также выполняться с помощью программы ISA Configuration Utility от Intel.
      • Yes (да) - означает принудительное освобождение прерывания для какой-либо карты на шине ISA, не поддерживающей режим Plug&Play. Рекомендуется всегда указывать Yes для таких карт и нужных им прерываний, так как в противном случае BIOS может назначить прерывание, жестко используемое какой-либо картой на ISA, другой карте, что может вызвать даже прекращение нормальной работы компьютера.
      • No/ICU (нет/конфигурационная утилита для ISA) — если установлено это значение, то BIOS может распоряжаться этим каналом DMA по своему усмотрению. Для DOS настройка параметров в этом случае может также выполняться с помощью программы ISA Configuration Utility от Intel.
      • Yes (да) - означает принудительное освобождение канала DMA для какой-либо карты на шине ISA, не поддерживающей режим Plug&Play. Рекомендуется всегда указывать Yes для таких карт и нужных им каналом DMA, так как в противном случае BIOS может назначить канал, жестко используемый какой-либо картой на ISA, другой карте, что может вызвать даже прекращение нормальной работы компьютера.
      • No/ICU (нет/ICU) - оставляет управление этим параметром на усмотрение BIOS или программы ICU.
      • C800, CC00, D000, D400, D800 и DC00 - указывается адрес блока памяти. Кроме этого, появляется дополнительный параметр ISA MEM Block SIZE (размер блока памяти), который нужен в том случае, если таких ISA карт несколько и этот параметр может принимать значения 8K, 16K, 32K, 64K
      • AUTO (автоматически) — Разрешен поиск SCSI контроллера Adaptec и запуск BIOS для него.
      • Disabled (запрещено) — Устанавливается в это значение при отсутствии SCSI карты.
      • Yes - разрешено
      • No — запрещено
      • Enabled - разрешено
      • Disabled - запрещено
      • Enabled - разрешено
      • Disabled - запрещено
      • AUTO (автоматически) — Разрешен поиск SCSI контроллера и запуск BIOS для него.
      • Disabled (запрещено) — Устанавливается в это значение при отсутствии SCSI карты.
      • Enabled - разрешено
      • Disabled - запрещено
      • PCI/AGP - сначала BIOS PCI видеокарты, затем AGP
      • AGP/PCI - сначала BIOS AGP видеокарты, затем PCI
      • OS — поддержка через операционную систему
      • BIOS - поддержка через BIOS

      Раздел Power Management Setup

      • Power Management(управление энергопотреблением) — позволяет либо разрешать BIOS'у снижать энергопотребление компьютера, если за ним не работают, либо запрещать. Может принимать значения:
        • User Define (определяется пользователем) — при установке этого параметра вы можете самостоятельно установить время перехода в режим пониженного энергопотребления.
        • Min Saving (минимальное энергосбережение) — при выборе этого параметра компьютер будет переходить в режим пониженного энергопотребления через время от 40 мин. до 2 часов (зависит от конкретного BIOS материнской платы)
        • Max Saving (максимальное энергосбережение) — компьютер перейдет в режим пониженного энергопотребления через 10 — 30 с. после прекращения работы пользователя с ним.
        • Disable (запрещение энергосбережения) — запрещает режим энергосбережения.
        • Enabled - разрешено
        • Disabled - запрещено
        • Susp, Stby -> Off (выключение в режиме Suspend И Standby) — монитор перейдет в режим пониженного энергопотребления при наступлении либо режима Suspend, либо Standby.
        • All modes -> Off (выключение во всех режимах) — монитор будет переведен в режим пониженного энергопотребления в любом режиме.
        • Always On (всегда включен) — монитор никогда не будет переведен в режим пониженного энергопотребления
        • Suspend -> Off (выключение в режиме Suspend) — монитор перейдет в режим пониженного энергопотребления при наступлении режима Suspend.
        • DPMS OFF - снижение энергопотребления монитора до минимума
        • DPMS Reduce ON - монитор включен и может использоваться
        • DPMS Standby - монитор в режиме малого энергопотребления
        • DPMS Suspend — монитор в режиме сверхмалого энергопотребления
        • Blank Screen - экран пуст, но монитор потребляет полную мощность
        • V/H SYNC+Blank - снимаются сигналы разверток — монитор переходит в режим наименьшего энергопотребления.
        • Enabled - разрешено
        • Disabled - запрещено
          (частота процессора в режиме Standby) - определяет коэффициент деления тактовой частоты в режиме Standby (ожидания работы).
        • HDD Power Down(выключение жесткого диска) - устанавливает либо время, через которое при отсутствии обращения жесткий диск будет выключен, либо запрещает такое выключение вообще. Параметр не оказывает влияние на диски SCSI. Может принимать значения:
          • От 1 до 15 минут
          • Disabled - запрещено
          • 30 Sec, 1 Min, 2 Min, 4 min, 8 Min, 20 Min, 30 Min, 40 Min, 1 Hour - время перехода (Sec — секунды, Min — минуты, Hour — час)
          • Disabled - запрещено
          • 30 Sec, 1 Min, 2 Min, 4 min, 8 Min, 20 Min, 30 Min, 40 Min, 1 Hour - время перехода (Sec — секунды, Min — минуты, Hour — час)
          • Disabled - запрещено
          • 30 Sec, 1 Min, 2 Min, 4 min, 8 Min, 20 Min, 30 Min, 40 Min, 1 Hour - время перехода (Sec — секунды, Min — минуты, Hour — час)
          • Disabled - запрещено
            — разрешение этого параметра приведет к "пробуждению" компьютера от модема или мыши, подключенных к COM2. Может принимать значения:
            • Enabled - разрешено
            • Disabled - запрещено
            • Enabled - разрешено
            • Disabled - запрещено
            • Enabled - разрешено
            • Disabled - запрещено
            • Enabled - разрешено
            • Disabled - запрещено
              — при разрешении этого параметра компьютер не "засыпает", если подключенное к порту COM2 устройство используется. Может принимать значения:
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
              • Enabled - разрешено
              • Disabled - запрещено
                (он же Soft-of By PWR-BTTN) (кнопка питания нажата менее 4 секунд) - управляет функциями кнопки Power на системном блоке компьютера. Может принимать значения:
                • Soft Off (программное выключение) — кнопка работает как обычная кнопка включения/выключения питания компьютера, но при этом разрешается программное выключение компьютера (например, при выходе из Windows 95).
                • Suspend (временная остановка) — при нажатии на кнопку питания на время менее 4 секунд компьютер переходит в стадию Suspend снижения энергопотребления.
                • No Function (нет функций) — кнопка Power становится обычной кнопкой включения/выключения питания.
                • Enabled - разрешено
                • Disabled - запрещено
                • Enabled - разрешено
                • Disabled - запрещено
                • Enabled - разрешено
                • Disabled - запрещено
                • Enabled - разрешено
                • Disabled - запрещено
                • Enabled - разрешено
                • Disabled - запрещено
                • Everday (ежедневно) — при вводе времени компьютер будет включаться ежедневно в назначенное время. Время вводится в поле Time (hh:mm:ss) Alarm в порядке часы:минуты:секунды либо клавишами PgUp, PgDn, либо непосредственным вводом чисел.
                • By Date (по дате) - компьютер включится в заданный день и в заданное время. При выборе этого параметра появляется поле для ввода времени (такое же, как и для Everyday) и поле для ввода дня месяца Date of Month Alarm — день месяца — в этом поле вводится число в месяце. Это автоматически означает, что запрограммировать включение компьютера можно только внутри одного месяца.
                • Disabled - запрещено

                В следующих секциях BIOS только сообщает характеристики некоторых устройств компьютера. Разрешение параметров в этих секциях позволяет отслеживать BIOS'у эти параметры и сообщать об их выходе за пределы допустимого.

                Секция Voltage Monitor (наблюдение за напряжениями питания). В этой секции индицируются как напряжения питания, подаваемые на материнскую плату источником питания, так и вырабатываемые на материнской плате. Разъяснения эти параметры не требуют, кроме VCORE — это напряжение питания ядра процессора. Это напряжение вырабатывается, как правило, на материнской плате.


                Напомним, что основным компонентом Intel ME является встроенный в чипсет микроконтроллер с кастомной архитектурой. Известна лишь базовая модель, это 32-х разрядный ARCtangent-A4 (ME 1.x — 5.x), ARCtangent-A5 (ME 6.x — 10.x), SPARC (TXE) или x86 (ME 11.x — . ).

                Начиная с 6-й версии, ME-контроллер встраивают во все чипсеты Intel.



                [рисунок взят отсюда]

                Загрузчик его прошивки хранится во внутренней ROM и недоступен для анализа. Сама прошивка располагается в регионе ME во внешней SPI флэш-памяти (т.е. в той же памяти, где хранится BIOS). Структура этой прошивки такова, что весь исполнимый код разбит на модули, которые хранятся в сжатом виде (либо кастомной реализацией алгоритма Хаффмана, либо LZMA). Эти кодовые модули криптографически защищены от модификаций.

                Если есть желание поревёрсить прошивку, рекомендуем воспользоваться этими двумя инструментами для изучения её структуры и распаковки кодовых модулей.

                Итак, рассматриваемая подсистема является аппаратно-программной основой для различных системных функций (некоторые раньше реализовывали в BIOS) и технологий Intel. Их имплементация включается в состав прошивки Intel ME. Одной из таких технологий, использующих несколько особых привилегий Intel ME, является Active Management Technology (AMT).

                AMT – технология удалённого администрирования компьютерных систем, для которых заявлена официальная поддержка Intel vPro (это бренд, объединяющий несколько технологий, в том числе, AMT). Речь идёт о системах с чипсетами линейки Q (например, Q57 или Q170).

                Учитывая высокую стоимость таких платформ, вряд ли кто-то случайно приобретёт компьютер с AMT для того, чтобы принципиально этой технологией не пользоваться. Тем не менее, если под рукой именно такой продукт, и есть необходимость убедиться, что AMT на текущий момент выключена, следует воспользоваться утилитой ACUwizard:



                [рисунок взят отсюда]

                или средством Intel Management and Security Status (входит в состав ПО Intel ME для vPro-платформ, можно обнаружить в трее):



                В продуктах, не относящихся к разряду vPro-платформ AMT включить нельзя, однако в состав прошивки Intel ME входят сетевые драйверы:


                Это означает, что ME-контроллер (не будем забывать, что он всегда включен) имеет техническую возможность использования сетевого интерфейса.

                Поэтому проблему стоит решать основательно – пытаться выключить подсистему Intel ME.

                1. Прошивку Intel ME в бинарном виде;
                2. Модули MEBx для BIOS;
                3. ПО Intel ME для ОС;
                4. Intel System Tool Kit (STK) — комплект программных средств и документации для сборки образов SPI флэш-памяти, применения этих образов и получении информации о текущем состоянии Intel ME.

                Несмотря на то, что этот комплект распространяется по NDA (судя по меткам «Intel Confidential» в прилагаемых документах), многие вендоры забывают его вырезать из архива с ПО Intel ME, который передаётся пользователям. А ещё не закрывают свои ftp-серверы от внешнего доступа. В результате, утекших версий STK очень много. Здесь можно слить комплект для любой версии Intel ME.

                Важно, чтобы major и minor version (первая и вторая цифры) используемого STK совпадала с версией Intel ME целевой системы, информацию о которой можно получить, например, воспользовавшись ME analyzer:


                Проверять текущее состояние Intel ME можно при помощи утилиты MEinfo, которая через Management Engine Interface (MEI) получает информацию о работе этой подсистемы:


                Напомним, что MEI является интерфейсом для связи основного CPU с подсистемой Intel ME и представляет собой набор регистров в конфигурационном пространстве PCI и в MMIO. Команды этого интерфейса не документированы, как и сам протокол.

                Flash Image Tool

                На старых платформах (Intel ME версии 5.x и ниже) выключить данную подсистему можно, воспользовавшись Flash Image Tool (утилита из STK, предназначенная для сборки образов SPI флэш-памяти из отдельно взятых регионов BIOS, ME, GbE). При сборке задаются параметры, которые прописываются в этих регионах и в регионе Flash Descriptors. В последнем есть один очень интересный флаг, «ME disable»:


                Таким образом, для выключения Intel ME на целевой компьютерной системе, в её SPI флэш-память следует записать (программатором) новый образ с выставленным флагом «ME disable».

                Работает ли этот способ, нам неизвестно. Но звучит правдоподобно, учитывая, что ME-контроллер в тех версиях интегрировался только в чипсеты линейки Q, т.е. был не обязательным компонентом для всех платформ.

                Flash Programming Tool

                Начиная с Intel ME 9 версии, в утилиту Flash Programming Tool, предназначенную для программирования SPI флэш-памяти компьютерных платформ, была добавлена возможность временно выключать Intel ME:


                Выключение выполняется отправкой команды в MEI. После отработки Intel ME не подаёт «признаков жизни», не отвечает даже MEI:


                Согласно документации, в таком состоянии подсистема Intel ME находится до следующего запуска компьютера или перезагрузки.

                На vPro-платформах возможность отправки этой команды есть и в более ранних версиях. Для этого необходимо воспользоваться разделом конфигурирования ME/AMT в BIOS, где должна быть опция «Intel ME disable»:



                [рисунок взят отсюда]

                Нельзя говорить о том, что этот способ позволяет полностью отключить Intel ME, хотя бы потому, что до момента принятия команды на отключение ME-контроллер успеет загрузиться, а значит, выполнить некоторую часть кода прошивки.
                Несмотря на то, что Intel ME не подаёт «признаков жизни» после этой операции, неизвестно, может ли эту подсистему заново включить какой-нибудь сигнал извне. Также неясно, насколько Intel ME выключена.

                В интересах исключения возможности исполнения ME-контроллером кода прошивки, логично попробовать ограничить ему доступ к ней. А что? Нет кода – нет проблемы.

                Проанализировав документацию, которая прилагается к STK, и, немного подумав, мы предположили, что это можно сделать следующими способами.


                1. Вырезать (обнулить) ME регион из SPI флэш-памяти.

                Те, кто пробовал так делать сообщают о том, что их платформа либо не загружалась без наличия подлинной прошивки ME, либо выключалась ровно после 30 минут работы.

                Отказ компьютерной системы грузиться без прошивки Intel ME можно объяснить важностью ME-контроллера в процессе инициализации аппаратной составляющей. А 30-минутный таймаут наводит на мысль о WDT (Watch Dog Timer).

                • стереть первые 0x20 байт в ней (таким образом повредив сигнатуру 0x0FF0A55A, которая определяет режим работы флэш-памяти);
                • выставить джампер HDA_SDO (если он есть).

                Таким образом, ME-контроллер не получит доступ к своему региону, и, следовательно, не будет исполнять прошивку.

                С одной стороны, ME-контроллер так же, как и в предыдущем случае, может препятствовать нормальной работе компьютерной системы. С другой стороны, не дескрипторный режим включает т.н. manufacturing mode, который используется вендорами в отладочных целях, и есть шанс, что система запустится.


                3. Известно, что прошивка Intel ME распаковывается в выделенную и скрытую от основного CPU область оперативной памяти – ME UMA. Выделение и блокировку этой области осуществляет BIOS во время конфигурирования карты памяти. Тогда почему бы не вырезать эти фрагменты кода из BIOS, чтобы данная область не выделялась. Тогда прошивка ME не будет распаковываться и исполняться.

                Проведённые эксперименты показали, что такой способ тоже не годится, и система не запускается. К тому же, у ME-контроллера есть внутренняя SRAM, которая используется при недоступности ME UMA. Поэтому часть прошивки всё равно будет исполняться.

                • отключение при каждом старте командой в MEI или отключение флагом в регионе flash descriptors (в зависимости от версии);
                • ограничение доступа ME-контроллеру к своей прошивке либо перевод компьютерный платформы в manufacturing mode.
                • препятствование нормальной работе ME-контроллера не обеспечивая его runtime-памятью.

                Очевидно, что некоторые предложенные решения влекут за собой неработоспособность компьютерной системы, остальные не дают никакой гарантии того, что подсистема Intel ME действительно выключена. В связи с этим, мы пришли к выводу, что полностью выключить Intel ME крайне сложно.

                Вероятно, это связано с тем, что, отключая Intel ME, мы нейтрализуем важный компонент в архитектуре компьютерной системы. Например, без ME некому будет решать важные системные задачи вроде ACPI или ICC (которые когда-то реализовывались в BIOS). Чтобы заставить платформу стабильно работать без ME, как минимум, необходимо вернуть реализацию этих технологий в BIOS.

                Так или иначе, вопрос о том, как отключить Intel ME без потери работоспособности компьютерной системы, остаётся открытым.

                Одно из направлений моей компании — продажа технологических решений в области виртуализации. По долгу службы, приходится делать пилотные проекты или устраивать тестовые стенды. Недавно, компания Citrix выпустила новый продукт под название XenClient XT, который по сути является клиентским гипервизором первого уровня, то есть работает на чистом железе. Основной идеей клиентского гипервизора является создание виртуальных машин на собственном ноутбуке. Где и как это применимо — опустим.

                Все современные процессоры Intel и AMD поддерживают технологию аппаратной виртулизации.
                И так, в моем распоряжении был ноутбук с H77 чипсетом и Intel Core i7-3820QM процессором. Согласно спецификации от производителя, мой процессор поддерживал Intel Virtualization Technology (VT-x) и Intel Virtualization Technology for Directed I/O (VT-d) технологии. Если первая имеется почти на всех новых ноутбуках, то вторая технология встречается только на топовых моделях. Но она дает много преимуществ, как например прямой проброс GDU в виртуальную среду, соответственно клиентская машина получает полную поддержку 3D. Но давайте не будем углубляться в технологии, отличные от тематики данной статьи.

                В моем биосе была возможность включения VT-x, но вот управление технологией VT-d не было предусмотрено изначально.

                В расстроенных чувствах, я стал бродить по разным ресурсам в интернете и наткнулся на два очень интересных ресурса: mydigitallife и bios-mods.

                Оказалось, что большая часть настроек биоса скрыта от обычного пользователя. Причина понятно — не давать пользователям ковыряться в настройках инициализации железа, дабы не создавать очереди у сервисных центров из армии любопытных «бородатых» субъектов с «кирпичами» в руках.

                Первоначальное знакомство с технологией повергло меня в некоторое замешательство. Куча незнакомых мне утилит, новые термины, непонятные трактовки… Я решил не мучиться и написал на обоих ресурсах, что готов заплатить тому, кто мне поможет открыть скрытые от меня меню. Для этого было необходимо покопаться в ассемблерном коде, убрать несколько проверок, прошить патченный биос и у вас полное меню вашего биоса.

                Так я прождал неделю, а заработать никто не захотел… ну или не смог.

                Взяв себя в руки, я решил сам разобраться как этот биос работает и сделать патч самому. Спустя две недели и с помощью русского сообщества IXBT я написал свой первый патч к биосу моего тестового ноутбука. Скрестив пальцы на руках и с замиранием сердца я прошил свой ноутбук…

                Вы помните в лохматые годы мы прошивали свои системные блоки новыми биосами для материнских плат? Тогда на экране красовалась надпись, мол ни в коем случае не выключайте компьютер до окончания прошивания? Были случаи, когда по странному стечению обстоятельств именно в тот момент отключалось электричество… В итоге получали большой не функциональный ящик. Что делалось дальше — история умалчивает.

                Мой ноутбук не включился. Перебои с электричеством с батарейкой ему не страшны. Но вот я что-то сделал не правильно. Душевному расстройству не было предела. К моей большой радости оказалось, что биос имеет функцию recovery и путем нехитрых комбинаций клавиш и заранее подготовленной флешки ноутбук можно оживить.

                Я пошел другим путем: пропатчил те места, которые ну ни как не могли повлиять на функционал биоса, а точнее заменил логотип. Снова прошил и снова получил кирпич. Размышляя и советуясь с опытными дельцами в этом деле мы пришли к выводу, что современные UEFI биосы имеют вторичную проверку на контрольную сумму образа прошивки. Первая проверка происходит когда вы пытаетесь прошить, а вторая когда биос запускается. Если в первом случае я также пропатчил прошивальщик, чтобы он не проверял контрольную сумму, то вторую проверку мне не преодолеть, так как она зашита в самом железе.

                На данный момент имеем следующее: Можно патчить EFI биосы и не можем UEFI. Мой, конечно же, второй случай. Опять долгие поиски в интернете и натыкаюсь на статью Enable VT on InsydeH2O based Sony Vaio laptops, the EFI way.
                Суть метода проста: вы загружаетесь в EFI режим с помощью специального загрузчика и получаете доступ к VSS памяти, где настройки вашего биоса и хранятся. Я протестировал что на моем ноутбуке это работает, снова открыл прекрассный дизассемблер IDA, скачал последние спецификации и в полном вооружении начал потрошить свой биос.

                Успешным результатом двухнедельной работы стало выпотрошенное меню

                Я успешно загрузился в загрузчик с доступом к VSS памяти, прописал нужные мне переменные и включил или выключил чего мне не хватало или мешало в моей работе.

                Ну а теперь о том как это сделать вам.

                Подготовка инструментария

                1. Необходимо скачать PhoenixTool с этого форума, где постоянно выкладывается текущая версия. Он вам будет нужен, чтобы разложить файл прошивки на его составляющие.
                2. Вам нужен perl. Если у вас есть UNIX система, то все просто, если нет, то ActivePerl или Cygwin под Windows.
                3. Вам нужен последний биос от вашего производителя.
                4. Любой архиватор.

                Получение образа прошивки


                1. Откройте архиватором exe файл вашей прошивки, найдите там файл с расширением bin или fd и распакуйте в удобное для вас место. Лучше в отдельную папку.
                2. Запустите PhoenixTool и попробуйте открыть файл прошивки.
                3. Если при попытке открыть вы видите такое окно

                то скорее всего ваш образ от производителя зашифрован. Decrypt метод пока не придумали, но это только дело времени. Если это ваш случай, то переходите к следующему шагу, если нет, то пропускаем и переходим к пункту 8.
                4. Распакуйте программу прошивания в удобную для вас папку и запустите обновление вашего биос до последней версии.
                5. После того как ваш ноутбук перезагрузится, снова зайдите в эту папку и найдите там файл platform.ini
                6. Откройте текстовым редактором и сделайте слеующие изменения:
                Это позволит вам прошить еще раз ваш биос, но при этом будет создана резервная копия текущего биоса.
                7. После перезагрузки откройте полученную резервную копию с помощью PhoenixTool
                8. Через пару секунд вы должны будете увидеть окошко похожее на это:

                9. Теперь можете закрыть окошко.
                10. В папке, где у вас лежал образ появится папка DUMP, а в ней множество файлов. Нас интересует, который начинается на FE3542FE и имеет самый большой размер:

                11. Теперь скачиваем исходный код моего
                Подготовка загрузочной дискеты

                1. Берем флешку, размер не важен.
                2. Форматируем ее в FAT32
                3. Создаем структуру каталогов EFI\Boot
                4. Скачиваем BOOTX64.EFI
                5. Кладем в папку Boot
                6. Перегружаемся в BIOS, включаем Legacy и отключаем Secure Boot.
                7. Сохраняемся и загружаемся через флешку.
                8. После загрузки вы должны увидеть желтый текст на черном экране

                9. К модификации настройки биоса все готово.

                Изменение параметров

                Для изменений используются поля VarStore и Value. Value в логе в десятичном варианте, при изменении необходимо указывать шестнадцатиричное значение.

                1. Допустим вам надо изменить режим работы диска с IDE на AHCI. Кому-то это надо для хакинтошей, а кто-то купил себе твердотельный жесткий диск, а ноутбук его не видит. Ищем в лог файле что что касается сабжа и находим следующие строки:

                Для того чтобы вам изменить настройку, необходимо сперва дать команду setup_var 0x39 .
                Результатом данной команды будет текущее значение данной переменной. Чтобы ее изменить и поставить в AHCI, надо дать команду setup_var 0x39 0x1 . Учтите, что если у вас стоит Windows, то потребуется его переустановка, так как однажды настроенный Windows на IDE не сможет понять, что теперь ему надо работать с AHCI. Как вариант — предварительно загрузившись в безопасный режим подредактировать реестр, тогда переустанавливать ничего не придется.

                2. Например вам надо запретить дискретный видеоадаптер. За этот пункт отвечает следующие строки:
                Команда setup_var 0x1e6 0x0 отключит дискретный и будет работать только встроенный.

                3. Хотим чтобы Numlock не включался
                Команда setup_var 0x08 0x0 отключит его при загрузке.

                Эпилог

                Данное руководство составлено как оно есть и так как я делаю это на практике. Я не несу ответственности за испорченные материнские платы или утерянную информацию. Все что мы можете сделать — вы делаете на свой страх и риск.

                Если что-то пошло не так, то первым спасательным кругом может быть извлечение батарейки биоса для стирания VSS памяти. Если не помогает, то вам нужно искать способ recovery для вашего биоса. В случае HP инструкцию можно посмотреть здесь. Для других вендоров там же, но я не искал.

                Моя тема, где я нет, нет помогаю страждущим находится здесь. Благодарности от пользователей в доказательство тому, что это все работает.

                И последнее, не пытайтесь отключить оборудование, которое у вас имеется или включить то, которого у вас нет, иначе сбой инициализации оборудования приведет к полном краху и невозможности восстановления материнской платы.

                И самое последнее, мой вам совет: прежде чем начинать экспериментировать с оверклокингом и тюнингом биоса, проверьте, что для вашего ноутбука работает способ восстановления биоса в случае его краха. Пока таких случаев не было, но мало ли.

                Читайте также: