після ранкового випробування нового mavic mini відкрив ноутбук, щоби встановити kdenlive… ймовірно, мій manjaro намагався при цьому принагідно поновити ядерце, бо попросився перезавантажитися… і не зміг:
initramfs unpacking failed: invalid magic at start of compressed archive
kernel panic - not syncing: vfs: unable to mount root fs on unknown-block
...
що робити? спробуємо поремонтувати.
-
завантажуємося з liveusb ― тут скористаюся нагодою й порекламую ventoy: оце лише нещодавно відкрив для себе, і не розумію, як раніше без цього інструмента жив;
- ідентифікуємо кореневий розділ лептопа (використовуючи тип та розмір файлової системи, і модель накопичувача за підказки):
lsblk -o +FSTYPE,MODEL,UUID
- монтуємо кореневий розділ лептопа (в моєму випадку
/dev/sda3
) до тимчасової теми середовища liveusb (/mnt/laptop_root/
):sudo mkdir /mnt/laptop_root sudo mount /dev/sda3 /mnt/laptop_root ls -l /mnt/laptop_root # перевірка
- тимчасово призначаємо
/mnt/laptop_root
коренем для подальшого ремонту (командаmanjaro-chroot
специфічна для manjaro):manjaro-chroot -a /mnt/laptop_root
- перестворюємо образ завантаження
initcpio
(швидше за все, проблема під час поновлення виникла десь тут):mkinitcpio -P
- виходимо з chroot і пробуємо перезавантажитися нормально (
poweroff
замістьreboot
, щоби не вгадувати мить, коли треба висмикнути флешку liveusb):exit poweroff
результат: дзуськи, та сама помилка! чому? гуглимо, і здогадуємося, що з нещодавнім поновленням змінився дефолтний метод стиснення образу initcpio (з gzip
на zstd
), через що загрузчик не може прочитати образ. повторюємо всю процедуру, але безпосередньо перед mkinitcpio -P
(крок 5) розкоментовуємо один рядок у файлі /etc/mkinitcpio.conf
, щоби явно вказати необхідний метод:
vi /etc/mkinitcpio.conf
# ---- >8 ----
COMPRESSION="gzip"
# ---- 8< ----
цього разу після перестворення образу система перезавантажується нормально.