Здравствуйте, коллеги!

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



Сразу сделаю отступление — указанный в описании видео метод реанимации в данном случае не помог совершенно никак. Почему — описано ниже.

Предыстория проста: работали себе пользователи на ноуте спокойно, ничего страшного не делали. Система предложила обновиться до 8.1 — согласились. Система начала обновляться, ушла на перезагрузку и на этом всё. Неустранимый BSOD с кодом ошибки «ACPI_BIOS_ERROR». До меня ноутбук уже таскали к местному знатоку, он попробовал всё, что смог навскидку проверить, после чего развел руками и отправил ко мне, потому что в придачу к стабильному BSODу ноутбук категорически отказывался реагировать на горячие клавиши входа в меню UEFI и/или выбора загрузочного устройства. Совсем, абсолютно. При этом и с внешних устройств грузиться даже не пытался, упорно запускаясь с внутреннего винта и разумеется снова уходя в бесконечное кольцо попыток загрузки.



Первое, что я попробовал сделать — разумеется войти в настройки UEFI всеми возможными сочетаниями горячих клавиш. Безрезультатно, само собой. Ладно, чтобы прервать этот порочный круг — отключил винт. При попытке загрузки загрузчик руганулся на отсутствие загрузочных устройств и предложил нажать хоткей для входа в настройки. «Ага», сказал себе я, нажимая хоткей. Но не тут-то было. Ноутбук всё так же не реагировал на горячие клавиши. Лады, попробуем зайти с другой стороны. Подключил к ноутбуку со снятым винтом внешний накопитель со смонтированным в эмуляторе оптического привода оригинальным образом Windows 8. Запуск — пошла загрузка с образа. Отлично. В меню загрузки через расширенные настройки режима восстановления выбрал изменение настроек встроенного ПО UEFI и после перезагрузки наконец попал в меню. А вот дальнейшее меня несколько озадачило:

Сброс настроек на настройки по умолчанию ничего не дал. Запустить родной режим восстановения ОС из образа со служебного раздела винта не позволила неработоспособность хоткеев. Попытки выставить приоритет загрузки так, чтобы загрузочным устройством был не основной накопитель, а внешний оказались безрезультатными — устройство упорот упорно отказывалось сохранять настройки загрузки. Заданный приоритет просто не сохранялся в настройках, устройство все равно пыталось загрузиться с внутреннего накопителя, если он был подключен, что сильно осложняло дело. В конце концов, получилось сделать следующим образом — запустившись с внешнего накопителя, подключить обратно внутренний (отдельная благодарность разрабочикам стандарта SATA за безболезненное «горячее» подключение). И вот тут пришла отдельная порция сюрпризов. При попытке загрузиться в режим восстановления с внешнего накопителя (с оригинальным образом Windows 8) ноутбук снова вылетал в тот же самый BSOD. При попытке запустить установку Windows с образа — аналогично после первой перезагрузки тот же BSOD. На этом этапе стало совершенно ясно, что дело тут однозначно не в Windows, а скорее во встроенном ПО UEFI. Нашел документацию на этот ноутбук, выяснил как сделать очистку CMOS замыканием пинов на матплате ноутбука — попробовал, эффекта не дало. Осталось только одно решение — попытаться обновить прошивку бука. Однако как это сделать, при невозможности ни под каким соусом запустить на ноутбуке родную ОС? После небольшого числа экспериментов решение было найдено — ситуацию спас пиратский LiveCD Windows 7 — нашлась вполне работоспособная полнофункциональная сборка, которая безболезненно загрузилась с внешнего накопителя и дала возможность уже что-то сделать из работоспособной системы. Дальнейшее было уже делом техники — установить драйвер WiFi-адаптера, подключиться к сети, скачать родную утилиту производителя ноутбука для обновления микропрограмм оборудования и вот, наконец пошло обновление прошивки. Перезагрузка и woila — заработали хоткеи, а после подключения назад родного накопителя ноутбука и Windows вышла из бесконечного цикла перезагрузок и нормально продолжила обновление до 8.1, после чего совершенно штатно заработала.

После такого зубодробильного восстановления захотелось поинтересоваться, а что же это вообще такое, и в чем причина такого поведения. После непродолжительного гугления оказалось, что подобной проблемой страдают очень многие ноутбуки как того же производителя, так и других, а корень проблемы — недоработки в их ПО UEFI, из-за которых garbage collector UEFI не чистил NVRAM, сбросить который можно только при обновлении прошивки встроенного ПО. По ссылкам можно прочесть подробное описание сути проблемы.

ОС на эти ноутбуки устанавливается простым раскатыванием образов сразу на HDD, поэтому сразу после запуска систем на свежем ноутбуке с завода оказывается в работоспособном состоянии. Но первая же попытка обновить систему до 8.1 или просто переустановить родную 8-ку или сделать аварийное восстановление системы триггерит возникновение этого бесконечного кольца загрузки. В дальнейшем же эта проблема может быть исправлена либо так, как я описал выше, либо обращением в сервис. От себя же лично посылаю лучи неудержимого поноса проектировщикам UEFI ПО отдельных фирм-производителей и их службам контроля качества. С таким их отношением ноутбуки чем дальше, тем больше превращаются в необслуживаемые одноразовые устройства, с примерным сроком эксплуатации в полгода-год.

Комментарии (81)


  1. darkrain
    07.04.2015 16:50
    +2

    Вы наверное не пользовались линуксом в начале двухтысячных, слишком остро реагируете на такую мелкую проблему


    1. KamikaZze_ru Автор
      07.04.2015 16:53
      +31

      Пользовался. Разница тут в том, я не припомню такого, чтобы устройство самостоятельно превращало себя в кирпич просто при попытке обновить ОС. Именно не то, чтобы ОС разрушалась — это фигня, недостойная упоминания. Максимум тут грозит переустановка. Тут же само устройство далее неработоспособно, совершенно и полностью. Обычный пользователь с этой проблемой не разберется никак, при этом проблема скрыта и никак себя не проявляет. После возникновения проблемы ОС установить на устройство невозможно физически, кстати как Win, так и Linux свежий на него уже не установятся до устранения проблемы с nvram. Более всего напоминает бомбу замедленного действия. Вообще говоря, это безобразие.


      1. darkrain
        07.04.2015 19:03
        +10

        Ага, у вас хоть интернет сейчас есть))) мне приходилось самому дописывать драйвера для сетевой карты чтобы поиграть по сетке с другом на самописном бомбермене и тогда не было даже диалапа( только ты, твой комп, пару книг по С и ядру линукс. Я размышлял по целому дню что я делаю не так, потом записывал нужные мне вопросы в тетрадку и ходил к мамке на работу где доступно было только 30 минут диалапа чтобы погуглить


        1. darkrain
          07.04.2015 19:05
          +11

          Я это к тому что после всего такого не особо вообще реагирую на такие проблемы. Я по-моему даже по жизни стал спокойный как слон


          1. KamikaZze_ru Автор
            07.04.2015 21:35
            +4

            Ого, суровое детство, игрушки прибитые к полу :) После такого-то конечно уже практически любые проблемы — не проблемы. Собственно вопрос возникает — а почему тогда был Linux исходно? С ним без доступа к коммунити тогда ну очень несладко было. Любопытство или необходимость?


            1. dunmaksim
              08.04.2015 14:54
              +1

              С ним и сейчас тоже проблемы. Debian на Fake-RAID смог поставить, только прочитав багрепорт от 2013 года с начала и до конца (проблема присутствует до сих пор, кстати).


              1. ekungurov
                21.04.2015 12:26

                Странная логика… Есть какая-то проблема, и на неё даже есть багрепорт с работающим workaround. Вы это называете плохим комьюнити?


                1. dunmaksim
                  21.04.2015 14:10

                  Что же тут странного?
                  > найдена проблема
                  > найдено решение проблемы
                  > ментейнер не вносит правки в пакет уже третий год


            1. darkrain
              12.04.2015 21:23
              +1

              Просто книгу по ядру линукса подарил один красноглазый друг, он тогда в школе всем мозги промывал со своим линуксом, я пошел, взял у него же ред хат, не помню пятый или четвертый, помню только то что я все данные затер нафиг случайно на своем 60 гиговом харде. Ну играть на моем компе уже невозможно было из за бума новомодных игр и невероятным требованиям к железу, поэтому игрался с операционной системой, в итоге с 2002 года линуксом и пользуюсь. Развлекал меня тогда вместо интернета журнал хакер, на который я копил каждый месяц, откладывая по 50 тг в день(я в казахстане живу) те что мне мама на еду давала, и в конце месяца покупал. Журналу кстати огромное спасибо, у меня до сих пор лежит эта огромная стопка журналов, от которой у меня кстати полка в шкафу не выдержала


    1. KivApple
      08.04.2015 10:42
      +2

      Любая программная проблема с любой ОС может быть решена полной переустановкой. Если человек смог поставить Linux, то и переустановить его он сможет. Починить существующую — может быть и нет, но переустановить точно, потому что эти действия он уже когда-то успешно делал. А в случае краха UEFI переустановить его проблематично — требуется специальное оборудование, которого для каких-то брендов может не быть в продаже в принципе.


  1. AsGreyWolf
    07.04.2015 19:10
    +5

    Все проблемы от сборщиков мусора


  1. noxwell
    07.04.2015 19:55
    +3

    Вам еще повезло, что система осталась частично работоспособна. На моем ноутбуке (ASUS) при определенном стечении обстоятельств портится NVRAM так, что ноутубук вообще не включается. Я не единственный с такой проблемой, это глюк UEFI, лечится (точнее восстанавливается работоспособность, проблема не исчезает) либо заменой материнской платы по гарантии, либо пересадкой прошивки программатором с донора (как я и сделал). Прошивка не обновляется производителем совсем, а версия на оффсайте не пригодна для заливки в чип. И никого это не волнует, слишком маленький процент пострадавших…
    Было бы хорошо иметь на чипе незатираемый сектор восстановления, тогда проблема легко решается штатными средствами. Но тогда придется устанавливать более емкие, а следовательно более дорогие чипы…


    1. CodeRush
      07.04.2015 20:42
      +7

      Емкости, зачастую, хватило бы и так, тут не хватает мотивации одним и умения другим.
      Дело в том, что PC firmware (BIOS или UEFI — не важно) разрабатывался и разрабатывается по следующей схеме:
      CPU Vendor -> BIOS Vendor -> System Vendor. Разработчик процессора (в нашем UEFI'шном случае это Intel, AMD или ARM) пишет код низкоуровневой инициализации поставляемых им компонентов — процессора, чипсета, контролера памяти, контролера PCI(e), контролера USB и т.п. и предоставляет этот «скелет» разработчику платформы (обычно таких разработчиков называют IBV aka Independent BIOS Vendor, самые известные — AMI, Phoenix, Insyde). Затем IBV наращивает на «скелете» разного рода «мясо» (т.е. фичи вроде CSM, BIOS Setup, загрузчик, ACPI, и т.д.) и предоставляет так называемый full-featured reference platform BIOS, работающий на референсной же плате от разработчика процессора, называемой CRB aka Customer Reference Board. Затем производители железа вроде ASUS и Gigabyte покупают вот эту самую CRB у производителя CPU и вот этот самый BIOS у IBV и адаптируют и то, и другое под свои условия, добавляя драйверы для собственных устройств, свой AML-код и свои картинки на фон в BIOS Setup.
      В результате получается, что производитель CPU отвечает только за свои собственные низкоуровневые компоненты и ему вообще не важно, как устроен NVRAM, если ли баги в работе с ним или нет и где он физически находится. Код инициализации либо не использует NVRAM вообще, либо использует только для чтения/записи временных (non-volatile) или мелких, доступных только коду UEFI, BS-переменных, и если БИОС дошел до загрузки ОС вообще, то эта часть кода работы с NVRAM отлажена и функционирует нормально.
      IVB тоже не слишком важно, что там устроено и как, их задача — выкатить работающий референсный BIOS. Никто его толком не тестирует, и многого от него тоже никто не ждет, т.к. CRB сама по себе работает нестабильно и нагрузочного тестирования на ней никто не проводит — это задача конечного вендора. Часть кода берется из TianoCore, часть дописыватся тут же, часть наскивается из других похожих проектов, в итоге получается лоскутное одеяло, которое криво-косо, но работает на CRB, а больше от него ничего и не надо — вендоры сами разбируться, это их работа.
      Конечный же вендор стремится минимизировать издержки и ускорить выход продукта на рынок, а потому вообще не лезет в код, написаный на предыдущих этапах, если этот код хоть как-то работает, у него хватает проблем с адаптацией тех кусков кода, которые работать упрямо отказываются, а должны еще вчера. В результате такого подхода куча решений из серии «это костыль, уберем в следующем коммите» и «работает и хай так» не только оказываются в продакшене, но и живут там до самой смерти платы. Архитектуру менять некому и некогда, т.к. никто в дополнительной работе без каких-либо дивидендов не заинтересован.


      1. KamikaZze_ru Автор
        07.04.2015 21:40
        +3

        А вот от этого совсем поплохело. Что-то я чувствую, что скоро буду с ностальгией вспоминать старые добрые кондовые BIOSы без UEFI как такового. И да, спасибо за информацию, теперь понятно откуда такая свистопляска вообще.


        1. AllexIn
          08.04.2015 10:37
          +2

          Честно говоря, мысль о том, что хочется старый добрый BIOS появилась с первым же опытом общения с UEFI. ПРи том что UEFI прекрасно работает на моих платах(тьфу-тьфу-тьфу) и он нагляднее и удобнее BIOS'a… Но вот это чувство, что в нем ради свистелк и перделок забивают на качество было… После прочтения стать и комментариев это чувство стало обоснованным.


      1. vaslobas
        08.04.2015 03:54
        +1

        Стоит сказать, что спеки по ACPI никто не просто не придерживается, а похоже просто не читали.


        1. CodeRush
          08.04.2015 08:29
          +4

          Стоит добавить, что спеку писали законченые наркоманы, а людей, которые могут правильно писать на AML без ошибок, можно по пальцам пересчитать. Более того, примерно 80% AML-кода пишется производителем CPU (которому плевать на warning'и), еще по 10% — IVB и конечным вендором (и будь они хоть кем, их код — капля в море). Да и если большая часть современных ОС на недоработки ACPI все равно плевать хотела (а серьезно пользуется им только OSX), то и отношение к технологии — соответствующее. Пока оно работает хоть как-то — никто ничего трогать не будет, работы хватает и без этого.


          1. JerleShannara
            08.04.2015 13:45

            ACPI это наихудший стандарт, который я читал. Понять ЭТО чЮдо по моему нереально.


            1. CodeRush
              08.04.2015 15:14

              Можно, если очень стараться и все остальное уже и так работает. Многие пользователи Хакинтоша отлаживают свои DSDT и SSDT самостоятельно до состояния Errors 0, Warnings 0, Remarks 0, Info 0, не имея при этом документации, но это все отнимает кучу времени и будет сломано следующим апдейтом БИОСа, а потому разработчикам просто некогда разбираться с ошибками ACPI. Работает — и ладно.


              1. vaslobas
                08.04.2015 15:52
                +1

                Этот человек я. И спеки я изучал очень долго. Там такой талмуд как война и мир просто. Но осилить можно.


                1. stychos
                  08.04.2015 20:51
                  +1

                  Я свои DSDT-SSDT таки довёл до E0W0R0I0, но спеки не читал, горе мне)
                  В остальном Вы правы, только, на мой взгляд, забыли упомянуть, что и талмуд там не один (желательно знать и 4.0, и 5.0), и огромная Errata и там и там. Ну и куча рассыпухи по 500-600 листов при желании найдётся.


                  1. vaslobas
                    09.04.2015 04:30

                    Я и порезал кучу кода. Т.е. я стремился к минимальному количества кода.
                    Ориентировался на последнию версию и всё было ок.


          1. danfe
            08.04.2015 15:54
            +1

            Пишут, скорее, все-таки на ASL (ACPI Source Language), AML (ACPI Machine Language) — это уже байткод.


            1. CodeRush
              08.04.2015 15:57
              +2

              Вы правы, а я что-то уже путаю буквы, то AML вместо ASL, то IVB вместо IBV… Пора в отпуск, наверное.


    1. KamikaZze_ru Автор
      07.04.2015 21:36

      Ого, ничего себе. Вот уроды, а. На такое вообще никаких цензурных эпитетов не остается. А какая конкретная модель ноута, если не секрет? Можно в личку, чтобы если такой принесут, знать прикуп заранее.


      1. merhalak
        07.04.2015 23:07
        +1

        Этой ошибке подвержены наверно все ветки Samsung'ов.

        В моём случае — ломались:
        Samsung ATIV 7 (7 серия) Samsung NP300 (3 серия)

        В первом случае — отец купил ультрабук мне на учёбу, шаловливые ручки повредили раздел /boot и ноутбук также ушёл в циклическую загрузку. Попытка самостоятельно починить ноутбук провалилась на корню, когда я попытался его вскрыть — слишком много мелких и хрупких защёлок, решил не рисковать, отнести в сервисный — 2к на ремонт.

        Во втором случае (руки не оттуда растут) — загрузка с Live CD не удалась, снял винчестер, сменил его на винчестер из внешнего бокса, смог загрузиться в LiveCD, использовал efibootmgr, удалил лишний загрузочный пункт, проблема ушла. Правда затем решил обновить firmware у ноутбука — лучше бы я этого не делал — в новом firmware нет возможности загрузки с флешки. Я был в шоке. Пришлось пользоваться только дисководом.


        1. danfe
          08.04.2015 10:15
          +1

          Правда затем решил обновить firmware у ноутбука [...] в новом firmware нет возможности загрузки с флешки.
          То есть они (производитель) прям вот честно в changelog'е написали, что, мол, мы считаем, что с флешки грузиться — от лукавого, и убрали эту возможность? Это ведь уже даже не просто мелкое вредительство, это имхо вообще за гранью добра и зла.

          Вообще, конечно, новое железо ужасно расстраивает. Казалось бы, есть холодные, быстрые процы на рынке, приличные матрицы, ёмкие винты, кучу памяти можно воткнуть, но вот найти хороший, годный готовый ноутбук при этом становится с каждым годом все сложнее. А «на коленке» изготовить плату, чтобы засунуть ее в какой-нибудь старый корпус, не получится. :-(


          1. HoverHell
            08.04.2015 12:22

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


  1. CodeRush
    07.04.2015 20:08
    +5

    Все проблемы от того, что опять смешали код и данные.
    NVRAM не место в той же микросхеме, в которой находится исполняемый код, и важнейшим системным приложениям вроде BIOS Setup и BIOS Update не место среди переменных BootXXXX. Неработоспособность их вызвана тем, что в реализациях Phoenix SCT и Insyde H2O все функции, вызываемые с POST-экрана горячими клавишами — всего лишь очередные «загрузочные устройства», прописанные в NVRAM, и потому при нарушении работы NVRAM они тоже перестают работать. Этому багу почти 5 лет и на некоторых новых ноутбуках он по прежнему присуствует. И повезло еще, что хоть что-то загрузочное осталось, иногда бывает так, что какой-нибудь efibootmgr сносит вообще все переменные BootXXXX, и система после перезагрузки показывает только черный экран.
    Самая правильная реализация работы с NVRAM в данный момент у AMI. У них отдельно хранится слепок настроек по умолчанию, которые будут скопированны поверх NVRAM в случае, если с ним случилось что-то непоправимое, а системные функции вроде BIOS Setup вызываются из приложения, которое стартует всегда и запуск которого не зависит от состояния NVRAM вообще.
    Тем не менее, сама идея NVRAM на той же микросхеме, что и исполняемый код — порочна по сути. Постараюсь в одном из проектов вместо установки одного чипа на 16 мб поставить два по 8 и на первый перенести все регионы, запись в которые нужна при работе системы (GbE, ME, NVRAM), а на вторую записать прошивку и защитить весь чип от записи переключателем SPI_WP. Нужно обновлять прошивку — выключил защиту, обновил из BIOS Setup, включил назад. И никаких танцев с криптографией и защитой пользователя от самого себя. Да, это больше работы по адаптации, но овчинка стоит выделки, на мой взгляд.


    1. KamikaZze_ru Автор
      07.04.2015 21:45
      +1

      Ей-богу стоит, хотя бы с точки зрения бесперебойности работы и легкого восстановления после сбоев. Эти вот танцы с бубном с технологией, которая должна была по идее заменить удобно «старый, немасштабируемый и небезопасный» BIOS вызывают у меня легкую оторопь, я честно говоря никогда себе не представлял устройство, которое само себе способно запороть микропрограмму, просто так вот, в процессе вполне штатной, обычной работы. Чем дальше, тем больше создается впечатление, что вся концепция UEFI — flawed by design.


      1. CodeRush
        07.04.2015 22:12
        +4

        Концепция там нормальная, как раз, но как всегда, «гладко было на бумаге».
        BIOS изнутри устроен еще хуже, и под занавес его разработка стала настолько сложной и дорогой, а требования настолько противоречивыми, что без UEFI (а другого стандарта такого уровня просто не было) все равно было не обойтись.
        Проблема там в основном в том, что внедрение UEFI и PI (Platform Interface, стандарт нижнего уровня прошивки) упростило разработку компонентов прошивки примерно на порядок засчет перехода с ассемблера на С и использования стандартных компиляторов/сборщиков/отладчиков/утилит вместо специализированных. А это, в свою очередь, резко упростило и удешевило добавление в прошивку компонентов, которые раньше пихать туда было дорого и велик был риск не вылезти из отладки. В результате имеем половину OpenSSL в составе CryptoPkg, половину сетевого стека из FreeBSD в составе NetworkPkg, поддержку PNG и OpenGL в BIOS Setup и прочий цирк с конями. А т.к. цирк и кони хорошо продаются простому пользователю, то все силы IBV и конечные вендоры бросили именно на них, в итоге фичи уже не влезают в 16 Мб флеша, а баги висят незакрытыми годами. Хуже всего еще и то, что про безопасность задумались более или менее серьезно только в этом году, и до сих пор 95% процентов прошивок — решето такое, что можно вермишель просеивать, но про это я не имею права рассказывать, читайте сами вот тут.


        1. KamikaZze_ru Автор
          07.04.2015 22:18

          mother_of_god.jpg
          Мда, это ж можно ваять такие вири, что Win.CIH печально известный покажется безобидным порнобаннером. А хуже всего то, что все эти дыры принципиально не закрываются на старом оборудовании, производители же концентрируются на выпуске нового. Плохо. Всё очень плохо.


          1. CodeRush
            07.04.2015 22:35
            +5

            Можно, и уже ваяют. Я пока не слышал об успешных атаках, устроенных вредоносным кодом, но это вовсе не означает, что их не было или не будет. Обязательно будут. В данный момент безопасность прошивок большинства находящихся на рынке машин — околонулевая, а некоторые вендоры до сих пор позволяют прошивать любые образы БИОСа без валидации прямо из ОС (привет Asrock и EVGA), а это даже не дыра в безопасности — это просто открытая дверь для кода, который хочет добавить себя в БИОС. По моей скромной оценке, примерно на 98% ПК с UEFI на данный момент существует минимум одна незакрытая уязвимость, позволяющая добавить свой код в БИОС и получить управление до загрузки ОС. Остальные два — системы с включенным BootGuard, на которых вместо этого получится DoS, т.е. после прошивки система просто перестанет рабоать.
            «Please, please, please, go apply patches!» Xeno Kovah @ CanSecWest2015


            1. KamikaZze_ru Автор
              07.04.2015 22:47

              А вот теперь мне холодно и страшно (с). Это ведь в итоге мне всё это потащат в ремонт. Чувствую пора обзаводиться программатором. Нет, я конечно люто признателен производителям за то, что я точно без работы не останусь с таким подходом, и будет мне и хлеб, и масло с икрой на него, но вся моя натура инженера-системотехника искренне протестует против такого безобразного подхода к созданию оборудования. Кстати, а вот эта проблема с nvram — я ведь, насколько понимаю прошивкой не устранил проблему совсем, а просто в процессе прошивки nvram зачистился, верно? Соответственно у юзера все так же сохранилась возможность вновь наступить на грабли при обновлении системы. А значит уже очень скоро, сразу после выхода Win 10, которая будет лицензионно-бесплатная для всех лицензионных пользователей Win 7/8/8.1, мне валом понесут ноутбуки (а может даже и стационарные системники) с той же самой сабжевой проблемой. Ибо шанса обновиться нахаляву на 10-ку мало кто из пользователей упустит.


              1. CodeRush
                07.04.2015 23:04
                +3

                Именно так, проблема никуда не делась, и скорее всего никуда уже не денется. Жизненный цикл продуктов для массовго рынка — полгода, потом к ним перестают выпускать обновления, ведь нужно разработывать новое поколение продуктов, у которых еще больше фич и еще короче время выхода на рынок. Большая часть ИТ (как и всей остальной индустрии) — пример широко известной в узких кругах экономики говна, исключений там два с половиной и все они работают на индустрию, а не на конечного пользователя.
                Системники не понесут, там AMI Aptio, который от разваливания NVRAM намертво не ломается (ну подумаешь настройки перестают сохранятся, но в них все равно ведь никто не лезет...), а вот ноутбуки — еще как, так что без хорошего программатора (рекомендую Dediprog SF-600, но можно взять и MiniPro TL866A, он подешевле) восстаналивать эту гору ноутбуков будет весьма непросто.


                1. KamikaZze_ru Автор
                  07.04.2015 23:10

                  За совет по программатору отдельное спасибо. MiniPro TL866A как минимум надо точно взять будет.


                  1. Odinokij_Kot
                    08.04.2015 08:03
                    +1

                    Хехе =) а я совсем обленился что-то. Последнее время паять стало совсем лень, по этому заказал у китайцев клипсу на so8 корпуса. А шить как и раньше буду своим любимым beeprog+


                    1. KamikaZze_ru Автор
                      08.04.2015 08:27

                      А что за клипса? Я так понимаю, позволяет подцепиться к чипу прямо на плате? Дайте ссылочку поглядеть на продукт.


                      1. CodeRush
                        08.04.2015 08:37
                        +3

                        Так называемая SOIC Test Clip, хорошие делают Pomona и 3M, китайские, к сожалению, быстро выходят из строя.


                        1. Odinokij_Kot
                          08.04.2015 11:59

                          О спасибо за совет. У меня объёмы небольшие, попробую пока китайца, коли уже заказл. Если сломается уже Промоной обзаведусь.


                      1. Odinokij_Kot
                        08.04.2015 11:58
                        +3

                        Что-то типа такого. www.aliexpress.com/item/Free-Shipping-Hot-BIOS-24-25-93-Programmer-SOIC8-SOP8-Flash-Chip-IC-Test-Clips-Socket/32291521087.html
                        Но для её использования программатор должен адекватно отрабатывать наличие хостового питания.
                        Сейчас я подчепляюсь мелкими крокодильчиками к ногам, в прогамматоре выбираю режим работы ISP (типа внутрисхемный отладчик\прошивальщик), и шью прошивку на ноутах прямо на «горячую», отправив их в сон, либо просто включив и дождавшись устойчивого чёрного экрана.
                        Теперь вот хочу попробовать клипсу, а то делать ктулху их крокодилов или паять чипы на каких-нибудь макбуках совсем не хочется.


                  1. JerleShannara
                    08.04.2015 13:51
                    +1

                    Ещё хорошая рабочая лошадка sofitech sp8 и прочие.


            1. KamikaZze_ru Автор
              07.04.2015 22:55
              +1

              Кстати, к вам, как к разработчику отдельная просьба — если вам удастся реализовать вашу схему, с двумя чипами, на одном из которых защищенная от записи основная часть прошивки, а на втором — служебные области, доступные для записи, постарайтесь ещё вот что сделать — если это возможно, добавьте ещё один служебный микропереключатель на плату, при нажатии которого содержимое микросхемы со служебными данными будет полностью перезаписываться чистой эталонной прошивкой. На всякий случай, для удобного аппаратного решения любых потенциальных сабжевых проблем.


              1. CodeRush
                07.04.2015 23:10
                +1

                Хорошая идея, нажал кнопку — через 30 секунд получил работающую прошивку. Попробую реализовать в одном из следующих проектов, разводка которого еще не закончена.


                1. KamikaZze_ru Автор
                  07.04.2015 23:13
                  +1

                  Именно так. Вкупе с защищенной от записи основной частью прошивки система получится просто неубиваемая. Сервисные инженеры будут бешено признательны за такое аппаратное решение.


                  1. stychos
                    08.04.2015 21:46

                    Ещё бы, можно просто ткнуть кнопочку а бабла с клиента взять со словами «перепрошивка — это долго и нудно!»


                    1. KamikaZze_ru Автор
                      09.04.2015 15:38

                      Не, тут не знаю как кто, а я обычно придерживаюсь профессиональной корректности. В случае описанном в посте подобная процедура обойдется клиенту в пару тысяч рублей, а в случае, если бы было все так просто, с нажатием одной кнопочки — взял бы максимум 200-300, при этом клиент бы через 10 минут после обращения уже бы забрал живой ноутбук.


                      1. stychos
                        09.04.2015 15:39

                        Увы, честных мало. И одно дело, частные профессионалы, которые соблюдают корректности, и совсем другое — так называемые «сервис-центры», сам в таком работал, это печальная история.


                        1. KamikaZze_ru Автор
                          09.04.2015 15:40

                          О да, «сервис-центры» те ещё рвачи. Мало того, что могут мурыжить несколько недель, так ещё и в итоге вернуть нерабочее устройство.


  1. Lonsdaleite
    07.04.2015 22:02
    +1

    А я всегда при настройке компа первым делом обновляю BIOS/UEFi, дабы избежать различных глюков.


    1. KamikaZze_ru Автор
      07.04.2015 22:04

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


    1. stychos
      08.04.2015 21:47

      Я так себе роутер обновил, что еле заставил его потом более-менее сносно работать.


  1. chabapok
    07.04.2015 23:45

    Значит, uefi еще слишком молодая технология. Когда-нибудь ее дообкатают и таких глюков больше не будет.


    1. KamikaZze_ru Автор
      07.04.2015 23:46
      +1

      Будем надеяться. Хотя надежды на это особой нет, почитайте что тут в обсуждении CodeRush рассказал.


      1. CodeRush
        07.04.2015 23:54
        +2

        Несмотря на вот это все — надежда есть и дело понемногу двигается с мертвой точки. Технологию обязательно обкатают, и лет через 5 у нас будут хорошие и защищенные UEFI-совместимые прошивки, а пока мы имеем то, что имеем, и пытаемся если не совсем избежать удара граблями, то хотя бы надеть каску и приготовить бинты.


    1. DrPass
      08.04.2015 10:11
      -1

      Может быть, я чего-то не понимаю, но я вообще не вижу смысла внедрения UEFI. Да, BIOS был 16-разрядным. Ну и что? От 64-битности firmware компьютер как-то иначе стал включаться? Или разве в обычном BIOS нельзя реализовать поддержку GPT? Сделано значительное усложнение системы, которое практически не принесло полезного функционала, зато добавило массу новых точек отказа.


      1. ntfs1984
        08.04.2015 10:40
        -1

        Смысл внедрения UEFI есть тогда, когда какая-нибудь очень нехорошая корпорация, хочет увеличить продажи своей ОС нечестными способами. Например подговорив вендоров сделать невозможной загрузку альтернативных ОС.

        Ну и плюс ко всему, я немного параноик, и думаю что все эти баги с UEFI и прочими прошивками для SSD — не особо хотят быть пофиксенными по вполне понятным причинам: вы купили материнскую плату? когда вы ее обновите? когда выйдет новый Photoshop CS 100500, который работает только под Windows-2020SexEdition, которая будет требовать новый 128-битный CPU и террабайт мозгов? А компании все это время кушать-то хочется, вот и пытаются заставить пользователя чаще апгрейдиться, производя высеры типа «1 картридж по цене 95% от нового принтера».

        Или BIOS\UEFI — это очень сложная ОС для ограниченных ресурсов? Тут блин космические аппараты за хреналионы километров прошивают…

        Как-то так…


        1. chabapok
          08.04.2015 10:50

          Если будет невозможно просто взять и прописать бут-сектор — люди сделают груб, у которого stageN ставится в ntfs, и все перехватывает.


          1. KivApple
            08.04.2015 11:35

            А как же Secure boot, который должен не дать загрузить ничего ядерного, что не прошло одобрение? В таком случае поможет только эксплуатация уязвимостей ядра и UEFI типа jailbreak для iOS, но это не очень хорошо.


      1. chabapok
        08.04.2015 10:43

        Ну любой программист вам скажет, что если «оно работает», это еще не значит, что под капотом все чисто.
        С биос груз прошлого тормозит развитие. Решения, которые там применены, себя изжили. Много лет инженеры пытались тянуть лямку обратной совместимости, но со временем груз становится все тяжелее. В какой-то момент это становится слишком дорого.

        И плюс наседает маркетинг. Как это ни странно, появление uefi и смерть биос должно увеличить продажи.


        1. kAIST
          08.04.2015 11:14

          Как это ни странно, появление uefi и смерть биос должно увеличить продажи.

          Интересно, каким образом? Конечному пользователю вообщем то наплевать как оно там инициируется и грузится.


          1. chabapok
            08.04.2015 16:44

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

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


            1. CodeRush
              08.04.2015 16:56

              Такие устройства уже пошли, это любые современные видеокарты, SSD с интерфейсом NVMe, разного рода ускорители на FPGA и т.д. На данный момент производители предоставляют и OptionROM для совместимости с legacy BIOS, и DXE driver для UEFI, но втечение пары лет от поставки OROM'ов откажутся окончательно, вместе с отказом от CSM на большинстве десктопов. А на ноутбуках от CSM некоторые производители отказались уже сейчас.


        1. DrPass
          08.04.2015 11:18
          +2

          В том-то и проблема. Я часто слышу слова «устаревшее решение», «тормозит развитие» и т.д. Но это как раз обычно слова маркетологов, а не инженеров. Само по себе понятие «устаревшее решение» ни о чем плохом не говорит, колесо еще куда более устаревшее решение. В отношении BIOS vs UEFI я вижу достаточно простой, отлаженный десятилетиями код, и напротив него громоздкую спецификацию, обвешанную кучей дополнительных фич, многие из которых вообще никогда не будут востребованы на массовом рынке, вроде возможности создания драйверов на уровне firmware… и вот весь этот программный монстр делает абсолютно то же самое, что и BIOS. И честно, я не верю в то, что разработчикам BIOS дешевле развивать старую систему, чем создавать с нуля новую, и потом еще ее годами отлаживать.
          Вот маркетинг — это да. На всех виденных мной коробках от новых материнок гордо красуется надпись вида «Graphical UEFI». Кстати, у меня в шкафу лежит материнка под 486DX, начала 1990-х. Там BIOS Setup стилизован под Windows 3.x. Окошки, пиктограммы, управляется мышкой… Вот тогда это действительно была новинка :)


          1. JerleShannara
            08.04.2015 14:03
            +2

            А теперь пара слов об «устаревшем решении» от инженера. Оно не устарело, оно обкостылело (всех несогласных прошу в обработчик int13h от award образца начала 2000ых годов, впрочем там можно и весь код посмотреть, костылей хватает) и уже тупо начинало разваливаться от переодических новых костылей, в вашем колесе костылей не так уж и много. Далее, где-то на заре мироздания, тьфу, в эпоху появления DDR2 фирма интел сказала «а ну вас нафиг с вашим устаревшим решением» и начала давать MRC (Memory Refrence Code — код, который вам настраивает память, и без него мы имеем кирпич) в виде 32-битного модуля, который к тому-же и собирался в подобие DLL. Да, недовольные этим могли подписать с интелом ещё один пакет бумажек и получить этот самый MRC в исходниках, коие были тихим ужасом. AMD тоже не отстала, выкатив AGESA/PI примерно в том-же формате. Снова выросли костыли на костылях. Почитайте исходники старого аварда, вам этого хватит, чтобы понять, что новые фичи туды прикрутить было тем ещё гемороем.


        1. dunmaksim
          08.04.2015 15:03
          +1

          Как программист, я сейчас вообще сильно разочаровался в индустрии. Всё делается в минимальные сроки, ошибки не исправляются, если с ними продукт худо-бедно работает и такое поведение не помечено заказчиком как недопустимое в ТЗ. Главный приоритет в современных IT — бабло, но никак не качество.


      1. CodeRush
        08.04.2015 12:37
        +2

        Не просто 16-разрядным, а написанным на ассемблере по большей части. И он больше 20 лет нес с собой груз тогдашних «временных решений» вроде API через прерывания, управления адрессной линией A20, ресетов через порт клавиатуры и работы с таймером 8256. И производители CPU не могли выбросить никому уже не нужный полоработающий 16-разрядный режим потому, что загрузиться станет невозможно.
        Да, за эти годы компьютер стал включаться несколько иначе, а с повсеместным внедрением Management Engine — принципиально иначе, только конечному пользователю это не видно и не интересно. И систему, на самом деле, удалось упростить, а не усложнить, вы просто не видели, что творилось внутри какого-нибудь AMIBIOS8 во времена чипсета P55.
        По поводу незовможности загрузки альтернативных ОС из коментария ниже — управление ключами доступно, добавляй свои ключи, удаляй стандартные и будь уверен, что на твоей системе не запустится ничего, кроме того, что ты подписал своими руками. А у тех, кто управление ключами пользователю не дает, просто ничего покупать не нужно.


        1. JerleShannara
          08.04.2015 14:05

          AMIBIOS8 времени g33 чипсета был очень даже читаемым, понятным и вылизанным. Если будет возможность — взгляните на Award времен 965 чипсета, страшные сны вам гарантированы.


          1. CodeRush
            08.04.2015 15:22
            +1

            Да мне и AMIBIOS8 хватило, доктор сказал «в морг» — значит в морг.
            Люди, которые выше в коментариях пишут про «теплый ламповый простой и отлаженный BIOS» просто не видели, в какую вавилонскую башню из костылей и велосипедов он превратился в конце двухтысячных. Из UEFI я сейчас могу практически безболезненно выкинуть все, к чему у меня не лежит душа. Bosch не устраивает наличие SMM (он мешает работе hard-RTOS) — отключаем. Нам не нравится миллион способов прошивки, а нужно оставить один, но провереный — просто отключаем остальные. Понадобилось заменить чип SuperIO на другой — сменили пару DXE-драйверов и готово.
            UEFI — это конструктор LEGO в мире прошивок, и каждый собирает из него то, что считает нужным.


  1. Sava
    08.04.2015 08:20

    Не увидел в статье и комментариях: а с внешней клавиатурой грузиться пробовали? На встроенных и прочих «шибко вумных» возможна неработоспособность части клавиш до загрузки драйвера.


    1. KamikaZze_ru Автор
      08.04.2015 08:29

      Пробовал, на внешнюю тоже реакции не было.


      1. lucius
        08.04.2015 12:10
        +1

        Я вот на своём ноуте Toshiba долго не мог в биос зайти, пока не вычислил, что нужно держа зажатой F2 нажимать на кнопку включения ноутбука.


        1. KamikaZze_ru Автор
          08.04.2015 13:06

          В курсе этой темы, тут тоже так пробовал — не прокатило.


  1. Scogun
    08.04.2015 13:03

    Славил похожую петлю на Sony Vaio с месяц назад. Спасло то, что по умолчанию всегда ставлю первой загрузку с Blu-Ray. Поставил Win10, с ней такой проблемы нет. Однако UEFI пока не обновлял, а надо бы.


    1. KivApple
      08.04.2015 15:11

      Выше в комментариях пишут, что далеко не все обновления UEFI одинаково полезны.


      1. Scogun
        08.04.2015 15:32

        Это да. Была у меня интересная ситуация во времена еще BIOS. Купил я как-то себе новую видеокарту. Загрузился в Windows, тогда еще, Me и снес видео драйвер. Радостный вынул из AGP слота старенький Radion и воткнул новую NVidia. Все нормально загрузилось, я поставил видео драйвер и решил проверить что еще можно обновить. Еще обновить можно было BIOS! Завершив обновление, система ушла в перезагрузи и… все! Черный экран! Даже в BIOS не войти. Не помню издавала ли материнская плата какие-нибудь звуки, но все выглядело так, что все, покупай новую. Не знаю почему, но я решил воткнуть старую видео карту и… о чудо! Все нормально загрузилось! Подумав, что возможно просто материнку надо было обесточить после прошивки (что и произошло перед тем, как сменить карту), я опять поменял карты и снова получил только черный экран. Загрузившись со старой картой, я откатил BIOS и больше на этой материнке его не обновлял.


  1. Rumlin
    08.04.2015 15:16

    Я посылаю лучи в сторону ASUS. Замечательно работали CPU i5-2500k и ASUS p8z68-v lx. Исчез у меня разгон по множителю — перестал выставляться выше 33.
    В ASUS TurboV EVO пропал пункт CPU ratio. Когда пропал не знаю. Возможно когда-то обновлял БИОС, но разгон мне понадобился только сейчас. Но теперь процессор не множителем разгоняется. Нашел тему — похоже у меня такой случай. forum.ixbt.com/post.cgi?id=print:4:122531
    Хочется с одной стороны вернуть 4,5 ГГц, а с другой стороны можно окирпичить. 3,7 ГГц по шине лучше, чем кирпич.


    1. CodeRush
      08.04.2015 15:29

      Это МЕ чудит, а ASUS проблему так и не признала. Перешейте регион ME и все будет хорошо.


      1. Rumlin
        08.04.2015 21:24

        Спасибо, рискну. Параллельно с этим возник более заметный и примечательный дефект — не выходит из ждущего режима. Засыпает, мигает индикатором, но при включении не восстанавливается состояние системы, а именно включается и загружается.


  1. Mixim333
    08.04.2015 19:08

    А нельзя ли было бы уточнить модель ноутбука? Судя по внешнему виду, очень напоминает мой (Samsung np355v4c-901ru), правда брал его еще пару лет назад и в первый же день сделал «format C» и поставил Linux (сейчас с него и пишу) — никаких проблем, единственное, на сколько помню, пришлось некоторые дефолтные настройки в UEFI поменять.


    1. KamikaZze_ru Автор
      08.04.2015 20:59

      Можно, но на видео не он. Я мучал Samsung ATIV NP270E5E.