суббота, 28 октября 2017 г.

Ubuntu Mate 17.10 + microcode

В апреле 2016 года я установил на свой основной компьютер Ubuntu Mate 16.04 Типичная Убунта со своими плюсами и минусами. Интересности начались в конце августа 2017 года, когда после установки очередного нового ядра (не из ppa) система не загрузилась. Просто чёрный экран. С последующими новыми ядрами система также не грузилась. Разбираться не стал, т.к. уезжал почти на месяц на юг. По приезду привычно обновил систему и больше она не запускалась даже со старым ядром. Посчитав это знаком решил сразу подождать и поставить 17.10, благо должна была выйти через пару недель. Дальше интереснее - лайв сиди запускается, система грузится, но стоит её установить на ssd, как она перестаёт загружаться. ОЗУ в порядке, если систему поставить на старый ЖД, то она также не запускается. Тогда я решил поиграться с режимами загрузки и увидел интересное сообщение про intel-microcode update. Тут мне стало понятно, я при установке сразу же разрешаю обновление пакетов и установку проприетарных прошивок и драйверов. Тогда я по-новой загрузился в режим лайв сиди и удалил пакет intel-microcode, после этого система загружается и работает как обычно.

Как исправить? Грузимся с лайв сиди. Далее монтируем корневой раздел установленной системы. Можно просто тыкнуть на него в caja и всё. Далее открываем терминал и пишем команды.

sudo bash 

mount --bind /dev /media/.../%uuid%/dev

mount --bind /proc /media/.../%uuid%/proc

mount --bind /sys /media/.../%uuid%/sys

Где %uuid%/ - имя каталога, куда смонтировался ваш корень системы.

sudo chroot /media/.../%uuid%/
 
Chroot-имся в установленную систему и удаляем пакет.

apt-get purge intel-microcode

Далее выходим из chroot с помощью команды exit 

Отмонтируем наши точки монтирования с помощью команд:

umount /dev /media/.../%uuid%/dev

umount /proc /media/.../%uuid%/proc

umount /sys /media/.../%uuid%/sys

Отмонтируем /, выбрав на нужном томе в caja - отсоединить том и перезагружаемся в починенную систему.

Я взял статью Восстановление GRUB с сайта http://help.ubuntu.ru  в помощь в chroot. Как становится понятно, chroot нужен в том случае, если система не грузится, а что там делать - править конфиги, чинить загрузчик или удалять кривой пакет. Это уже не важно.

Немного теории: процессоры Интел (и не только) могут содержать ошибки. Для их исправления производители материнок выпускают обновлённые версии BIOS. В моём случае версия была довольно свежая, так как с заводской линуксы зависали намертво. Обновление до самой последней мою проблему с intel-microcode не решали. Зачем нужен этот пакет? Он тоже исправляет ошибки в процессоре. Скажем, если производитель забил на обновление БИОС, то этот firmware подгрузится и исправит на лету ошибки ЦП. Если же биос свежий, то ничего не происходит. В моём случае же видимо была двойная работа, ошибки ЦП уже исправлены в БИОС материнки и повторно исправлялись этим пакетом. Так как всё это зашито в initramfs, то и загрузиться даже в recovery mode не получалось.

Конфигурация моего ПК: Intel i5675c+Asus Z97PRO Gamer bios 2203

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

Говоря о новой версии - в принципе, обычная такая версия. Свежий Mate. Работает довольно шустро. В логах при загрузке проскакивают ошибки про acpi и отсутствие пакета intel-microcode, но всё работает. Из неприятных моментов - зашиты значки расскладки клавиатуры. Страшные и убогие, а мои красивые, которые лежали в ~/.icons не воспринимаются. Испортили dconf - невменяемый вид. Также намертво прибили стартовую страничку в Firefox, которая ведёт на сайт дистрибутива. Исправить можно так:

sudo rm /usr/lib/firefox/ubuntumate.cfg /usr/lib/firefox/defaults/pref/all-ubuntumate.js

Решение взято с opennet (аноним в комментариях).

Картинка со сведениями о системе:



Комментариев нет:

Отправить комментарий