Повреждение 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)
hssergey
20.12.2017 20:59Насколько помню, несколько лет назад на самсунговском ноуте была похожая проблема. Может 3cky вспомнит какие-то подробности, он его потом довольно долго приводил в чувства…
3cky
20.12.2017 21:43Да, примерно то же самое и было, ошибка в Samsung UEFI убивала ноут при установке Linux. Лечилось, емнип, только перепрошивкой BIOS на спецоборудовании или полной заменой материнской платы.
Porfel
21.12.2017 12:14О, да. Нарывался именно на этот баг. К сожалению, полечилось только сервисом с программатором.
KivApple
21.12.2017 03:46+1У меня был когда-то ноутбук от Samsung. Нарвался на такой баг — через efibootmgr можно было удалять не только пути к EFI загрузчикам, но и стандартные пункты меню вроде CD-ROM, USB HDD (отвечает за загрузку со всех флешек) и т. д. Даже Setup. Я нечаянно удалил при переустановке ОС пункт загрузки с флешки, соответственно возникла неприятная ситуация. Хорошо хоть осталась ОС в загружаемого состоянии. Да, если что отваливалась загрузка как в EFI, так и в Legacy режиме.
Мне подсказали решение — удалить вообще все пункты меню. После этой операции произошёл сброс к стандартным настройкам при перезагрузке и всё починилось. Если бы не было рабочей ОС, то не знаю, что делал бы.
andersong
21.12.2017 11:13У меня так началось знакомство с Убунтой на версии 14))
После вроде удачной установки системы при попытке зайти в БИОС был пустой экран. Потом выяснилось, что БИОС всё-таки загружается, если подождать минут 5.
Вылечилось само (с обновлениями) со временем.
С версией 16 не срослось, так и живу на 14.04
FreeManOfPeace
20.12.2017 21:02+2Шёл пятый год с начала повсеместного внедрения UEFI (и это не считая что стандарт EFI ещё старее). А как позиционировали, универсально, безопасно, и быстро.
А на деле регулярно возникают проблемы (и это далеко не первый случай).
Неужели всё это нельзя было предусмотреть, или хотя бы хранить базовую прошивку в ROM, а все обновления и изменения писать в энергозависимую память, что бы они слетали при извлечении батарейки CMOS? И проблема решалась бы куда проще, но куда уж там?Konachan700
20.12.2017 21:40Перемычка на ноге WP — лучшая защита. Снял, поменял что надо, поставил — если не оверклокер, то настройки биоса надо трогать раз в год. Так вот не ставят же почти нигде в современных компьютерах…
sumanai
20.12.2017 21:43А толку от неё? В данном случае вы сами переставите перемычку на запись.
firk
20.12.2017 22:02С чего это?
sumanai
20.12.2017 22:06К примеру ОС попросит открыть на запись при обновлении для исправления записи на загрузку нового ядра, вы и переставляете, так как новая ОС на старом ядре не факт, что заработает.
andreymal
20.12.2017 22:07Биос тут ни при чём и это всего лишь файлик на fat32-разделе, не?
sumanai
20.12.2017 22:18Я же к примеру. Вот например обновление микрокода может захотеть писать в UEFI, или там при установке ОС. Перемычка на запись может защитить от несанкционированной пользователем перезаписи, например, вирусом, но от неверной перезаписи софтом она никак не поможет. Впрочем, от этого ничего не поможет, кроме разве что самостоятельной верификации и тестирования на копии оборудования.
andreymal
20.12.2017 22:21Думаю, без обновления микрокода ОС всё-таки продолжит работать) Параноики, боящиеся кирпичей, могут в вместе с перемычкой запретить обновление пакета с микрокодом, следуя принципу «работает — не трогай»)
firk
21.12.2017 00:43Вообще в линуксах принято все нужные прошивки делать в рантайме по мере запуска компа или обнаружения соответствующих устройств, и не сохранять из в долговременной памяти (кроме файловой системы на диске), т.е. они слетают при перезапуске компа и заново прошиваются на старте системы. Микрокод проца в том числе.
Хотя возможно я "отстал" и всё уже испортили.
VaKonS
21.12.2017 08:47Или трёхпозиционный джампер:
— блокировка записи (для «параноиков» и от вирусов);
— нормальная работа (можно программно что угодно);
— аппаратный сброс блокировки записи (для таких случаев, как этот) или вообще полный сброс.
Деталька копейки стоит, а пользы была бы куча.Germanets
21.12.2017 11:22Проблема в том, что эта фича пригодится разве что сервисникам и особо продвинутым пользователям, экспериментирующим с BIOS, уж тем более на ноуте… И тех и других достаточно мало, относительно общего числа покупателей этих самых ноутов, да и возможность прошиться программатором вполне вероятно у них есть.
Для обычного же пользователя все эти попытки бесполезны — ну не будет он расковыривать ноут и переключать джампер, а понесёт к сервиснику…FreeManOfPeace
21.12.2017 12:13Ну те кто уже ставят линукс могут и одну крышку открыть, а лучше всего — сделать джампер на блокировку чтения под крышкой, а сброс кнопкой под иголочку.
willyd
21.12.2017 12:23Зачем это мне?
Я в процессе выбора нового дистрибутива, за пару месяцев попробовал Arch, Manjaro, Kubuntu, Xubuntu, openSUSE Leaf/Tumbleweed, Fedora Gnome/Kde/Xfce, и что-то еще от разработчиков kde. Мне еще просто, у меня крышка открывается одной защелкой, но все равно, я туда лажу раз в пару месяцев чтобы продуть куллер.
При это проблем с загрузчиками не было ни разу.
gpyra
21.12.2017 15:19Я на ПК в детстве ставил советский тумблер :D
3 позиции — нормальный режим, сброс настроек, режим восстановления.
en1gma
20.12.2017 22:06Чтобы сделать человеку хорошо, сделай ему плохо, а потом верни как было..
раньше с «battery cmos» так и было: отдельно fw и отдельно data. а теперь батарейный sram — это лишний пункт к bom…
dartraiden
20.12.2017 22:53на современной микросхеме SPI хранится сразу несколько прошивок и управляют ей сразу несколько мастеров, каждый из которых хранит в своем регионе изменяющиеся во время загрузки и нормально работы данные, и если всю микросхему разом защитить от записи джампером, то все эти модифицируемые данные придется выносить в CMOS SRAM (15 лет назад именно там они и хранились), к которой очень просто получить доступ через CPU IO-порты 70h/71h или 74h/75h и у которой никаких защитных механизмов нет, а сама она в заметных объемах (256Кб, которые сейчас используют большая часть реализаций UEFI, а ведь есть еще ME, GbE и EC) стоит как самолет.
источник
Можено попробовать разнести модифицируемые часто и модифицируемые только при обновлении данные по разным SPI-микросхемам и защитить «джампером» последнюю, но это удорожает производство и разработку платы и прошивки, поэтому массовый рынок этим не заморачивается и, скорее всего, никогда не будет.
MasMaX
21.12.2017 09:25Проблема именно в возможности доступа к BIOS из операционки. Загрузчик Хакинтоша Clover очень любит например там свои разделы добавлять
GloooM
20.12.2017 21:42Сразу после выхода 17.10 обновился на него и понял что весьма сырой и кривой релиз как минимум по части десктопа. На основном ПК аж откатился обратно к 17.04, а вот ноут Lenovo B50-70 не стал обновлять, как оказывается весьма удачно )
encyclopedist
20.12.2017 23:19Это особенно неприятно, потому что часто именно ноутбуки Lenovo ThinkPad часто рекомендуют для работы с Linux
В списке пострадавших моделей нет ни одного Thinkpad. (есть только Thinkpad Yoga, но это "ненастоящий")
sup0stas
21.12.2017 05:58Это пока. Потом Lenovo превентивно накатят патч, который сломает что-то другое, затем патч на патч, в конце-концов проблемы с UEFI будут успешно воспроизводиться и на «настоящих» ThinkPad. Не в первой же, чесслово.
П.С. не холивара ради, но свои потребности в Linux на основном ноуте покрыл с помощью Windows Subsystem for Linux.
Cheater
21.12.2017 01:04Извиняюсь за нубство, а при чём здесь именно Ubuntu? У них свой собственный патчсет на ядро? Разве баг не должен проявляться в любом дистрибутиве с конкретным релизом ядра (при условии включённого в kernel config драйвера intel-spi)?
KivApple
21.12.2017 03:50+1Могу предположить, что далеко не во всех дистрибутивах этот модуль оказался включен по умолчанию, однако новость явно не полна без списка дистрибутивов, в которых этот модуль включен. Это не только убунта же должна быть…
Prototik
21.12.2017 19:52У них свой собственный патчсет на ядро?
Ну вообще-то да, но к теме это не относится. Ванильное ядро вообще без патчей не встречается даже в source-based дистрах. Ну, есть, конечно (допустим sys-kernel/vanilla-sources в генте), но им пользуются три с половиной калеки :)
GamaleyVV
21.12.2017 05:57Та же проблема на Lenovo Z70-80, но BIOS поломал openSUSE Tumbleweed. После его установки глюки и начались. Сейчас стоит Ubuntu и Венда. Очередность загрузки — кнопка F12 и выбор необходимой. efibootmgr и прочие утилиты под Линух и Венду не помогают. Пробовал загрузочную флэшку Arch — там rEFInd можно при загрузке можно загрузить. UEFI Shell с его командами записи и поиска переменных то же не помог. Скорее всего надо везти в сервис где могут перепрошить микросхему BIOS на прямую…
Oblom76
21.12.2017 05:58Тут непонятно только почему «шишки» сыпятся на Canonical?
Майкрософт, угробил таких машин больше на порядок, а то и натри.
Ситуация связана с тем, что во время POST процедуры, на флэше видны «наружу» как минимум две GUID партиции. И пока «тупит» HDD во время работы перечислителя доступных загрузочных устройств, загрузчик ОСи прилетает не по адресу и записывается вместо харда на флэшку. Если прилетает в NVRAM партицию — получаем глюки настроек, в DXE/OPROM — не включающийся труп.
Так же поступает и Win8-10 в UEFI режиме, правда она ни когда не предупреждает пользователя о том что собирается переподписать loader новым сертификатом. И по этому комп умирает тихо.
А тут просто ситуация легко просчитывается.mazy
21.12.2017 09:08«Вот оно че, Михалыч»
А я то думал, чего Это новенький Асус окирпичился после установки вин10. Просто черный экран при старте и все.
Поменяли по гарантии.SchmeL
21.12.2017 11:39Скоро возможно придет время, что на PC системах нельзя будет поставить ОС, без разлочки загрузчика, да и то только определенную версию. Будет как сейчас в смартфонах\планшетах.
rPman
22.12.2017 01:14Один из критереев выбора смартфона с android у меня сейчас — возможность установить cianogenmod/lineageos/аналог сборку, очищенную и безглючную (wifi/bluetooth/радиомодуль).
Я понимаю что таких как я капля в море, но это единственный доступный мне способ повлиять рублем на эту дибильную ситуацию.willyd
22.12.2017 01:40Один из критереев выбора смартфона с android у меня сейчас — возможность установить cianogenmod/lineageos/аналог сборку, очищенную и безглючную (wifi/bluetooth/радиомодуль).
Без сарказма.
А такие есть? Недавно решил попробовать поставить себе Lineage, и хоть образ и есть для моего телефона, радиомодуль не завелся, симка не определялась.
Потом решил посмотреть новые телефоны, которые поддерживаются. Но у всех находилось что-то нерабочее.
VioletGiraffe
21.12.2017 11:25+1Сколько имел и использовал Win 8 / Win 10 устройств, никогда не сталкивался с такой проблемой. Вряд ли она носит массовый характер.
DikSoft
21.12.2017 16:16Редко, но бывает. Acer W511. Попытка установить Win10 x64… результат — как выше. Только сервис и перепрошивка.
xztau
21.12.2017 07:39Так BIOS или UEFI?
AntonAlekseevich
21.12.2017 08:28Так BIOS или UEFI?
BIOS по привычке, UEFI более верно.
Offtopic:
Пострадавшим сочувствую.
Хороший все-таки дистрибутив, но от Canonical не ожидал что они тронут модуль Intel SPI.
Сейчас нужно этот модуль ядра править(возможно уже отправили патч на kernel.org), пока не будет поправлен, в конфиг его вносить только с параметром N!
CodeRush
21.12.2017 09:01Ребят, хоть кто-нибудь дамп прошивки в этом непонятном состоянии сделать догадался? Если тут есть кто-то с этой проблемой несохраняющихся настроек, способный загрузить Windows, напишите модель своего ноута, я расскажу как сделать дамп.
Без дампов это бесполезно расследовать, потому что гадание на кофейной гуще.
Если хотите гаданий, их есть у меня:
1. Линукс каким-то образом в очередной раз испортил прошивке NVRAM своей загрузочной записью, которую создал efibootmgr. Я про него устал уже проедупредждать, но похоже, надо делать это в каждом коментарии — авось кого-нибудь это остановит.
2. Драйвер spi_nor.c даже при простом поиске подключенных к нему чипов зачем-то пытается снять защиту от записи с некоторых из них, которую он не ставил и трогать не должен. Получается очень странная функция spi_nor_scan(), меняющяя состояние чипа. При этом чип, скорее всего, стартует с поставленным битом, а прошивка затем при записи пытается сбросить его через NEG, в результате только ставя его обратно. При этом для сброса на дефолты нужно полное обесточивание чипа (т.е. отсоединение батареи), либо установка этого бита вручную.
Короче, попробуйте для начала вынуть жесткий диск (чтобы не грузиться в этот линукс со странным драйвером) и батарею вынуть на минуту (не CMOS, а основную). Если после этого настройки начнут сохранятся — тут всяко второй вариант, а если не начнут — то может быть и первый, и что угодно еще.mewrx
21.12.2017 13:05поставил две недельки назад юбунту, после появилась выше описанная проблема, я и батарейку вытаскивал и все носители кроме загруз флешки, прийшлось записывать на хард винду через другой ноут, если опишите как сделать дамп то с удовольствием помогу.
CodeRush
21.12.2017 21:19Модель своего ноутбука подскажите, потому что снимать дамп нужно утилитой Intel Flash Programming Tool, а она не запустится если ее версия не совпадает с мажорной версией ME.
Oblom76
21.12.2017 13:24Дампов была целая куча, правда не от конкретного случая, а от случаев описанных выше. Возможно лежат гдет на харде до сих пор.
Рекордсмены по «вылету», это бюджетные модели, с дешевейшими хардами.
Да, чаще порется NVRAM. Ему и так не сладко, Win постоянно туда пихает свежие сертификаты, а место отведённое производителем не безразмерное. Это по мимо того что там живет.
Только единичные апдейты UEFI/BIOS реинициализируют/очищают область NVRAM. Обычно это можно сделать только при помощи сервисной прошивки с последующим вбиванием серийников и генерацией UID и т.д. Других методов, зачистки NVRAM силами пользователя обычно не предусмотрено.
Исключение — аппараты Apple. Они мало того что не позволяют Win складировать свой мусор в NVRAM, так и ещё имеют юзер ориентированную процедуру зачистки, правда если стоит flash password аппарат таки превратится в «тыкву»
stalker1313
21.12.2017 09:36Только себе думал поставить. Вот тебе и бесплатный Linux на 150$
willyd
21.12.2017 09:45Откуда 150? Чип стоит недорого. Работа 20-40 долларов.
stalker1313
21.12.2017 10:12Мне мое время дорого
willyd
21.12.2017 10:26Ну если по времени считать, тогда больше 150 выходит)
stalker1313
21.12.2017 10:29Повезло вам с зарплатой, если больше)
willyd
21.12.2017 10:47Ну как минимум день простоя и ремонт. Я даже не уверен, что быстро найду человека с программатором в городе, где сейчас живу.
ivanovlev
21.12.2017 11:19Я наверно «в танке», но в упор не понимаю, как софт, пусть даже операционка, может чем-то влиять на bios и его настройки. Они же совершенно отделены от всего остального, своя память, свои микросхемы. Даже интерфейс там в текстовом режиме рисуется
Oberon812
21.12.2017 11:30Даже интерфейс там в текстовом режиме рисуется
Давно вы в bios не заглядывали, ой давно. Там уже и игры есть, и просмотр фотографий пихают, и графики состояния вентиляторов с кривыми температур…
Daniil1979
21.12.2017 11:51Рукожопы, нах… И эти люди ещё имеют наглость обвинять в чём-то программистов Microsoft!
FreeManOfPeace
21.12.2017 12:17Рукожопы те кто делают ноутбуки где можно повредить загрузку средствами ОС, этак и на винде вирусы смогут делать переустановку винды невозможной или внедрение вредоносного кода уровнем выше ОС что он даже переустановку будет переживать.
EvgeniyNuAfanasievich
21.12.2017 12:36ага, потом ругань: не могли чтоли утилиту написать, для обновления из под винды??!11! Подавай им дискету с DOS в 20ХХ году!!!
Daniil1979
21.12.2017 13:41Если честно, после этого инцидента в мой личный чёрный список добавилась как Canonical с Ubunta, так и Lenovo, Acer и Toshiba.
sumanai
21.12.2017 15:33Такими темпами проще белый список составлять. Кстати, а что в нём будет то?
DaemonGloom
21.12.2017 13:19Обратите внимание: сейчас вы ругаетесь на программистов intel, сделавших данный драйвер. И на создателей ноутбуков, не осиливших хоть какую-то защиту системы сделать.
caveeagle
21.12.2017 13:29Правильно ли я понимаю данную статью: можно написать вирус, который превратит в кирпичи сотни тысяч ноутбуков определённых моделей? То есть, страшилка что можно испртить железо через софт, теперь сбылась?
joker2k1
21.12.2017 14:55Да просто счас кирпичи никому не нужны, акценты вирусописателей давно изменились. Станция должна быть рабочей, для участия в ботнетах, майнинга и спама. А так да, запоров себе биос, я тоже удивился что открыл америку.
venturus
21.12.2017 15:50+1До сих пор не могу понять, зачем ОС лезть в «святая святых» кроме как для перепрошивки биос целиком по запросу пользователя (и желательно спецутилитой, которая 100500 раз проверит совместимость и целостность прошивки). Ведь любая проблема ОС — это проблема с данными на винчестере и решается его форматированием, в крайнем случае, заменой. А замена/перепрошивка впаянной платы для 99% процентов пользователей означает дорогой сервис или мусорка.
rvbglas
21.12.2017 17:43А это привет от UEFI — там настройки загрузки хранятся «рядом» с биос (точнее — с UEFI как таковым), на соседнем разделе энергонезависимой памяти. Т.е. если, к примеру, там это устройство монтируется «не туда» (раздел с кодом на место раздела с переменными) или с неправильными правами (чтение-запись вместо только чтения), ну или не контролируется, что запись не выходит за пределы подмонтированного раздела — есть шансы получить граблями по лбу.
UR70
21.12.2017 15:51Линукс и баги — синонимы.
Стоял XUbunu15 на нетбуке, если делаешь апдейт оси и программ, и в это время нетбук засыпает или закрылась крышка — каюк системе, надо с бубном поднимать. Сейчас стоит 16-я версия, но магазин приложений х… работает, ну или ему подумать надо минут 30.
На рабочем компе рядом с виндой 7-й стоит Минт, как поставил, проверил принтер, все работало, сейчас по прошествии нескольких месяцев — нифига не работает, делаешь сворачивание программы, а программа из систрея пропадает.
В общем Линукс — для садомазо любителей, без Винды все равно не обойтись.
Так что теме про повреждение биос ни разу не удивлен, насмотрелся фокусов уже, крое тех что описал.TargetSan
21.12.2017 18:40Ооо, в винде багов тоже вагон. Например, у меня на рабочем ноуте Skype for на*Business умудрился начисто убить микрофонный вход через джек и через встроенную вебку. Работает только то что USB.
А Минт 17 у меня на личном ноуте счастливо живёт и прекрасно работает уже года три, безболезненно пережив дамп-перенос на SSD и случайно «запоротые» права на часть системных файлов.
willyd
22.12.2017 01:46В общем Линукс — для садомазо любителей, без Винды все равно не обойтись.
Внезапно, если вы не пользуетесь дистрибутивами, которые подразумевают настройку сего самостоятельно (Gentoo, Arch) или rolling release дистрибутивами, то вы раз поставили и забыли.
arthurchumak
21.12.2017 15:51Две недели назад столкнулся с этой проблемой на Acer e5-511, думал батарейка сдохла =( В итоге накатил refind.
Если нужна помощь, обращайтесь.
Vampireos
21.12.2017 17:58+1Правильный заголовок новости:
На некоторых ноутбуках Lenovo, Acer и Toshiba обнаружился баг в BIOS.
Сообщила об этом компания Canonical. В ходе установок Ubuntu 17.10 на ряд устройств данных компаний.
Подозреваю Каноникал прикрывает партнеров, дабы они понесли меньше убытков)
TargetSan
21.12.2017 18:29+1Объясните мне одну вещь. Почему так трудно добавить маленький ROM в микруху с полным образом прошивки и каким-либо способом принудительно залить этот образ (вместе с NVRAM) в основное пространство? Псевдо-экономия? Желание рубить бабло на сервисе случайно убитых ноутов?
MyFearGear
21.12.2017 20:45Ну системы типа dual-bios уже не первый год существуют.
Но, обратите внимание, только на дорогих и премиум материнках!
rvbglas
21.12.2017 18:37Похоже, в меньших масштабах, но граблями прилетало и раньше: www.dedoimedo.com/computers/lenovo-g50-read-only-nvram.html
LinuxComp
21.12.2017 18:45У меня Lenovo Flex 3, он есть в списке подверженных. Как раз делал экспериментальную установку 17.10, правда в редакции Kubuntu. Бага, описанного в этой статье у себя не заметил (по крайней мере пока). Настройки в Setup Utility сохраняются, со флешки гружусь нормально.
Также экспериментирую с хакинтошем. В uefi уже полно явно каких-то хакинтошных переменных, но ничего слишком плохого пока не происходило.
Но на всякий случай у меня есть и программатор, и дамп биоса, сделанный до всяких экспериментов =)
Я только не пойму, почему здесь говорится что «программатор не поможет» и единственный вариант лечения — только заменять микросхемку?
А вообще, на моём ноутбуке (думаю, на большинстве) не работает метод ICSP (прошивка микрухи на месте, не выпаивая из платы). Поэтому я себе купил десяток сокетов для bios чипов.Вот так выглядят эти сокетыk0ldbl00d
21.12.2017 19:19+1И всё же я считаю, если программным кодом можно необратимо вывести из строя аппаратную часть, то это проблема аппаратной части, а не ОС. Это могло произойти с любой другой ОС, не только Ubuntu.
giveittome
21.12.2017 20:15Я налетел на эту беду b50-70. Есть пара таких же ноутов с виндой.обошел беду удалением всего с hdd, при этом стал стартовать дистриб диск с виндой.
mike_y_k
21.12.2017 22:10если в бочку меда добавить ложку дегтя — лучше не станет.
Хотели как лучше, а получилось как всегда.
При разработке упущено столько моментов безопасности, что только удивляться приходится столь малому количеству кирпичей.
И почему для обеспечения нет отдельного чипа с железной реализацией всех алгоритмов? И без прямого доступа к flash памяти? И никаких дешевых альтернатив...
joker2k1
Тоже испортил себе биос на материнке асус, когда ставил хакинтош.
Мне непонятно, почему стандарт UEFI допускает такие повреждения, почему нельзя как нибудь привести биос к заводскому состоянию (ну кроме как программатором).
andreymal
По стандарту настройки и должны сбрасываться до заводских, но всем же плевать на стандарты и их корректную реализацию
ARD8S
Я не понял, при этом баге микросхема повреждается на запись, что её невозможно перезаписать рабочим образом?
Fullmoon
Рискну предположить, что нет, проблема софтовая, просто не подлежащая исправлению обычными методами сброса настроек.
У UEFI есть область энергонезависимой памяти, открытая на запись из ОС. Видимо, в данном случае произошёл какой-нибудь выход за границы массива или ещё чего хуже, и поломались функции сохранения настроек.
А перезаписать часто бывает возможно только оффлайн, загрузившись с флешки.
ARD8S
Ок. USB у меня отвалились, с флешки я запуститься не могу, ODD тоже нет. Я же могу установить freedos вместе с прошивкой на обычный SATA диск и запустить обновление BIOS. Полегче, чем выпаивать феном микросхему и менять её или загонять в программатор. Или так не сработает?
pavelchavyr
Как вы установите систему на диск, если ноут не позволяет загрузиться с внешнего носителя? Вынуть диск и поставить в другой комп? Так ноут с модифицированного диска не загрузится, в настройках UEFI прописан вполне конкретный файл в конкретной папке.
mm7
А как насчет загрузки из сети с TFTP сервера?
pavelchavyr
Чтобы загрузиться по сети, нужно зайти в настройки UEFI, выставить сетевую загрузку в приоритет, сохранить настройки и перезагрузиться. А он, сволочь, грузится со старыми настройками.
nidalee
Достать диск, записать как большую флэшку из образа, поставить обратно единственным диском? У БИОСа не будет выбора кроме как грузиться с нее.
Альтернативный вариант — отключить диски физически и подключить только USB flash.
Fullmoon
Пишут, что он просто не видит/не сохраняет новые пункты загрузки. Они в UEFI задаются достаточно нетривиально, вовсе не по принципу "грузимся с чего найдём".
nidalee
То есть надо понять принцип, по которому BIOS определяет «родные» разделы, и успешно его обмануть? Жаль нет ноута.
Fullmoon
ЕМНИП, там в качестве части идентификатора используется GUID. Успехов в обмане.
nidalee
Признаюсь, я не очень в этом разбираюсь… Только как пользователь. Можно ли восстановить удаленный раздел через что-то вроде TestDisk или он просто создает новый на том же месте?
Если восстановление возможно, то после этого в него просто нужно записать то, что требуется…
pavelchavyr
В Каноникал решили не морочиться и использовать Grub. Так что самый простой вариант — пошаманить с ним, заставив грузить нужную нам систему. Хотя костыль все равно
Fullmoon
Не понял, к чему вы это. В любом случае для UEFI нужно запихнуть в NVRAM информацию о разделе и файле загрузчика. Старый способ загрузки требует отдельного включения модуля совместимости. И то, и то недоступно, так как настройки не сохраняются.
gpyra
На двух разных ноутах если нет загрузочных записей, то по дефолту грузится /efi/boot/bootx64.efi. У меня так grub и установлен, с флагом --removable. efivars не тронуты.
Ktulkhu_Triediniy
А быстрое меню с выбором носителя, с которого надо одноразово загрузиться тоже отваливается вместе с этой багой? А то через него можно и с флешки стартануть.
bundzmm
Не обязательно, главное чтобы повезло и включена была загрузка по PXE. Тогда можно при загрузке нажать бут меню и выбрать его. А там уже крути как хочешь. Можно DRBL + Clonezilla и накатить что угодно.
mm7
а если отключить диск физически? тогда останется только сетевая загрузка.
Fullmoon
Не уверен. У меня вообще Асус с AMI, он умеет читать прошивку с подключённых ntfs-разделов. Но Леново такая Леново, не удивлюсь, если у них по многочисленным просьбам трудящихся это запрещено.
… а, нет, всё не совсем так. На багтрекере пишут, что BIOS тупо не находит новые разделы, ни на флешке, ни на подмененном харде. Только тот раздел, что был в момент установки.
И что попытка обновить прошивку из-под винды приводит просто к перезагрузке.
ARD8S
У меня нет ноута леново, мне не воспроизвести. Если ноут таки можно загрузить вообще, то я не понимаю никак что ломается-то? Раздел efi на винте, его взаимодействие с микросхемой, сама микросхема? Я про FreeDos писал. Т.е. пустой хард с freedos+файл прошивки, пробуем прошить, потом подсовываем старый винт. Ну или обычный десктопный sata odd через sata удлинитель вместо винта. Или ноут не загружается вообще никак?
Fullmoon
Ломается прошивка микросхемы.
Ещё раз. Во-первых, BIOS не видит никаких других разделов, из-за чего если система перестала загружаться (или если нужно переустановить систему, или ещё что), то насовсем, и никакой freedos не поможет. Во-вторых, перепрошить BIOS обычными средствами нельзя (они содержатся в самой прошивке и тоже поломались).
joker2k1
Ну если вы про мой случай, то загрузчик хакинтоша что-то записывал в список загрузки разделов EFI, для того чтобы стартовал хакинтош, но не учитывал какую то особенность именно материнки асус (проверено на двух h97), что приводило к ошибке старта биоса, и все. Черный экран и один гудок. Исправить ничего нельзя, потому что материнка вообще дохнет, и ничего не грузит, даже клавиатура не стартует. Отсоединение батарейки сохраняет эту область памяти.
willyd
joker2k1
Ну материнка накрылась, пришлось покупать такую же, только перед экспериментами сдампить bios )
KivApple
Если у вас есть программатор (раз вы как-то сдампили BIOS), то можно было бы скачать образ с сайта производителя (даже если он доступен только в виде EXE, обычно сам бинарный образ можно выдрать из него несложными манипуляциями) и записать вместо старого, зачем же покупать новую материнку… Или там были какие-то ещё повреждения?
EvgeniyNuAfanasievich
лучше взять готовый дамп с форумов по железякам и его залить, чтобы наверняка.
EvgeniyNuAfanasievich
а таким образом как вы советуете, вы весь ME регион похерите о останетесь без Wi-Fi, Ethernet и может даже еще чего ценного типа ключа активации винды))
Black_Shadow
Похерится серийный номер, UUID, может слететь MAC адрес (в моём случае почему-то не слетает), но всё это восстановимо фирменными утилитами разработчика UEFI. В общем, перепрошивка на программаторе даст возможность запустить систему, а дальше надо восстановить оставшееся.
ikle
Интеловская сетевая? Не сэкономили, значит, на EEPROM — если EEPROM распаяна, то MAC оттуда будет иметь преимущество. Попробуйте дамп снять ethool'ом. Там штатный PCI SVID/SPID MAC, AMT MAC, область AMT'ных переменных и ещё что-то.
P.S. Можно даже позаписывать в конец что-то своё: обычно больше 4K не используется, а EEPROM ставят 8K, 16K, 32K — только нужно запись, скорее всего, разлочить соответствующим параметром модуля сетевой при холодной загрузке — там запись блокируется на уровне микросхемы и блокировка сохраняется до следующего цикла питания.
Black_Shadow
Не, не интеловская, Realtek 8168.
ikle
У RTL8111/8186 тоже для этого дела EEPROM используется:
А вот и MAC:
(Нам PCI Subsystem VIP/PID перешивать нужно на OEM железе: у нас как раз 8111/8168 и интелы.)
Black_Shadow
Понятно.
joker2k1
Да я, честно говоря, не разбирался в вопросе тогда, для меня было большим шоком что можно какими-то необратимыми действиями угробить мать. Нигде предупреждений не было, делал с мыслью из 90х, что если что — отсоединю батарейку.
Ну купил потому что работать надо было, компа нет, а уж потом разобрался с вопросом и побежал к тем, у кого есть программаторы и прочее.
willyd
Я сначала смотрел osx86, а потом заказал железо. Конечно, это не особо помогло — заказывал у друга и он решил сделать мне «подешевле», в итоге нужно было кексты на сетевую, звук и видео подсовывать свои. Все работало, хотя uefi потом очищать нужно было перепрошивкой биоса.
MasMaX
Загрузчик хакинтоша (Clover видимо) действительно прописывает в BIOS помимо дисков конкретные разделы для загрузки. Причем прописать новый раздел туда легко, а удалять очень геморно. Но по-молучанию кловер вроде не прописывает биос, только по просьбе
r0mik
тут непонятно от того, что в статье, мягко говоря, совершенно нет никакой конкретики на тему что же на самом деле происходит, нет даже размышлений на тему «что могло происходит». статья написана в дуже «линукс портит компьютер», а факты и логические суждения скорей для бульварной газеты подошли бы.
на деле: «портится не БИОС» в прямом смысле — лочится на запись микросхема SPI Flash, это по всей видимости происходит при посредстве вышеупомянутого модуля ядра, посколько только он один и способен к таким действиям (для этого в т.ч. и был написан).
именно по этому, то есть от того, что SPI Flash аппаратно залочен на запись, никакое средство отката к стандартным настройкам БИОСа не сработает, потому как настройки-то хранятся в SPI Flash.
программатор тоже не поможет. поможет только физическая замена микросхемы…
Dioxin
Потому что современные программисты никогда не собирали себе компы сами, не паяли их, не писали на ассемблере и т.д.
amarao
Если бы современные программисты паяли бы себе компьютеры сами, вы бы сейчас использовали спаянный программистом телефон для ввода AT-команд для подлкючения к BBS'ке провайдера.
ReakTiVe-007
Похоже что драйвер прописывает в память игнорить все настройки из вне, в итоге замкнутый круг, нужно сохранить настройки что бы чип сохранял их, но он игнорит сохранение настроек о настройках сохранения))
Вспомнился случай, когда я в галакси с3 в tasker сделал перезагрузку по таймеру, но перепутал время и получил что то типа с 8ч.02м перезагружаться до 8ч.01м(надо было указать наоборот) в итоге тел перезагружался без конца, а поскольку менюшка тупит и таскер загружается не сразу то выключить этот пункт я не успевал до перезагрузки(на все действия примерно 2 секунды). Примерно через час повезло и навыки слепого включения таскера за долю секунды и вайпа на нужном пункте привели к успеху)