как узнать есть slic в bios
SLIC для активации операционной системы на брэндовом компьютере
Многие пользователи, возможно, уже знакомы с такой аббревиатурой, как SLIC, но наверняка не все из них точно представляют, что это такое. В частности, мы тоже упоминали SLIC в одной из статей, посвященных BIOS.
Сначала стоит разобраться, что же означает эта аббревиатура. Это сокращение от термина Software Licensing Description Table, что переводится как «Таблица описаний лицензий программного обеспечения».
Назначение SLIC
SLIC – это сравнительно новая встроенная в BIOS технология, поддержка которой появилась лишь несколько лет назад. Она используется, как правило, для тех компьютеров, которые поставляются с уже установленной на жестком диске операционной системой, например, Microsoft Windows.
Хотя у пользователя такого компьютера имеются в наличии все файлы, необходимые для запуска ОС, для того, чтобы использовать Windows в течение длительного времени, ему необходимо активация своей копии Windows. Для решения этой проблемы и создана таблица SLIC. Все дело в том, что информация, необходимая для активации ОС, содержится в соответствующей записи таблицы, расположенной в BIOS.
Таблица SLIC обычно добавляется в BIOS крупными производителями компьютерного оборудования в целях ускорения процесса активации, а сам процесс активации ПО при помощи информации, занесенной в BIOS, носит название OEM-активации.
Определенная строка таблицы содержит данные, представляющие собой набор символов. Они являются ключом SLIC и идентифицируют компьютер, как подходящий для OEM-активации. Microsoft предоставляет различные 25-значные ключи каждому из производителей компьютеров. Кроме того, ключи, принадлежащие одному производителю компьютеров, могут значительно отличаться друг от друга в зависимости от версии операционной системы, предварительно установленной на компьютере. Кроме ключа Microsoft также предоставляет каждому крупному производителю специальный цифровой сертификат в формате XML.
Предоставление различных ключей для различных производителей и операционных систем позволяет гарантировать, что ключ для ОС Windows подойдет только для определенной модели компьютера. Впрочем, SLIC может использоваться и с другими программными продуктами, не только с Windows.
Введение SLIC, по замыслу разработчиков BIOS, упрощает активацию программного обеспечения тем пользователям, которые не имеют доступа к Интернету, и, соответственно, не могут произвести сетевую активацию программных продуктов. Эта технология впервые была использована в ОС Windows Vista.
Активация Windows и возможные проблемы
Когда пользователь впервые активирует операционную систему на новом компьютере при помощи SLIC, то он должен ввести ключ продукта Microsoft Windows. После того, как эти данные введены, компьютер сравнивает указанный ключ продукта с публичным ключом SLIC, содержащимся в таблице. Если оба ключа совпали, то активация успешно завершается, и вы можете пользоваться вашей версией Windows без ограничений. Если же ключи не совпадают, то активации не происходит.
Существует несколько причин, из-за которых активация при помощи SLIC может закончиться неудачей. Самое простое решение возникшей проблемы может состоять в том, чтобы заново набрать текст в поле. Ведь ключ представляет собой длинную произвольную строку и малейшая ошибка может привести к тому, что активация не удастся. Впрочем, если вы уверены, что ввели ключ правильно, то может оказаться и так, что производитель компьютера просто загрузил неправильную строку в SLIC. Тогда вы должны связаться с производителем и попросить у него правильную версию BIOS для того, чтобы решить проблему.
Если же вы приобрели компьютер у сомнительного продавца, то возможно, ваша версия Windows просто контрафактная. Но не отчаивайтесь – даже в этом случае вы сможете активировать свою версию Windows. Для этого достаточно связаться с поддержкой Microsoft и приобрести у них лицензию на версию операционной системы, установленную на вашем компьютере.
Заключение
SLIC является новой опцией BIOS. Она представляет собой реестр для хранения лицензионной информации и полезна пользователям лицензионного программного обеспечения. Основным ее преимуществом является возможность активации программных продуктов без обязательного подключения к Интернету.
Таблица SLIC 2.1
SLIC – Software Licensing Description Table (Таблица описаний лицензий программного обеспечения)
Определенная строка таблицы содержит данные, представляющие собой набор символов. Они являются ключом SLIC и идентифицируют компьютер, как подходящий для OEM-активации. Microsoft предоставляет различные 25-значные ключи каждому из производителей компьютеров. Кроме того, ключи, принадлежащие одному производителю компьютеров, могут значительно отличаться друг от друга в зависимости от версии операционной системы, предварительно установленной на компьютере. Кроме ключа Microsoft также предоставляет каждому крупному производителю специальный цифровой сертификат в формате XML.
Какие варианты существуют:
SLP (он же SLP 1.0) нужен для активации XP, выглядит как короткое кодовое слово.
SLIC 2.0 (он же SLP 2.0) — активирует Vista/Server 2008
SLIC 2.1 (он же SLP 2.1) — активирует 7/Vista/Server 2008/Server 2008R2
Оба последних содержат 2 части: маркер и RSA1 (публичный ключ)
В целом данная технология предназначена для производителей компьютеров, что бы они могли поставлять свою продукцию с уже установленной и активированной ОС.
Активация Off Line через SLIC трехфакторная:
1. SLIC (имя.bin) => это небольшая табличка в цифровом виде с перечислением оборудования компьютера и цифровой подписью производителя, подтверждающей, что это оборудование лицензионное. SLIC должен быть интегрирован в БИОС компьютера либо изначально, на заводе производителя, либо с помощью специальных утилит, о которых речь ниже. Биос со вставленным туда сликом (не на заводе), называется модифицированным.
2. Файл-сертификат (имя.xrm-ms) => это также цифровая табличка с подтверждением о лицензионности операционной системы. Файл-сертификат выдается индивидуально каждому производителю компьютеров корпорацией Майкрософт для того, чтобы он смог выпускать компьютеры с уже предустановленной туда легальной системой.
Эта табличка должна быть также интегрирована в операционную систему.
От выбранной Вами вида (редакции) операционной системы ни слик, ни сертификат не зависят. Версия SLIC и сертификата зависят от версии операционной системы.
Для большинства производителей файл-сертификат и SLIC версии 2.0 предназначены для Windows 6 (Vista), файл-сертификат и SLIC версии 2.1 — для Windows 7.
3. Ключ OEM:SLP (5 знаков в 5 разрядах вида ххххх-ххххх-…) => это код, с помощью которого система активируется. Зависит от вида (редакции) выбранной операционной системы (максимальная, профессиональная, домашняя расширенная, домашняя базовая, начальная) и от ее версии.
После ввода каждой из команд обязательно дождаться ответа системы!
Все действия выполняются от имени Администратора или отключенном контроле учетных записей UAC!
В результате получаем: «АКТИВАЦИЯ WINDOWS ВЫПОЛНЕНА»
Если хоть одно из 3-х условий не выполнено — активации не будет.
Отсутствие активации при выполнении всех трех условий:
– либо сертификат неправильный (не совпадает со SLIC, скажем, slic=asus, а сертификат=гигабайт)
– либо SLIC некорректно установлен в BIOS (нужна новая прошивка)
– либо редакция Windows не соответствует серийному номеру (например: установили ultimate, а ключ взяли для home basic).
Узнать о наличии таблицы SLIC BIOS можно с помощью Everest
или программы SLIC_ToolKit_V3.2
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Моддинг UEFI BIOS, инкапсуляция SLIC таблицы.
Вкратце поясню, о чем идет речь, что такое SLIC (Software Licensing Description Table) таблица. Таблица SLIC 2.1 нужна для оffline OEM активации Windows 7. Интеграция SLIC-таблицы в BIOS используется для того, чтобы реализовать механизм OEM-активации операционной системы Windows 7 точно так же, как это делают OEM-партнеры Microsoft для активации предустановленных копий Windows без проверки. Данный метод позволяет offline активировать систему при соблюдении трех условий: использование специального OEM-ключа и OEM-сертификата, а также наличие SLIC-таблицы в BIOS компьютера.
Сама по себе процедура прошивки SLIC-таблицы в BIOS вполне законна (Microsoft).
Таблица SLIC 2.1 состоит из трех частей, кроме заголовка (ACPIHeader) она содержит публичный ключ (PublicKey) и маркер версии Windows 7 (WinMarker), размер таблицы 374 байт. Соответствующие таблице серийный номер и сертификат дожны быть прописаны в Windows 7. Все три составляющие и дают оффлайн активацию.
Жесткой привязки OEM-ключа к SLIC-таблице и сертификату нет. Ключ привязан только к редакции Windows и позволяет активировать как x86-, так и x64-версии ОС. Файлы-сертификаты и SLIC-таблицы взаимосвязаны, и для успешной активации оба компонента должны быть от одного OEM-партнера.
Disclaimer of Warranties (отказ от ответственности).
Короткое отступление, обьяснение причины, как я ее понял:
Параметры меню, относящиеся к загрузке системы, у современных UEFI BIOS хранятся в области NVRAM на той же микросхеме BIOS. Возможно установщик WindSLIC при внесении информации о новом загрузчике испортил эту область, давно не обновлялся, что то сделал не так. BIOS перестал понимать как загружаться и плата «окирпичилась», способов обнулить область NVRAM при нестартующем BIOS нет.
Почитав форум по WindSLIC (чего зараннее не почитал. ), узнал что я не первый и не единственный «окирпиченный», пришла пора плату «оживлять»…
Если что-то пошло не так.
Любые манипуляции с BIOS потенциально опасны, после перепрошивки возможно вместо рабочей материнской платы получить «кирпич». Я рекомендую озаботиться этим сразу.
Технология ASUS USB BIOS Flashback.
На некоторых материнских платах с процессорами Intel в составе южного моста присутствует дополнительный контроллер. Он обеспечивает работу технологии удаленного мониторинга, диагностики и управления «Inter vPro» даже в ситуациях, когда компьютер выключен или на нем не работает операционная система (дежурное напряжение должно быть подано). Инженеры ASUS научили этот контроллер еще и обновлять BIOS. На сайте ASUS появление этой технологии обьяснено так:
Покупая набор новых комплектующих, может возникнуть ситуация, что процессор настолько новый, что материнская плата его еще «не знает». Раньше бы для обновления BIOS потребовался бы старый процессор или пришлось бы тратить время на поход в сервисный центр. Но теперь с появлением технологии ASUS USB BIOS Flashback проблема решается гораздо проще.
USB BIOS Flashback – самый простой способ обновления BIOS на материнских платах ASUS. Для обновления теперь достаточно только USB-накопителя с записанным на него файлом BIOS и блока питания. Ни процессор, ни оперативная память и другие комплектующие теперь не нужны.
ASUS CrashFree BIOS 3 utility.
Если ничего не помогло.
На материнских платах ASUS всегда рядом с микросхемой BIOS устанавливается разьем ISP (Internal System Programming). Прошивка ведется аппаратным программатором по протоколу SPI:
Программатор SPI с Ali у меня уже был, но здесь дело осложнилось тем, что микросхема BIOS W25Q128FW питается от 1,8V. Такие раньше программировать не приходилось, пришлось там-же на AliExpress дозаказать преобразователь уровней для него (лучше делать это заранее). У этого же продавца на всякий случай заказал и второй экземпляр того-же самого программатора.
Весь нужный комплект для перепрошивки BIOS программатором выглядит так:
Из самодельного здесь только кабель. Строго говоря его применение вовсе не обязательно, можно использовать отдельные проводочки, но раз я все равно заказывал 1.8V-adapter, одновременно заказал и десяток разьемов IDC2-10 (2мм). К кабелем работать значительно удобнее, да и стабильность и отказоустойчивость такого соединения выше.
Всегда по возможности использую «idiot proof«, или защиту от дурака (и себя в том числе). Расположение первого вывода, чтобы не разглядывать платы и кабель каждый раз, маркировал красной краской. В неиспользуемые IDC гнезда на кабеле забил обрезки заточенных спичек.
Все действия по работе с SPI программатором производятся на обесточенной материнской плате. Именно со снятыми разьемами питания, наличие процессора, ОЗУ и т.д. некритично. Встречал совет вынимать даже батарейку CMOS, но это наверное перебор, я не вынимал.
Нам необходим файл BIOS в бинарном формате, поэтому от файла CAP необходимо отрезать 0x800 байт заголовка и сохранить получившийся файл с расширением ROM или BIN. Отрезать можно и руками в любом HEX редакторе, но возможность допустить ошибку тут все же присутствует, поэтому лучше использовать специализированную утилиту ASUS_BIOS_CAP_to_BIN.
Несмотря на «фирменное» название утилита отношения к программистам ASUS не имеет и написана на основе исходных кодов редактора FD44Editor-0.9.2 от Николая Шлея (aка CodeRush). Ее дополнительным преимуществом является дешифровка оригинального имени BIOS из бут-блока. При конвертации файла PRIME-X370-A-ASUS-4207.CAP утилита определяет его правильное имя PRX370A.
Читаем программатором и сохраняем текущую прошивку BIOS (хоть она и нерабочая, но чтение и сохранение должно стать инстинктом, да и мало ли, сравнить потом тоже интересно). Следующим действием стираем микросхему BIOS. Только теперь можно загрузить в программу-прошивальщик новую версию BIOS и прошивать. Ну а потом вынимаем программатор, отключаем шлейф от программатора (подключение к разьему ISP я оставил, мало ли), при необходимости дособираем материнку и подаем на нее питание. Затаить дыхание, скрестить пальцы (вставте свое по необходимости) и запустить.
У меня материнка запустилась сразу, ругнулась на неверную чексумму и сама вошла в BIOS. Осталось загрузить настройки по умолчанию и выйти, вторая загрузка прошла идеально.
Вот только теперь я добрался наконец до цели статьи, до моддинга UEFI BIOS с целью инкапсуляции SLIC таблицы. Все предыдущее было только преамбулой, довольно длинной, но необходимой.
Внесение таблицы SLIC в BIOS.
Запускаем PhoenixTool, в нем активна одна верхняя строчка Original BIOS. Нажав справа кнопку с двоеточием загружаем BIOS в программу, формат CAP она понимает. Программа начинает анализ BIOS, и раскладку его на модули. В папке с оригинальным BIOS создается папка DUMP, в которой каждый модуль разложен в отдельный файл. Процесс анализа и разборки заносится в файл SLIC.log (очень подробно, размер файла после анализа 184429 байт).
Процесс довольно длительный, в статусном окне в это время высвечивается WORKING.
Новые UEFI BIOS от AMI уже подготовлены к инжекции таблицы OEM SLIC, в этом случае программа в конце разбора предупредит об этом:
Разбирать SLIC таблицу по Hex редактору сложно и требует навыка. Чтобы это упростить была написана утилита парсинга SLIC таблицы SlicView. Вырежем таблицу и сохраним под именем Slic.bin, затем загрузим в SlicView. Справа для примера SLIC таблица ASUS из каталога SLIC21 PhoenixTool. Заголовок:
Поле Modulus публичного ключа фиктивной таблицы содержит одни нули, ключа нет:
Поля OEM ID и OEMTableID маркера версии Windows пустые, поле Signature содержит одни нули, маркера нет:
Простая замена этого фиктивного SLIC на валидный от OEM производителя не проходит, в BIOS ASUS есть код его блокирующий. Программа PhoenixTool позволяет и заменить фиктивный SLIC и разблокировать его.
PhoenixTool, метод Dynamic
Для этого в программе предназначен метод Dynamic. Этот метод используется, если EFI уже содержит SLIC ACPITable (где-то в EFI) или он подготовлен к его инкапсуляции.
Программа сравнивает версию загружаемой SLIC таблицы и ее OEM и OEMTableID, присутствие таблицы в пространстве имен ACPI и соответствие имен с OEM и OEMTableID таблицы RSDT, при необходимости изменяет OEM и OEMTableID таблицы XSDT.
Вернемся к программе PhoenixTool, после анализа BIOS и разборки его на модули стал доступен выпадающий список Manufactured. Здесь надо выбрать производителя материнской платы. Дело в том, что у многих производителей есть свои фишки в плане внесения изменений в стандартный образец BIOS. PhoenixTool о многих знает и учитывает при внесении изменений в BIOS.
Например выбрав производителя ASUS, PhoenixTool использует метод, который разблокирует SLIC путем исправления кода (Блокировка ASUS EFI (тип 1) будет обнаружена в модуле A1902AB9-5394-45F2-857A-12824213EEFB, там же, где и фиктивная SLIC таблица).
Начнется корректировка файла BIOS, ждем, в конец файла SLIC.log программа будет продолжать дописывать операции с BIOS (размер файла после корректировки 557780 байт).
Через некоторое время PhoenixTool сообщит, что таблица SLIC успешно интегрирована в BIOS. Имя модифицированного файла BIOS соответствует имени изначального с добавлением префикса _SLIC и находится там-же.
SLIC performed successfully. BIOS file is C:\Temp\PRIME-X370-A-ASUS-4207_SLIC.CAP
Finished Extracting
LZMA compression method used
EFI / Insyde BIOS
Full SLIC table found in A1902AB9-5394-45F2-857A-12824213EEFB_896.ROM at 18A0
‘SLIC’ string found in B1DA0ADF-4F77-4070-A88E-BFFE1C60529A_2022.ROM at C7F48
OEM/Table IDs identified are:
1. _ASUS_Notebook
Complete SLIC (2.1) (_ASUS_Notebook’ MSFT) (x1)
Т.е программа заменила в BIOS фиктивный SLIC на нормальный, можно приступать к прошивке…
…
Итак BIOS со вшитой таблицей SLIC мы прошили, Для проверки запускаем программу SLIC_ToolKit_V3.2, если таблица SLIC доступна, программа это покажет:
Не тут-то было, программа не нашла SLIC таблицу, чтобы узнать в чем дело переходим на страницу «Advanced»:
Видно, что в разделах XSDT и RSDT присутствует сигнатура SLIC «ASUS_Notebook», но публичный ключ и маркер не доступны, очевидно PhoenixTool на этом BIOS не смог разблокировать код, переносящий их в ACPI таблицу.
PhoenixTool, метод NewModule
Начнется процесс интеграции SLIC таблицы в BIOS, в конце снова увидите репорт типа этого:
SLIC performed successfully. BIOS file is C:\Temp\PRIME-X370-A-ASUS-4207_SLIC.CAP
Finished Extracting
LZMA compression method used
EFI / Insyde BIOS
Full SLIC table found in A1902AB9-5394-45F2-857A-12824213EEFB_900.ROM at 18A0
Pubkey and Marker found in CDFFEBFB-17DC-46BC-9B75-59B861920913_101.ROM at 0
‘SLIC’ string found in B1DA0ADF-4F77-4070-A88E-BFFE1C60529A_2026.ROM at C7F48
OEM/Table IDs identified are:
1. A M I OEMSLIC
2. _ASUS_Notebook
Complete SLIC (2.0) (A M I OEMSLIC ) (x1)
Pubkey and marker (2.1) (_ASUS_Notebook) (x1)
Т.е. фиктивный SLIC остался как и был с идентификатором A M I OEMSLIC, а публичный ключ и маркер с идентификатором _ASUS_Notebook вшиты отдельным EFI модулем.
Прошиваем и запустив SLIC_ToolKit_V3.2 проверяем:
Ну наконец то, программа нашла SLIC таблицу, чтобы узнать подробности переходим на страницу «Advanced»:
Разделы имеют нужный идентификатор и соответствуют друг другу, публичный ключ и маркер также соответствуют идентификатору и доступны системе, SLIC Status — Validated. Теперь Offline активация Windows 7 пройдет успешно.
На этом можно было бы и остановиться, но у меня остался осадок. Дело в том, что в BIOS находится два разных идентификатора, A M I OEMSLIC и _ASUS_Notebook. И хотя первый не используется, люблю что бы все было по феншую и желательно сделать их одинаковыми.
Это несложно, берем BIOS, который мы подготовили методом Dynamic, и накатываем поверх ту же SLIC таблицу методом NewModule. Или иными словами применяем два метода Dynamic и NewModule последовательно к одному и тому же BIOS.
Если загрузить для контроля созданный таким образом файл PRIME-X370-A-ASUS-4207_SLIC.CAP в PhoenixTool, после анализа он сообщит:
Finished Extracting
LZMA compression method used
EFI / Insyde BIOS
Full SLIC table found in A1902AB9-5394-45F2-857A-12824213EEFB_900.ROM at 18A0
Pubkey and Marker found in CDFFEBFB-17DC-46BC-9B75-59B861920913_101.ROM at 0
‘SLIC’ string found in B1DA0ADF-4F77-4070-A88E-BFFE1C60529A_2026.ROM at C7F48
OEM/Table IDs identified are:
1. _ASUS_Notebook
Complete SLIC (2.1) (_ASUS_Notebook’ MSFT) (x1)
Pubkey and marker (2.1) (_ASUS_Notebook) (x1)
В системе такой BIOS ничем не отличается от предыдущего.
Но даже такая SLIC таблица меня не устроила. Дело в том, что SLIC таблица ASUS имеет идентификатор _ASUS_Notebook, а у меня Desktop, никакой не Notebook. Как то странно выглядит процессор ноутбука с 8 ядрами и 16 потоками. Поэтому идентификатор я взял другой, не ноутбучный. Для этого надо всего лишь выбрать SLIC таблицу другого производителя (но Manufactured по прежнему ASUS).
PhoenixTool, метод DMI
Все действия по перепрошивке вариантов моддингового BIOS я производил в помощью программатора SPI. Сначала по необходимости, ну а затем по удобству, грех не воспользоваться уже подключенным и настроенным соединением. Но обычно так не делают, это форс-мажор, обычно пользуются программным флешером, немного о них.
О флешерах из под Windows говорить не буду, считаю ненадежным баловством, хотя вроде и удобно, не пользовался. Не менее удобно использовать встроенный в UEFI BIOS ASUS программный флешер EZFlash 3. Он выполнен как модуль EFI, пользуется всеми преимуществами взаимодействия с другими модулями EFI (поиск и распознавание дисков, работа с файловыми системами). Но есть один минус, этот флешер работает только с форматом САР, выше я уже кратко рассказывал что это такое. Добавлю что в заголовок UEFI Capsule входит зашифрованная цифровая подпись изготовителя с контрольной суммой BIOS. А т.к. при моддинге мы вносим изменения в бинарную прошивку контрольная сумма меняется и цифровая подпись становится недествительной, EZFlash 3 просто откажется прошивать такой BIOS.
Интересная особенность по прошивке BIOS есть у некоторых плат для процессоров Intel и поддержкой технологии Intel vPro, это технология BIOS Flashback. По сути в южный мост встроен аппаратный программатор с програмным флешером управляемым одной кнопкой. Такие платы встречаются не часто, я в руках не держал.
Выход один, преобразовать САР в ВIN (отбросить заголовок UEFI Capsule) и прошить подходящим программным флешером с загрузочной USB флешки. Их много разных для разных операционных и файловых систем, но лучше использовать такой, работоспособность которого неоднократно проверена в инете на вашей серии материнских плат, а еще лучше от самого производителя материнской платы. Для ASUS это Bupdater, рекомендуется в руководстве пользователя материнки, работает из под DOS, выше при описании метода DMI я уже говорил о нем.
Для линуксоидов выбора особого нет (в смысле он им и не особо нужен), это встроенный программный флешер Flashrom. Он имеет поддержку более 200 типов южных мостов, поддержку множества самых разных аппаратных программаторов, входит в репозитории многих популярных сборок Linux. Программа постоянно развивается и обновляется.