Автоматически включайте последние версии ядра N в меню GRUB / GRUB2 на обновлении ядра

Похож на Ваш диск, был поврежден и заставляет критические ошибки когда что-то считывать данные. Вероятно, физическая ошибка где-нибудь в разделе Linux (так как можно загрузить Windows). Попытайтесь загрузиться от liveCD, но не используйте его для начальной загрузки в установленный Linux.

Я рекомендую SystemRescueCD. Чтобы проверить, что это - проблема жесткого диска, загрузите этот liveCD, затем:

  • В меню начальной загрузки нажимают Esc - Вы будете видеть a boot: подсказка.
  • ввести mhdd и нажмите Enter
  • ожидайте его, чтобы распознать диски и выбрать Ваш жесткий диск
  • нажмите F4 или тип SCAN начинать сканировать диск

5
26.12.2013, 23:05
2 ответа

Посмотрите эту ошибку: https://bugs.archlinux.org/task/16702#comment80122

И это сообщение в блоге: http://losinggeneration.homelinux.org/2009/10/16/why-arch-linuxs-kernel-upgrades-suck/

До сих пор я не нашел хорошее решение, но я обновлю, если я сделаю.

Одной вещью иметь в виду вне личинки, ядра и initrd является/usr/lib/modules/. То, когда пакет Linux обновляет старый пакет, удаляет, это - папки в/usr/lib/modules/, и новое ядро добавляет свои новые модули. Если Вы хотите обе работы ядер, Вы собираетесь хотеть оба набора модулей. И/usr/src/содержит заголовки ядрa (должен был создать новые модули, такие как драйверы Nvidia), таким образом, Вы, вероятно, захотите сохранить их, также.

Шаги, которые я предполагаю, были бы чем-то как:
1. Обнаружьте пакет Linux, будет обновленным.
2. Резервное копирование, что это собирается удалить на удалении (/usr/src/$ (uname-r),/usr/lib/modules/$ (uname-r),/boot/{vmlinuz-linux, initramfs-linux.img, initramfs-linux-fallback.img})
3. Позвольте pacman сделать свое обновление
4. Восстановите все в 2 (вероятно, давание нового имени к материалу в начальной загрузке /
5. Личинка редактирования или что бы то ни было.

Альтернативные (несколько менее хорошие) шаги
1. Позвольте pacman обновить
2. Обнаружьте ядро, был обновлен
3. от/var/cache/packman/pkg/linux-$ {previous_version}-pkg.tar.xz извлекают/usr/src/,/usr/lib/{модули, extramodules}, и/boot/vmlinuz (переименовывающий тот в начальной загрузке/, очевидно)
4. выполненный mkinitcpio с-k опцией создать старый init
5. Личинка редактирования или безотносительно

В этом альтернативном методе Вы освобождаете свои сторонние модули (виртуальное поле, ATI/Nvidia, и т.д.), но это могло бы быть что-то, что Вы могли выполнить от крона и автоволшебно обнаружить обновления ядра, произошли.

2
27.01.2020, 20:42
  • 1
    Спасибо за ссылки это - очень хорошее чтение. Интересно, сколько времени это возьмет, прежде чем проблема решена, как предложено в связанном комментарии. Достаточно долго это кажется мне. Ответ очень полезен, тем не менее, еще раз спасибо. –  Lev Levitsky 13.10.2012, 01:42
  • 2
    В/etc/pacman.conf можно проигнорировать "Linux". Это поворачивает ядро (и зависимости как модули) в ручные установки. "Yaourt" не доволен этим, все же. :-/ wiki.archlinux.org/index.php/Downgrading_Packages описывает использование Вашего локального кэша пакета для переустанавливания старых пакетов. Это могло быть полезно. –  bobpaul 17.10.2012, 00:37

насколько я помню, что новейшее ядро всегда является первым в/boot/grub/grub.conf файле. Для автоматической загрузки первой записи, необходимо поместить следующие две строки наверху grub.conf

default         0
timeout         1

Загрузчик личинки ожидает timeout время в секундах. И default x ядро в списке ядер.

относительно mkinitcpio: Я не думаю, что существует простой способ. Но я всегда думал, последнее и текущее ядро будут доступны во время начальной загрузки, и новейшее ядро всегда в postition 0 в grub.conf.

0
27.01.2020, 20:42
  • 1
    Нет, предыдущее ядро не доступно по умолчанию, к сожалению. –  Lev Levitsky 11.10.2012, 15:13

Теги

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