Grub не находит ядро ​​

Инструменты aptне поддерживают откат, поэтому простого способа отменить обновление не существует. Вам нужно определить пакеты, которые вы хотите понизить, и найти соответствующие двоичные файлы, чтобы передать их aptили dpkg. Есть несколько подходов, которые вы можете использовать.

Самый распространенный способ — использовать snapshot.debian.org . Он содержит копию каждого отдельного пакета, загруженного в архивы Debian, а также предоставляет репозитории моментальных снимков с согласованным набором пакетов для заданной метки времени. В вашем случае вы должны найти соответствующую версию gimpисходного пакета , а затем добавить соответствующий репозиторий в исходный код (, см. инструкции на главной странице ).

Другой подход, который работает в данном конкретном случае и который вы рассматривали, заключается в добавлении Debian 10 в ваши репозитории, поскольку версия пакета gimp, до которой вы хотите перейти, доступна там. В настоящее время это не приведет к понижению версии, кроме пакетов gimp; вы получите только libopenexr23рядом с libopenexr24.

Наконец, поскольку у вас все еще есть более старый пакет в aptархивах (/var/cache/apt/archives), вы можете установить его оттуда, либо используя dpkg -i, либо превратив свой кеш в репозиторий :

.

  • скопируйте все пакеты в безопасное место
  • создайте файл Packages:dpkg-scanpackages. > Packages(в каталоге, в который вы скопировали все пакеты; вам понадобится dpkg-devдляdpkg-scanpackages)
  • сжать файл Packages:gzip < Packages > Packages.gz(это сохранит оба файла)
  • создайте файл Release:apt-ftparchive -o "APT::FTPArchive::Release::Origin=cache-repository" release. > Release(вам понадобится apt-utilsдляapt-ftparchive)
  • подпиши:gpg --yes --sign --armor --clearsign --output InRelease Release

Затем вы можете добавить запись deb file:/path/to/...в свои репозитории и устанавливать пакеты оттуда. (Вы можете пропустить этап подписания, если укажете aptсчитать репозиторий надежным.)

0
20.11.2021, 02:11
1 ответ

Теперь моя система исправлена, но я не знаю, какие из предпринятых мной шагов были действительно необходимы. Вероятно, самой важной частью было полное удаление активного ядра и его переустановка вместо того, чтобы «просто» переустанавливать его на место. mhwd-kernel -r linux510не работает, если в данный момент используется ядро ​​5.10, но это работает:

yay -Rdd linux510 linux510-acpi_call linux510-bbswitch linux510-broadcom-wl linux510-headers linux510-nvidia linux510-r8168 linux510-rtl8723bu linux510-tp_smapi linux510-vhba-module linux510-virtualbox-host-modules

Часть ddпозволяет игнорировать все проблемы с зависимостями.

Я также снова удалил ядро ​​5.15, которое установил во время устранения неполадок. Затем я переустановил ядро ​​5.10 примерно так:

yay -S linux510 linux510-extramodules

После этого каталог /bootсодержал файлы initramfs-5.10-x86_64-fallback.img, initramfs-5.10-x86_64.img, intel-ucode.imgи vmlinuz-5.10-x86_64, которых раньше там не было.


Я также использовал эту команду:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

Там я не использовал каталог EFI /boot/EFI, хотя он существует. Я не знаю, была ли эта команда необходима.

Я также использовал эти команды:

grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -P
update-grub

Я не знаю, какие из них были необходимы. После этого я перезагрузился, выбрал в биосе запись, начинающуюся с «UEFI», и система снова запустилась нормально.

0
21.11.2021, 20:03

Теги

Похожие вопросы