Давно уже мне не приходилось сисадминить, а тут опять. Накопилось проблем на моём домашнем линуксном ноутбуке. Началось с того, что после очередного обновления BIOS от Lenovo линукс перестал стартовать. Пришлось разбираться, а заодно лечить давно накопившиеся проблемы.
Три года назад я купил себе новый ноут Lenovo ThinkPad P1, взамен сломавшегося Dell Inspiron 5551. Компьютер шёл с предустановленным Windows. Мне не особо нужен Windows, изредка, чтобы гонять радиолюбительский софт. Я тогда уполовинил раздел Windows на диске и на вторую половину установил Ubuntu. Которой и пользовался всё это время.
Два года назад после очередного обновления Windows 10 сломался и перестал фунциклировать. Известная нашумевшая проблема с кривым апдейтом. Ну и бог с ним, подумал я, и перестал бутить этот Windows вообще. Типа, потом когда-нибудь разберёмся, когда Микрософт баги починит.
Потом мне перестало хватать 250 Гбайт линуксного раздела. Я купил установил ещё один диск NVME, терабайтный на этот раз, чисто для Линукса. Но переставлять систему было лень, так что я смонтировал второй диск как /home. А грузился Линукс всё ещё с первого диска, причём по старинке, без UEFI.
И тут пришло обновление BIOS. Линукс отслеживает появление обновлений от Lenovo и предлагает установить, стандартной командой fwupdmgr. Обновления обычно проходят гладко, но в этот раз Линукс не загрузился с обновлённым биосом. Вместо этого вылез покалеченный Windows. Как позже выяснилось - изменилась дефолтная установка и обязательно требовался UEFI. Но я ещё этого не знал, и пришлось начать долгий процесс разбирательства.
1. Записать загружабельную флешку с установочным образом Ubuntu 22.10. Она же работает как LiveCD, и с неё можно бэкапить файловые системы, менять таблицу разделов, конфигурить первисный загрузчик и прочее.
2. Купить USB-диск для бэкапа. В принципе, у меня был старый 4-терабайтный Seagate, но он оказался забит всякой музыкой и фильмами, и вообще он в формате exFAT, а хотелось обычный линуксный ext4 для простоты. Сбегал в BestBuy и взял двухгиговый SanDisk G-drive ArmorATD. И скорость у него заметно выше, благодаря интерфейсу USB-С 3.1.
3. Для начала установить на бэкапный диск Ubuntu. Это очень удобно: при восстановлении можно грузиться прямо с бэкапного диска и переписывать всё, что нужно.
4. Переписать нужные файлы с разделов Windows10 и Ubuntu на бэкапный диск. Заодно и содержимое разделов EFI полезно сохранить для последующего разбирательства.
5. Убедиться, что Линукс корректно стартует с бэкапного диска. Тут пришлось покумекать, так как выяснилось, что линуксный установщик по какой-то причине прицепился к разделу EFI на основном диске NVME, вместо внешнего диска USB. Пришлось вмешаться и переставить GRUB вручную.
6. Стереть содержимое старых дисков NVME, обоих. Чтобы никакой древний мусор с них не перелез при установке нового Линукса и Windows. Бережёного бог бережёт. Эта операция заняла несколько часов: перезаписать полтора терабайта непросто.
7. Установить свежий Ubuntu 22.10 на первый диск NVME. Убедиться, что раздел EFI и загрузчик GRUB встали корректно.
8. Восстановить все файлы с бэкапного диска. Основное это /home, /opt, /usr/local, ну и всякое в /etc по мелочи.
9. Скачать установочный образ Windows10 с сайта Микрософт, пободаться с ним и убедиться, что дело тухлое. Он грузится, пытается ставить систему и первым делом спрашивает: а где у тебя, милок, драйверы для твоей конкретной материнки? Хрен его знает. На сайте Lenovo сотни каких-то драйверов для ThinkPad P1, пойди разбери.
10. Плюнуть и заказать у Lenovo за $29 установочную флешку Windows10 для этой конкретной модели ноутбука. Теперь жду, когда пришлют. Второй диск NVME остаётся пустым в ожидании этой флешки.
Это всё из серии "как я провёл выходные".
Три года назад я купил себе новый ноут Lenovo ThinkPad P1, взамен сломавшегося Dell Inspiron 5551. Компьютер шёл с предустановленным Windows. Мне не особо нужен Windows, изредка, чтобы гонять радиолюбительский софт. Я тогда уполовинил раздел Windows на диске и на вторую половину установил Ubuntu. Которой и пользовался всё это время.
Два года назад после очередного обновления Windows 10 сломался и перестал фунциклировать. Известная нашумевшая проблема с кривым апдейтом. Ну и бог с ним, подумал я, и перестал бутить этот Windows вообще. Типа, потом когда-нибудь разберёмся, когда Микрософт баги починит.
Потом мне перестало хватать 250 Гбайт линуксного раздела. Я купил установил ещё один диск NVME, терабайтный на этот раз, чисто для Линукса. Но переставлять систему было лень, так что я смонтировал второй диск как /home. А грузился Линукс всё ещё с первого диска, причём по старинке, без UEFI.
И тут пришло обновление BIOS. Линукс отслеживает появление обновлений от Lenovo и предлагает установить, стандартной командой fwupdmgr. Обновления обычно проходят гладко, но в этот раз Линукс не загрузился с обновлённым биосом. Вместо этого вылез покалеченный Windows. Как позже выяснилось - изменилась дефолтная установка и обязательно требовался UEFI. Но я ещё этого не знал, и пришлось начать долгий процесс разбирательства.
1. Записать загружабельную флешку с установочным образом Ubuntu 22.10. Она же работает как LiveCD, и с неё можно бэкапить файловые системы, менять таблицу разделов, конфигурить первисный загрузчик и прочее.
2. Купить USB-диск для бэкапа. В принципе, у меня был старый 4-терабайтный Seagate, но он оказался забит всякой музыкой и фильмами, и вообще он в формате exFAT, а хотелось обычный линуксный ext4 для простоты. Сбегал в BestBuy и взял двухгиговый SanDisk G-drive ArmorATD. И скорость у него заметно выше, благодаря интерфейсу USB-С 3.1.
3. Для начала установить на бэкапный диск Ubuntu. Это очень удобно: при восстановлении можно грузиться прямо с бэкапного диска и переписывать всё, что нужно.
4. Переписать нужные файлы с разделов Windows10 и Ubuntu на бэкапный диск. Заодно и содержимое разделов EFI полезно сохранить для последующего разбирательства.
5. Убедиться, что Линукс корректно стартует с бэкапного диска. Тут пришлось покумекать, так как выяснилось, что линуксный установщик по какой-то причине прицепился к разделу EFI на основном диске NVME, вместо внешнего диска USB. Пришлось вмешаться и переставить GRUB вручную.
6. Стереть содержимое старых дисков NVME, обоих. Чтобы никакой древний мусор с них не перелез при установке нового Линукса и Windows. Бережёного бог бережёт. Эта операция заняла несколько часов: перезаписать полтора терабайта непросто.
7. Установить свежий Ubuntu 22.10 на первый диск NVME. Убедиться, что раздел EFI и загрузчик GRUB встали корректно.
8. Восстановить все файлы с бэкапного диска. Основное это /home, /opt, /usr/local, ну и всякое в /etc по мелочи.
9. Скачать установочный образ Windows10 с сайта Микрософт, пободаться с ним и убедиться, что дело тухлое. Он грузится, пытается ставить систему и первым делом спрашивает: а где у тебя, милок, драйверы для твоей конкретной материнки? Хрен его знает. На сайте Lenovo сотни каких-то драйверов для ThinkPad P1, пойди разбери.
10. Плюнуть и заказать у Lenovo за $29 установочную флешку Windows10 для этой конкретной модели ноутбука. Теперь жду, когда пришлют. Второй диск NVME остаётся пустым в ожидании этой флешки.
Это всё из серии "как я провёл выходные".
