Компания Canonical отозвала вышедший в октябре дистрибутив Ubuntu 17.10 и спрятала ссылку на сайте для скачиваний. Причиной стал критический баг с повреждением BIOS в некоторых моделях ноутбуков Lenovo и одной модели Acer. Полный список пострадавших моделей в данный момент уточняется и пополняется.

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

Что ещё хуже, ломается загрузка с USB-флешки, поскольку USB не распознаётся.

Судя по описанию бага, он как будто происходит после активации драйверов intel-spi-* в ядре. Судя по всему, эти драйверы ещё не доработаны до конца и не готовы для использования на пользовательских системах.

В качестве обхода можно попробовать деактивировать драйверы intel-spi-*. В описании бага отмечено, что последствия таких действий будут минимальными: «Маловероятно, что кто-то действительно делает что-нибудь такое, для чего требуется этот драйвер».

Список пострадавших моделей ноутбуков:

  • Lenovo B40-70
  • Lenovo B50-70
  • Lenovo B50-80
  • Lenovo Flex-3
  • Lenovo Flex-10
  • Lenovo G40-30
  • Lenovo G50-70
  • Lenovo G50-80
  • Lenovo S20-30
  • Lenovo U31-70
  • Lenovo Y50-70
  • Lenovo Y70-70
  • Lenovo Yoga Thinkpad (20C0)
  • Lenovo Yoga 2 11" — 20332
  • Lenovo Z50-70
  • Lenovo Z51-70
  • Lenovo Ideapad 100-15IBY
  • Acer Aspire E5-771G

Как уже отмечалось, список пополняется.

В комментариях к багу упоминается также модель Toshiba L50B-23G.

На многочисленных форумах пользователи жалуются на эту проблему, потому что у многих ноутбуков отсутствуют приводы CD-ROM — так что они не могут уже загрузиться с другого дистрибутива.

Особенно много жалоб на форумах Lenovo. Это особенно неприятно, потому что часто именно ноутбуки Lenovo ThinkPad часто рекомендуют для работы с Linux, а у компании Canonical на офсайте они включены в список официально поддерживаемого оборудования.

В предыдущих версиях Ubuntu баг не проявляется.

Теоретически, BIOS можно перепрошить и вернуть в исходное состояние (например, с помощью программатора), но это нетривиальная и немного рискованная процедура. К тому же, программатор есть не у каждого пользователя. Поэтому можно понять сильное недовольство тех, кто столкнулся с этой проблемой и не может загрузить ноутбук. «Это неприемлемо, прямо сейчас мой Lenovo G50-80 превратился в кирпич», — пишет один из пострадавших в комментариях к багу на сайте Canonical.

UPD. Примечание пользователя r0mik в комментариях к статье: «портится не БИОС» в прямом смысле — лочится на запись микросхема SPI Flash. По всей видимости, это происходит при посредстве вышеупомянутого модуля ядра, поскольку только он один и способен к таким действиям (для этого в т.ч. и был написан). Именно от того, что SPI Flash аппаратно залочен на запись, никакое средство отката к стандартным настройкам БИОСа не сработает, потому как настройки-то хранятся в SPI Flash. Программатор тоже не поможет. Поможет только физическая замена микросхемы…

Canonical сейчас активно работает с Lenovo, чтобы найти истинную причину проблемы и выпустить патч. Готовятся новые образы Ubuntu 17.10 с обновленным ядром, которое не будет ломать BIOS на новых установках.

К сожалению, новые образы ничем не помогут тем, кто уже установил Ubuntu 17.10 и повредил прошивку BIOS. Крайний случай — нести ноутбук в ремонт на замену материнской платы. Если же ноутбук всё-таки загружается, то можно попробовать такой обходной манёвр, который предлагают на форумах техподдержки Lenovo.

У этого пользователя тоже сбилось сохранение новых настроек BIOS и пропала возможность загружаться с USB. Первым делом он проверил последовательность загрузки EFI. Это делается следующей командой:

efibootmgr -v

В его случае последовательность загрузки выглядела так:

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0002,2001,2002,2003
Boot0001* antergos_grub HD(1,GPT,f128f12b-fa3e-45b1-b5c9-f03c328498cb,0x800,0x64000)/File(\EFI\antergos_grub\grubx64.efi)
Boot0002* Windows Boot Manager HD(1,GPT,f128f12b-fa3e-45b1-b5c9-f03c328498cb,0x800,0x64000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC


Из этого следует, что первым по-любому будет загружаться grubx64.efi из директории antergos_grub и только с указанного диска.

Логично предположить, что мы можем управлять загрузкой, меняя содержимое папки antergos_grub. Он просто заменил содержимое этой папки на содержимое пакета менеджера загрузки rEFInd, переименовав при этом refind_x64.efi в grubx64.efi. Тогда после загрузки ноутбука появляется стандартное загрузочное меню rEFInd.

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


  1. joker2k1
    20.12.2017 20:52

    Тоже испортил себе биос на материнке асус, когда ставил хакинтош.
    Мне непонятно, почему стандарт UEFI допускает такие повреждения, почему нельзя как нибудь привести биос к заводскому состоянию (ну кроме как программатором).


    1. andreymal
      20.12.2017 21:23

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


    1. ARD8S
      20.12.2017 21:30
      +1

      Я не понял, при этом баге микросхема повреждается на запись, что её невозможно перезаписать рабочим образом?


      1. Fullmoon
        20.12.2017 22:38

        Рискну предположить, что нет, проблема софтовая, просто не подлежащая исправлению обычными методами сброса настроек.


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


        А перезаписать часто бывает возможно только оффлайн, загрузившись с флешки.


        1. ARD8S
          20.12.2017 22:46

          Ок. USB у меня отвалились, с флешки я запуститься не могу, ODD тоже нет. Я же могу установить freedos вместе с прошивкой на обычный SATA диск и запустить обновление BIOS. Полегче, чем выпаивать феном микросхему и менять её или загонять в программатор. Или так не сработает?


          1. pavelchavyr
            20.12.2017 22:57

            Как вы установите систему на диск, если ноут не позволяет загрузиться с внешнего носителя? Вынуть диск и поставить в другой комп? Так ноут с модифицированного диска не загрузится, в настройках UEFI прописан вполне конкретный файл в конкретной папке.


            1. mm7
              20.12.2017 23:49

              А как насчет загрузки из сети с TFTP сервера?


              1. pavelchavyr
                20.12.2017 23:57

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


                1. nidalee
                  21.12.2017 00:17

                  Достать диск, записать как большую флэшку из образа, поставить обратно единственным диском? У БИОСа не будет выбора кроме как грузиться с нее.

                  Альтернативный вариант — отключить диски физически и подключить только USB flash.


                  1. Fullmoon
                    21.12.2017 00:24

                    Пишут, что он просто не видит/не сохраняет новые пункты загрузки. Они в UEFI задаются достаточно нетривиально, вовсе не по принципу "грузимся с чего найдём".


                    1. nidalee
                      21.12.2017 00:30

                      То есть надо понять принцип, по которому BIOS определяет «родные» разделы, и успешно его обмануть? Жаль нет ноута.


                      1. Fullmoon
                        21.12.2017 00:31

                        ЕМНИП, там в качестве части идентификатора используется GUID. Успехов в обмане.


                        1. nidalee
                          21.12.2017 00:35

                          Признаюсь, я не очень в этом разбираюсь… Только как пользователь. Можно ли восстановить удаленный раздел через что-то вроде TestDisk или он просто создает новый на том же месте?
                          Если восстановление возможно, то после этого в него просто нужно записать то, что требуется…


                        1. pavelchavyr
                          21.12.2017 00:44

                          В Каноникал решили не морочиться и использовать Grub. Так что самый простой вариант — пошаманить с ним, заставив грузить нужную нам систему. Хотя костыль все равно


                          1. Fullmoon
                            21.12.2017 10:02

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


                        1. gpyra
                          21.12.2017 15:10

                          На двух разных ноутах если нет загрузочных записей, то по дефолту грузится /efi/boot/bootx64.efi. У меня так grub и установлен, с флагом --removable. efivars не тронуты.


                1. Ktulkhu_Triediniy
                  21.12.2017 11:04

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


                1. bundzmm
                  21.12.2017 13:32

                  Не обязательно, главное чтобы повезло и включена была загрузка по PXE. Тогда можно при загрузке нажать бут меню и выбрать его. А там уже крути как хочешь. Можно DRBL + Clonezilla и накатить что угодно.


                1. mm7
                  21.12.2017 17:51

                  а если отключить диск физически? тогда останется только сетевая загрузка.


          1. Fullmoon
            20.12.2017 23:14

            Не уверен. У меня вообще Асус с AMI, он умеет читать прошивку с подключённых ntfs-разделов. Но Леново такая Леново, не удивлюсь, если у них по многочисленным просьбам трудящихся это запрещено.


            … а, нет, всё не совсем так. На багтрекере пишут, что BIOS тупо не находит новые разделы, ни на флешке, ни на подмененном харде. Только тот раздел, что был в момент установки.
            И что попытка обновить прошивку из-под винды приводит просто к перезагрузке.


            1. ARD8S
              20.12.2017 23:48

              У меня нет ноута леново, мне не воспроизвести. Если ноут таки можно загрузить вообще, то я не понимаю никак что ломается-то? Раздел efi на винте, его взаимодействие с микросхемой, сама микросхема? Я про FreeDos писал. Т.е. пустой хард с freedos+файл прошивки, пробуем прошить, потом подсовываем старый винт. Ну или обычный десктопный sata odd через sata удлинитель вместо винта. Или ноут не загружается вообще никак?


              1. Fullmoon
                21.12.2017 00:19

                Ломается прошивка микросхемы.
                Ещё раз. Во-первых, BIOS не видит никаких других разделов, из-за чего если система перестала загружаться (или если нужно переустановить систему, или ещё что), то насовсем, и никакой freedos не поможет. Во-вторых, перепрошить BIOS обычными средствами нельзя (они содержатся в самой прошивке и тоже поломались).


          1. joker2k1
            21.12.2017 01:05

            Ну если вы про мой случай, то загрузчик хакинтоша что-то записывал в список загрузки разделов EFI, для того чтобы стартовал хакинтош, но не учитывал какую то особенность именно материнки асус (проверено на двух h97), что приводило к ошибке старта биоса, и все. Черный экран и один гудок. Исправить ничего нельзя, потому что материнка вообще дохнет, и ничего не грузит, даже клавиатура не стартует. Отсоединение батарейки сохраняет эту область памяти.


            1. willyd
              21.12.2017 01:30

              проверено на двух h97
              Проявили упорство)


              1. joker2k1
                21.12.2017 02:18

                Ну материнка накрылась, пришлось покупать такую же, только перед экспериментами сдампить bios )


                1. KivApple
                  21.12.2017 03:43
                  +1

                  Если у вас есть программатор (раз вы как-то сдампили BIOS), то можно было бы скачать образ с сайта производителя (даже если он доступен только в виде EXE, обычно сам бинарный образ можно выдрать из него несложными манипуляциями) и записать вместо старого, зачем же покупать новую материнку… Или там были какие-то ещё повреждения?


                  1. EvgeniyNuAfanasievich
                    21.12.2017 12:22

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


                  1. EvgeniyNuAfanasievich
                    21.12.2017 12:38

                    а таким образом как вы советуете, вы весь ME регион похерите о останетесь без Wi-Fi, Ethernet и может даже еще чего ценного типа ключа активации винды))


                    1. Black_Shadow
                      21.12.2017 13:02

                      Похерится серийный номер, UUID, может слететь MAC адрес (в моём случае почему-то не слетает), но всё это восстановимо фирменными утилитами разработчика UEFI. В общем, перепрошивка на программаторе даст возможность запустить систему, а дальше надо восстановить оставшееся.


                      1. ikle
                        21.12.2017 17:19

                        в моём случае почему-то не слетает

                        Интеловская сетевая? Не сэкономили, значит, на EEPROM — если EEPROM распаяна, то MAC оттуда будет иметь преимущество. Попробуйте дамп снять ethool'ом. Там штатный PCI SVID/SPID MAC, AMT MAC, область AMT'ных переменных и ещё что-то.


                        P.S. Можно даже позаписывать в конец что-то своё: обычно больше 4K не используется, а EEPROM ставят 8K, 16K, 32K — только нужно запись, скорее всего, разлочить соответствующим параметром модуля сетевой при холодной загрузке — там запись блокируется на уровне микросхемы и блокировка сохраняется до следующего цикла питания.


                        1. Black_Shadow
                          21.12.2017 18:28

                          Не, не интеловская, Realtek 8168.


                          1. ikle
                            21.12.2017 19:25

                            У RTL8111/8186 тоже для этого дела EEPROM используется:


                            The RTL8111B/RTL8168B requires the attachment of an external EEPROM. The 93C46 is a 1K-bit EEPROM (the 93C56 is a 2K-bit EEPROM).

                            А вот и MAC:


                            0Eh-13h Ethernet ID: After auto-load command or hardware reset, the RTL8111B/RTL8168B loads Ethernet ID to IDR0-IDR5 of the RTL8111B/RTL8168B's I/O registers.

                            (Нам PCI Subsystem VIP/PID перешивать нужно на OEM железе: у нас как раз 8111/8168 и интелы.)


                            1. Black_Shadow
                              21.12.2017 21:34

                              Понятно.


                  1. joker2k1
                    21.12.2017 13:21

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


                1. willyd
                  21.12.2017 05:10

                  Я сначала смотрел osx86, а потом заказал железо. Конечно, это не особо помогло — заказывал у друга и он решил сделать мне «подешевле», в итоге нужно было кексты на сетевую, звук и видео подсовывать свои. Все работало, хотя uefi потом очищать нужно было перепрошивкой биоса.


            1. MasMaX
              21.12.2017 09:24

              Загрузчик хакинтоша (Clover видимо) действительно прописывает в BIOS помимо дисков конкретные разделы для загрузки. Причем прописать новый раздел туда легко, а удалять очень геморно. Но по-молучанию кловер вроде не прописывает биос, только по просьбе


    1. r0mik
      21.12.2017 06:31

      тут непонятно от того, что в статье, мягко говоря, совершенно нет никакой конкретики на тему что же на самом деле происходит, нет даже размышлений на тему «что могло происходит». статья написана в дуже «линукс портит компьютер», а факты и логические суждения скорей для бульварной газеты подошли бы.
      на деле: «портится не БИОС» в прямом смысле — лочится на запись микросхема SPI Flash, это по всей видимости происходит при посредстве вышеупомянутого модуля ядра, посколько только он один и способен к таким действиям (для этого в т.ч. и был написан).
      именно по этому, то есть от того, что SPI Flash аппаратно залочен на запись, никакое средство отката к стандартным настройкам БИОСа не сработает, потому как настройки-то хранятся в SPI Flash.
      программатор тоже не поможет. поможет только физическая замена микросхемы…


    1. Dioxin
      21.12.2017 08:52
      +1

      Потому что современные программисты никогда не собирали себе компы сами, не паяли их, не писали на ассемблере и т.д.


      1. amarao
        21.12.2017 12:45

        Если бы современные программисты паяли бы себе компьютеры сами, вы бы сейчас использовали спаянный программистом телефон для ввода AT-команд для подлкючения к BBS'ке провайдера.


        1. ReakTiVe-007
          21.12.2017 18:53

          Похоже что драйвер прописывает в память игнорить все настройки из вне, в итоге замкнутый круг, нужно сохранить настройки что бы чип сохранял их, но он игнорит сохранение настроек о настройках сохранения))
          Вспомнился случай, когда я в галакси с3 в tasker сделал перезагрузку по таймеру, но перепутал время и получил что то типа с 8ч.02м перезагружаться до 8ч.01м(надо было указать наоборот) в итоге тел перезагружался без конца, а поскольку менюшка тупит и таскер загружается не сразу то выключить этот пункт я не успевал до перезагрузки(на все действия примерно 2 секунды). Примерно через час повезло и навыки слепого включения таскера за долю секунды и вайпа на нужном пункте привели к успеху)


  1. hssergey
    20.12.2017 20:59

    Насколько помню, несколько лет назад на самсунговском ноуте была похожая проблема. Может 3cky вспомнит какие-то подробности, он его потом довольно долго приводил в чувства…


    1. 3cky
      20.12.2017 21:43

      Да, примерно то же самое и было, ошибка в Samsung UEFI убивала ноут при установке Linux. Лечилось, емнип, только перепрошивкой BIOS на спецоборудовании или полной заменой материнской платы.


      1. Porfel
        21.12.2017 12:14

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


    1. Kobalt_x
      20.12.2017 21:52

      Это случаем не когда системы стал монтировать efivars в rw вместо ro?


    1. KivApple
      21.12.2017 03:46
      +1

      У меня был когда-то ноутбук от Samsung. Нарвался на такой баг — через efibootmgr можно было удалять не только пути к EFI загрузчикам, но и стандартные пункты меню вроде CD-ROM, USB HDD (отвечает за загрузку со всех флешек) и т. д. Даже Setup. Я нечаянно удалил при переустановке ОС пункт загрузки с флешки, соответственно возникла неприятная ситуация. Хорошо хоть осталась ОС в загружаемого состоянии. Да, если что отваливалась загрузка как в EFI, так и в Legacy режиме.

      Мне подсказали решение — удалить вообще все пункты меню. После этой операции произошёл сброс к стандартным настройкам при перезагрузке и всё починилось. Если бы не было рабочей ОС, то не знаю, что делал бы.


    1. andersong
      21.12.2017 11:13

      У меня так началось знакомство с Убунтой на версии 14))
      После вроде удачной установки системы при попытке зайти в БИОС был пустой экран. Потом выяснилось, что БИОС всё-таки загружается, если подождать минут 5.
      Вылечилось само (с обновлениями) со временем.
      С версией 16 не срослось, так и живу на 14.04


  1. FreeManOfPeace
    20.12.2017 21:02
    +2

    Шёл пятый год с начала повсеместного внедрения UEFI (и это не считая что стандарт EFI ещё старее). А как позиционировали, универсально, безопасно, и быстро.
    А на деле регулярно возникают проблемы (и это далеко не первый случай).
    Неужели всё это нельзя было предусмотреть, или хотя бы хранить базовую прошивку в ROM, а все обновления и изменения писать в энергозависимую память, что бы они слетали при извлечении батарейки CMOS? И проблема решалась бы куда проще, но куда уж там?


    1. Konachan700
      20.12.2017 21:40

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


      1. sumanai
        20.12.2017 21:43

        А толку от неё? В данном случае вы сами переставите перемычку на запись.


        1. firk
          20.12.2017 22:02

          С чего это?


          1. sumanai
            20.12.2017 22:06

            К примеру ОС попросит открыть на запись при обновлении для исправления записи на загрузку нового ядра, вы и переставляете, так как новая ОС на старом ядре не факт, что заработает.


            1. andreymal
              20.12.2017 22:07

              Биос тут ни при чём и это всего лишь файлик на fat32-разделе, не?


              1. sumanai
                20.12.2017 22:18

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


                1. andreymal
                  20.12.2017 22:21

                  Думаю, без обновления микрокода ОС всё-таки продолжит работать) Параноики, боящиеся кирпичей, могут в вместе с перемычкой запретить обновление пакета с микрокодом, следуя принципу «работает — не трогай»)


                  1. sumanai
                    20.12.2017 22:56

                    А там баг, или дыра.


                    1. andreymal
                      20.12.2017 22:58

                      Ну, раз в год придётся рискнуть записать)


                1. firk
                  21.12.2017 00:43

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


                  Хотя возможно я "отстал" и всё уже испортили.


      1. VaKonS
        21.12.2017 08:47

        Или трёхпозиционный джампер:
        — блокировка записи (для «параноиков» и от вирусов);
        — нормальная работа (можно программно что угодно);
        — аппаратный сброс блокировки записи (для таких случаев, как этот) или вообще полный сброс.

        Деталька копейки стоит, а пользы была бы куча.


        1. Germanets
          21.12.2017 11:22

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


          1. FreeManOfPeace
            21.12.2017 12:13

            Ну те кто уже ставят линукс могут и одну крышку открыть, а лучше всего — сделать джампер на блокировку чтения под крышкой, а сброс кнопкой под иголочку.


            1. willyd
              21.12.2017 12:23

              Зачем это мне?
              Я в процессе выбора нового дистрибутива, за пару месяцев попробовал Arch, Manjaro, Kubuntu, Xubuntu, openSUSE Leaf/Tumbleweed, Fedora Gnome/Kde/Xfce, и что-то еще от разработчиков kde. Мне еще просто, у меня крышка открывается одной защелкой, но все равно, я туда лажу раз в пару месяцев чтобы продуть куллер.
              При это проблем с загрузчиками не было ни разу.


        1. gpyra
          21.12.2017 15:19

          Я на ПК в детстве ставил советский тумблер :D
          3 позиции — нормальный режим, сброс настроек, режим восстановления.


    1. en1gma
      20.12.2017 22:06

      Чтобы сделать человеку хорошо, сделай ему плохо, а потом верни как было..
      раньше с «battery cmos» так и было: отдельно fw и отдельно data. а теперь батарейный sram — это лишний пункт к bom…


    1. dartraiden
      20.12.2017 22:53

      на современной микросхеме SPI хранится сразу несколько прошивок и управляют ей сразу несколько мастеров, каждый из которых хранит в своем регионе изменяющиеся во время загрузки и нормально работы данные, и если всю микросхему разом защитить от записи джампером, то все эти модифицируемые данные придется выносить в CMOS SRAM (15 лет назад именно там они и хранились), к которой очень просто получить доступ через CPU IO-порты 70h/71h или 74h/75h и у которой никаких защитных механизмов нет, а сама она в заметных объемах (256Кб, которые сейчас используют большая часть реализаций UEFI, а ведь есть еще ME, GbE и EC) стоит как самолет.
      Можено попробовать разнести модифицируемые часто и модифицируемые только при обновлении данные по разным SPI-микросхемам и защитить «джампером» последнюю, но это удорожает производство и разработку платы и прошивки, поэтому массовый рынок этим не заморачивается и, скорее всего, никогда не будет.
      источник


    1. MasMaX
      21.12.2017 09:25

      Проблема именно в возможности доступа к BIOS из операционки. Загрузчик Хакинтоша Clover очень любит например там свои разделы добавлять


  1. GloooM
    20.12.2017 21:42

    Сразу после выхода 17.10 обновился на него и понял что весьма сырой и кривой релиз как минимум по части десктопа. На основном ПК аж откатился обратно к 17.04, а вот ноут Lenovo B50-70 не стал обновлять, как оказывается весьма удачно )


  1. encyclopedist
    20.12.2017 23:19

    Это особенно неприятно, потому что часто именно ноутбуки Lenovo ThinkPad часто рекомендуют для работы с Linux

    В списке пострадавших моделей нет ни одного Thinkpad. (есть только Thinkpad Yoga, но это "ненастоящий")


    1. sup0stas
      21.12.2017 05:58

      Это пока. Потом Lenovo превентивно накатят патч, который сломает что-то другое, затем патч на патч, в конце-концов проблемы с UEFI будут успешно воспроизводиться и на «настоящих» ThinkPad. Не в первой же, чесслово.
      П.С. не холивара ради, но свои потребности в Linux на основном ноуте покрыл с помощью Windows Subsystem for Linux.


  1. Cheater
    21.12.2017 01:04

    Извиняюсь за нубство, а при чём здесь именно Ubuntu? У них свой собственный патчсет на ядро? Разве баг не должен проявляться в любом дистрибутиве с конкретным релизом ядра (при условии включённого в kernel config драйвера intel-spi)?


    1. KivApple
      21.12.2017 03:50
      +1

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


    1. Prototik
      21.12.2017 19:52

      У них свой собственный патчсет на ядро?

      Ну вообще-то да, но к теме это не относится. Ванильное ядро вообще без патчей не встречается даже в source-based дистрах. Ну, есть, конечно (допустим sys-kernel/vanilla-sources в генте), но им пользуются три с половиной калеки :)


  1. GamaleyVV
    21.12.2017 05:57

    Та же проблема на Lenovo Z70-80, но BIOS поломал openSUSE Tumbleweed. После его установки глюки и начались. Сейчас стоит Ubuntu и Венда. Очередность загрузки — кнопка F12 и выбор необходимой. efibootmgr и прочие утилиты под Линух и Венду не помогают. Пробовал загрузочную флэшку Arch — там rEFInd можно при загрузке можно загрузить. UEFI Shell с его командами записи и поиска переменных то же не помог. Скорее всего надо везти в сервис где могут перепрошить микросхему BIOS на прямую…


  1. Oblom76
    21.12.2017 05:58

    Тут непонятно только почему «шишки» сыпятся на Canonical?
    Майкрософт, угробил таких машин больше на порядок, а то и натри.

    Ситуация связана с тем, что во время POST процедуры, на флэше видны «наружу» как минимум две GUID партиции. И пока «тупит» HDD во время работы перечислителя доступных загрузочных устройств, загрузчик ОСи прилетает не по адресу и записывается вместо харда на флэшку. Если прилетает в NVRAM партицию — получаем глюки настроек, в DXE/OPROM — не включающийся труп.
    Так же поступает и Win8-10 в UEFI режиме, правда она ни когда не предупреждает пользователя о том что собирается переподписать loader новым сертификатом. И по этому комп умирает тихо.
    А тут просто ситуация легко просчитывается.


    1. mazy
      21.12.2017 09:08

      «Вот оно че, Михалыч»
      А я то думал, чего Это новенький Асус окирпичился после установки вин10. Просто черный экран при старте и все.
      Поменяли по гарантии.


      1. SchmeL
        21.12.2017 11:39

        Скоро возможно придет время, что на PC системах нельзя будет поставить ОС, без разлочки загрузчика, да и то только определенную версию. Будет как сейчас в смартфонах\планшетах.


        1. rPman
          22.12.2017 01:14

          Один из критереев выбора смартфона с android у меня сейчас — возможность установить cianogenmod/lineageos/аналог сборку, очищенную и безглючную (wifi/bluetooth/радиомодуль).

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


          1. willyd
            22.12.2017 01:40

            Один из критереев выбора смартфона с android у меня сейчас — возможность установить cianogenmod/lineageos/аналог сборку, очищенную и безглючную (wifi/bluetooth/радиомодуль).

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


    1. VioletGiraffe
      21.12.2017 11:25
      +1

      Сколько имел и использовал Win 8 / Win 10 устройств, никогда не сталкивался с такой проблемой. Вряд ли она носит массовый характер.


      1. DikSoft
        21.12.2017 16:16

        Редко, но бывает. Acer W511. Попытка установить Win10 x64… результат — как выше. Только сервис и перепрошивка.


  1. Areso
    21.12.2017 06:46

    Одна из причин, почему bleeding edge так называется. Пострадавшим сочувствую.


  1. xztau
    21.12.2017 07:39

    Так BIOS или UEFI?


    1. AntonAlekseevich
      21.12.2017 08:28

      Так BIOS или UEFI?

      BIOS по привычке, UEFI более верно.


      Offtopic:
      Пострадавшим сочувствую.
      Хороший все-таки дистрибутив, но от Canonical не ожидал что они тронут модуль Intel SPI.
      Сейчас нужно этот модуль ядра править(возможно уже отправили патч на kernel.org), пока не будет поправлен, в конфиг его вносить только с параметром N!


  1. CodeRush
    21.12.2017 09:01

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

    Если хотите гаданий, их есть у меня:
    1. Линукс каким-то образом в очередной раз испортил прошивке NVRAM своей загрузочной записью, которую создал efibootmgr. Я про него устал уже проедупредждать, но похоже, надо делать это в каждом коментарии — авось кого-нибудь это остановит.
    2. Драйвер spi_nor.c даже при простом поиске подключенных к нему чипов зачем-то пытается снять защиту от записи с некоторых из них, которую он не ставил и трогать не должен. Получается очень странная функция spi_nor_scan(), меняющяя состояние чипа. При этом чип, скорее всего, стартует с поставленным битом, а прошивка затем при записи пытается сбросить его через NEG, в результате только ставя его обратно. При этом для сброса на дефолты нужно полное обесточивание чипа (т.е. отсоединение батареи), либо установка этого бита вручную.

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


    1. mewrx
      21.12.2017 13:05

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


      1. CodeRush
        21.12.2017 21:19

        Модель своего ноутбука подскажите, потому что снимать дамп нужно утилитой Intel Flash Programming Tool, а она не запустится если ее версия не совпадает с мажорной версией ME.


    1. Oblom76
      21.12.2017 13:24

      Дампов была целая куча, правда не от конкретного случая, а от случаев описанных выше. Возможно лежат гдет на харде до сих пор.
      Рекордсмены по «вылету», это бюджетные модели, с дешевейшими хардами.
      Да, чаще порется NVRAM. Ему и так не сладко, Win постоянно туда пихает свежие сертификаты, а место отведённое производителем не безразмерное. Это по мимо того что там живет.
      Только единичные апдейты UEFI/BIOS реинициализируют/очищают область NVRAM. Обычно это можно сделать только при помощи сервисной прошивки с последующим вбиванием серийников и генерацией UID и т.д. Других методов, зачистки NVRAM силами пользователя обычно не предусмотрено.
      Исключение — аппараты Apple. Они мало того что не позволяют Win складировать свой мусор в NVRAM, так и ещё имеют юзер ориентированную процедуру зачистки, правда если стоит flash password аппарат таки превратится в «тыкву»


  1. stalker1313
    21.12.2017 09:36

    Только себе думал поставить. Вот тебе и бесплатный Linux на 150$


    1. willyd
      21.12.2017 09:45

      Откуда 150? Чип стоит недорого. Работа 20-40 долларов.


      1. stalker1313
        21.12.2017 10:12

        Мне мое время дорого


        1. willyd
          21.12.2017 10:26

          Ну если по времени считать, тогда больше 150 выходит)


          1. stalker1313
            21.12.2017 10:29

            Повезло вам с зарплатой, если больше)


            1. willyd
              21.12.2017 10:47

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


  1. ivanovlev
    21.12.2017 11:19

    Я наверно «в танке», но в упор не понимаю, как софт, пусть даже операционка, может чем-то влиять на bios и его настройки. Они же совершенно отделены от всего остального, своя память, свои микросхемы. Даже интерфейс там в текстовом режиме рисуется


    1. Oberon812
      21.12.2017 11:30

      Даже интерфейс там в текстовом режиме рисуется

      Давно вы в bios не заглядывали, ой давно. Там уже и игры есть, и просмотр фотографий пихают, и графики состояния вентиляторов с кривыми температур…


  1. Daniil1979
    21.12.2017 11:51

    Рукожопы, нах… И эти люди ещё имеют наглость обвинять в чём-то программистов Microsoft!


    1. FreeManOfPeace
      21.12.2017 12:17

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


      1. EvgeniyNuAfanasievich
        21.12.2017 12:36

        ага, потом ругань: не могли чтоли утилиту написать, для обновления из под винды??!11! Подавай им дискету с DOS в 20ХХ году!!!


      1. Daniil1979
        21.12.2017 13:41

        Если честно, после этого инцидента в мой личный чёрный список добавилась как Canonical с Ubunta, так и Lenovo, Acer и Toshiba.


        1. sumanai
          21.12.2017 15:33

          Такими темпами проще белый список составлять. Кстати, а что в нём будет то?


          1. Daniil1979
            21.12.2017 17:22

            Сейчас у меня хорошо работают ноутбуки MSI и DELL.


            1. DaylightIsBurning
              21.12.2017 19:15

              selection bias. Вы проверяли, за ними никаких косяков не числится?


    1. DaemonGloom
      21.12.2017 13:19

      Обратите внимание: сейчас вы ругаетесь на программистов intel, сделавших данный драйвер. И на создателей ноутбуков, не осиливших хоть какую-то защиту системы сделать.


  1. arthi7471
    21.12.2017 12:22

    Почему то вспомнился некогда знаменитый вирь «Чернобыль».


  1. caveeagle
    21.12.2017 13:29

    Правильно ли я понимаю данную статью: можно написать вирус, который превратит в кирпичи сотни тысяч ноутбуков определённых моделей? То есть, страшилка что можно испртить железо через софт, теперь сбылась?


    1. BubaVV
      21.12.2017 14:48

      Или записать туда майнер


    1. xztau
      21.12.2017 14:48

      <>А главное под Linux. А то «На Linux вирусов нет!»</>


    1. joker2k1
      21.12.2017 14:55

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


  1. lepota
    21.12.2017 13:33

    А что с теми, кто запускал только live-режим без установки?


  1. venturus
    21.12.2017 15:50
    +1

    До сих пор не могу понять, зачем ОС лезть в «святая святых» кроме как для перепрошивки биос целиком по запросу пользователя (и желательно спецутилитой, которая 100500 раз проверит совместимость и целостность прошивки). Ведь любая проблема ОС — это проблема с данными на винчестере и решается его форматированием, в крайнем случае, заменой. А замена/перепрошивка впаянной платы для 99% процентов пользователей означает дорогой сервис или мусорка.


    1. rvbglas
      21.12.2017 17:43

      А это привет от UEFI — там настройки загрузки хранятся «рядом» с биос (точнее — с UEFI как таковым), на соседнем разделе энергонезависимой памяти. Т.е. если, к примеру, там это устройство монтируется «не туда» (раздел с кодом на место раздела с переменными) или с неправильными правами (чтение-запись вместо только чтения), ну или не контролируется, что запись не выходит за пределы подмонтированного раздела — есть шансы получить граблями по лбу.


  1. UR70
    21.12.2017 15:51

    Линукс и баги — синонимы.
    Стоял XUbunu15 на нетбуке, если делаешь апдейт оси и программ, и в это время нетбук засыпает или закрылась крышка — каюк системе, надо с бубном поднимать. Сейчас стоит 16-я версия, но магазин приложений х… работает, ну или ему подумать надо минут 30.
    На рабочем компе рядом с виндой 7-й стоит Минт, как поставил, проверил принтер, все работало, сейчас по прошествии нескольких месяцев — нифига не работает, делаешь сворачивание программы, а программа из систрея пропадает.
    В общем Линукс — для садомазо любителей, без Винды все равно не обойтись.
    Так что теме про повреждение биос ни разу не удивлен, насмотрелся фокусов уже, крое тех что описал.


    1. TargetSan
      21.12.2017 18:40

      Ооо, в винде багов тоже вагон. Например, у меня на рабочем ноуте Skype for на*Business умудрился начисто убить микрофонный вход через джек и через встроенную вебку. Работает только то что USB.
      А Минт 17 у меня на личном ноуте счастливо живёт и прекрасно работает уже года три, безболезненно пережив дамп-перенос на SSD и случайно «запоротые» права на часть системных файлов.


    1. willyd
      22.12.2017 01:46

      В общем Линукс — для садомазо любителей, без Винды все равно не обойтись.

      Внезапно, если вы не пользуетесь дистрибутивами, которые подразумевают настройку сего самостоятельно (Gentoo, Arch) или rolling release дистрибутивами, то вы раз поставили и забыли.


  1. arthurchumak
    21.12.2017 15:51

    Две недели назад столкнулся с этой проблемой на Acer e5-511, думал батарейка сдохла =( В итоге накатил refind.
    Если нужна помощь, обращайтесь.


  1. Vampireos
    21.12.2017 17:58
    +1

    Правильный заголовок новости:
    На некоторых ноутбуках Lenovo, Acer и Toshiba обнаружился баг в BIOS.
    Сообщила об этом компания Canonical. В ходе установок Ubuntu 17.10 на ряд устройств данных компаний.

    Подозреваю Каноникал прикрывает партнеров, дабы они понесли меньше убытков)


  1. TargetSan
    21.12.2017 18:29
    +1

    Объясните мне одну вещь. Почему так трудно добавить маленький ROM в микруху с полным образом прошивки и каким-либо способом принудительно залить этот образ (вместе с NVRAM) в основное пространство? Псевдо-экономия? Желание рубить бабло на сервисе случайно убитых ноутов?


    1. MyFearGear
      21.12.2017 20:45

      Ну системы типа dual-bios уже не первый год существуют.
      Но, обратите внимание, только на дорогих и премиум материнках!


  1. rvbglas
    21.12.2017 18:37

    Похоже, в меньших масштабах, но граблями прилетало и раньше: www.dedoimedo.com/computers/lenovo-g50-read-only-nvram.html


  1. LinuxComp
    21.12.2017 18:45

    У меня Lenovo Flex 3, он есть в списке подверженных. Как раз делал экспериментальную установку 17.10, правда в редакции Kubuntu. Бага, описанного в этой статье у себя не заметил (по крайней мере пока). Настройки в Setup Utility сохраняются, со флешки гружусь нормально.
    Также экспериментирую с хакинтошем. В uefi уже полно явно каких-то хакинтошных переменных, но ничего слишком плохого пока не происходило.
    Но на всякий случай у меня есть и программатор, и дамп биоса, сделанный до всяких экспериментов =)
    Я только не пойму, почему здесь говорится что «программатор не поможет» и единственный вариант лечения — только заменять микросхемку?
    А вообще, на моём ноутбуке (думаю, на большинстве) не работает метод ICSP (прошивка микрухи на месте, не выпаивая из платы). Поэтому я себе купил десяток сокетов для bios чипов.

    Вот так выглядят эти сокеты


  1. k0ldbl00d
    21.12.2017 19:19
    +1

    И всё же я считаю, если программным кодом можно необратимо вывести из строя аппаратную часть, то это проблема аппаратной части, а не ОС. Это могло произойти с любой другой ОС, не только Ubuntu.


  1. giveittome
    21.12.2017 20:15

    Я налетел на эту беду b50-70. Есть пара таких же ноутов с виндой.обошел беду удалением всего с hdd, при этом стал стартовать дистриб диск с виндой.


  1. mike_y_k
    21.12.2017 22:10

    если в бочку меда добавить ложку дегтя — лучше не станет.
    Хотели как лучше, а получилось как всегда.
    При разработке упущено столько моментов безопасности, что только удивляться приходится столь малому количеству кирпичей.
    И почему для обеспечения нет отдельного чипа с железной реализацией всех алгоритмов? И без прямого доступа к flash памяти? И никаких дешевых альтернатив...