Похож на Ваш диск, был поврежден и заставляет критические ошибки когда что-то считывать данные. Вероятно, физическая ошибка где-нибудь в разделе Linux (так как можно загрузить Windows). Попытайтесь загрузиться от liveCD, но не используйте его для начальной загрузки в установленный Linux.
Я рекомендую SystemRescueCD. Чтобы проверить, что это - проблема жесткого диска, загрузите этот liveCD, затем:
boot:
подсказка.mhdd
и нажмите EnterSCAN
начинать сканировать дискПосмотрите эту ошибку: 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, и т.д.), но это могло бы быть что-то, что Вы могли выполнить от крона и автоволшебно обнаружить обновления ядра, произошли.
насколько я помню, что новейшее ядро всегда является первым в/boot/grub/grub.conf файле. Для автоматической загрузки первой записи, необходимо поместить следующие две строки наверху grub.conf
default 0
timeout 1
Загрузчик личинки ожидает timeout
время в секундах. И default
x ядро в списке ядер.
относительно mkinitcpio
: Я не думаю, что существует простой способ. Но я всегда думал, последнее и текущее ядро будут доступны во время начальной загрузки, и новейшее ядро всегда в postition 0 в grub.conf.