Активируем отключенный VT-x

    Написал однажды мне друг с ноутбуком Samsung r60. Процессор в этом ноутбуке поддерживает аппаратную виртуализацию, но по умолчанию она отключена, и пункт включения в биосе отсутствует. Биос — Phoenix. Мы не будем патчить биос, мы будем патчить NVRAM!

    Нам понадобятся:
    • Samsung's FW Modules Extractor
    • Phoenix BIOS Editor
    • SYMCMOS — читалка/писалка cmos
    • NDISASM — дизассемблер x86 кода
    • Загрузочная флешка/дискета с DOS

    Ну что ж, приступим!
    Качаем прошивку с сайта Samsung. Прошивка идет одним .exe файлом вместе с прошивальщиком, нужно достать сам файл прошивки. Для этого воспользуемся Samsung's FW Modules Extractor



    Не все файлы распаковались, но это не важно.

    Открываем прошивку в Phoenix BIOS Editor, сворачиваем его и достаем файлы BIOSCOD*.ROM из папки TEMP Phoenix BIOS Editor'а. Он распаковал нашу прошивку. Копируем файлы в другую папку, закрываем Phoenix BIOS Editor.

    Начинается самое интересное. Дизассемблируем файлы из прошивки, в моем случае их было 7 (0-6):
    $ for i in {0..6}; do ndisasm -a -p intel -b 16 BIOSCOD0$i.ROM > BIOSCOD0$i.dasm; done

    Путем гугления выяснилось, что искать нужно команду mov ecx,0x3a:
    $ grep 'mov ecx,0x3a' *.dasm
    BIOSCOD04.dasm:0000BE99 66B93A000000 mov ecx,0x3a

    Отлично, команда найдена в файле BIOSCOD04.dasm!

    0000BE99 66B93A000000 mov ecx,0x3a
    0000BE9F 0F32 rdmsr
    0000BEA1 668BD8 mov ebx,eax
    0000BEA4 83E305 and bx,byte +0x5
    0000BEA7 B86F06 mov ax,0x66f
    0000BEAA 9A355400F0 call word 0xf000:0x5435
    0000BEAF C1E002 shl ax,0x2
    0000BEB2 40 inc ax
    0000BEB3 38D8 cmp al,bl
    0000BEB5 7432 jz 0xbee9

    Из кода видно, что в регистр ax записывается значение по адресу 0x66f, выполняются сравнения между al и bl, и если оба значения совпадают — прыгаем на адрес 0xbee9 — адрес отключения виртуализации.

    Пришло время SYMCMOS. Создаем загрузочную флешку/дискету, записываем программу на носитель, загружаемся и выполняем
    symcmos -v2 -lNVRAM.TXT
    Теперь у нас есть файл nvram.txt примерного содержания:
    ( SYMBOLIC CMOS EDITOR - Version 643710-035 )

    CRC = 350F
    (0015) [0000]
    (0018) [0001]
    (001B) [0001]
    (0021) [0000]
    (0024) [0001]
    (0027) [0001]
    (002A) [0000]
    (002D) [0001]
    (0030) [0000]
    (0036) [0000]
    (0039) [0000]
    (003F) [0001]
    (0042) [0000]
    ...
    (066F) [0000]
    (0672) [0000]
    (0675) [0000]
    (0678) [0002]
    (067B) [0000]
    (067E) [0000]
    (0681) [0002]

    Видно, что значение параметра, отвечающего за виртуализацию, установлено в 0. Изменим его прямо в этом файле:
    (066F) [0001]
    Опять загрузимся в DOS и выполним:
    symcmos -v2 -uNVRAM.TXT

    Перезагружаемся. Та-дам! Аппаратная виртуализация активирована!

    Интересные ссылки:
    http://tjworld.net/wiki/Sony/Vaio/FE41Z/HackingBiosNvram — программа для активации VT-x без прошивки CMOS для linux
    http://forum.notebookreview.com/acer/465936-acer-laptop-phoenix-bios-enable-virtualization-test-machine-acer-aspire-9420-a.html — С чего все начиналось
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 38
    • +5
      Интересно, а чем Samsung мотивирует отключение этой фичи?
      • 0
        Наверняка тем же что Sony и Asus с Acer'ом :/
        • +1
          А чем мотивируют Sony и Asus с Acer'ом?
        • 0
          Незнаю чем может мотивировать асер, на моём таймлайне всё включено по умолчанию О_о
        • 0
          Как и другие. Иногда есть проблемы совместимости и стабильности.
          • 0
            А можно поподробнее? Проблемы совместимости и стабильности возникают именно на ноутбуках, или на десктопах тоже? Проблема в самой технологии виртуализации? Влияют ли эти проблемы при включенном VT-x на обычные приложения, VT-x не использующие? В чём выражается нестабильность?
          • 0
            Не знаю так ли в этом случае, но производители ноутбуков могут получать наборы логики и процессоры по совершенно разным ценам в зависимости от активированных возможностей. Интел не парится с переналадкой производства для обрезания возможностей, производители ноутбуков получают чипсет и процессор по очень вкусной цене, а пользователь с носом.
          • +12
            Из кода видно, что в регистр ax записывается значение по адресу 0x66f
            Ну, вообще из кода видно, что в регистр просто записывается константа, никакого адреса тут нет. Эт я так, занудничаю :)
            • +1
              sony тоже так балуется с vaio.
              вообще, за такие отключения vt-x и прочих плюшек процессоров, имхо, надо сразу расстреливать.
              • +5
                sony уже давно выпустила для всех ноутбуков* прошивку bios, позволяющую включать VT-x.

                * — возможно, только для всех ноутбуков, поддерживающих windows 7.
              • 0
                Вот бы и на ноутбуках с i5 (у меня samsung r580) можно было так активировать встроенное видео ядро(( А то аппаратно нет никаких отличий с ноутбуками с поддержкой nVidia Optimus, а на деле…
                • +1
                  Ну, тут аппаратные поддержка нужна — куда выводить-то?
                  • 0
                    До Вас я подозревал, что достаточно вставить этот процессор в материнскую плату с правильным чипсетом и по аппаратной части все.
                    • +1
                      Это да, но выводить картинку, физически куда? RAMDAC всякие. Это должно быть на плате разведено.
                      • 0
                        У меня в HTPC установлен Core i3 с графикой, которая выводится на HDMI. Плата и чисет должны поддерживать.
                  • –1
                    У меня acer на i3. Тоже очень хотел бы задействовать встроенную в камень графику.
                    • 0
                      Там не во все камни графика встроена. Сомневаюсь, что в ноут с видеокартой будут ставить еще и камень с графикой. Или они таки это делают?
                      • 0
                        Они таки это делают. Спецификации некоторых моделей (у меня i5-430M). Могу предположить, что как минимум мобильные версии процессоров — все со встроенной графикой.
                        • 0
                          Вы предлогаете выковыривать из процессоров графическое ядро?
                          • 0
                            Где же вы это прочитали? О_о
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • +3
                          Инь? Что она тут делает?
                          • +1
                            Смотрит на мой топик. Думаю, в скором времени можно и Лейн ждать.
                      • 0
                        В моём Lenovo SL500 после замены процессора пункт включения VT-x в БИОС появился самостоятельно.
                        • 0
                          Тут процессор поддерживал, а пункта не было.
                          • 0
                            А вот в Lenovo Y430 процессор поддерживает, а BIOS нет…
                            • 0
                              Та же фигня. У Леново на оф. форуме народ повозмущался-повозмущался и затих.
                              • 0
                                Можно попробовать активировать. Какой биос? Наверняка insyde? Под него уже скрипт на питоне есть.
                                • 0
                                  А какова вероятность неудачи и что может случиться при самом плохом исходе? =)
                                  Просто мне без ноута оставаться никак нельзя.
                                  • 0
                                    Ну, вероятность неудачи всегда есть. Самый плохой исход — кирпич. Иногда встраивают специальные методы восстановления биоса, вроде специальной болванки или флешки.
                                    • 0
                                      Тогда я наверное пока не рискну ;) это основной рабочий ноут.
                          • 0
                            Неплохо было бы в начале статьи написать что такое VT-x. Спасибо
                            • 0
                              Процессор в этом ноутбуке поддерживает аппаратную виртуализацию
                              Здесь написано. Это вроде как распространенное сокращение.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое