pacmanのダウングレードとか
Arch Linuxがアップグレードしたらkernel panicで起動しなくなったんだが、復旧できたんでメモ。
アップグレード前は軽く対象に目を通すが、linuxがアップグレード対象なのはわかってた。
grubは無かったつもりだった。
まず、インストールディスクから起動して、loadkeysして/dev/sda1をマウントしてchroot。
chrootはarch-chrootコマンドで一発。2番目の引数に/bin/bashつけるとbashになることを知った。
消してなければ、/var/cache/pacman/pkg以下に過去にダウンロードしたパッケージがたくさんある。
ファイルの日付はダウンロード日?になってるので、本日から順にgrepで絞って探して行った。
pkgファイルの日付で確認したが、pacmanのアップロード履歴もどっかにありそうだが・・・
今回アップしたパッケージがlinux-3.14.6-1-x86_64.pkg.tar.xzで前回のがlinux-3.14.5-1-x86_64.pkg.tar.xzだったんで、
Arch怖い・・・
kernel panicとかFedora以来だわ。
あと、Grubのメニューにfallback kernel的な項目あるが、
kernelアップデートでトラブった場合はこれで起動できるもんだと思ってたんで、grubのバグ以外なら起動しないほどの重症は回避できるもんだと思ってたんだが、
今回はkernelのアップデートでfallbackも起動しなかった。
fallbackは自分で設定しないといけないのかこれ?
アップグレード前は軽く対象に目を通すが、linuxがアップグレード対象なのはわかってた。
grubは無かったつもりだった。
まず、インストールディスクから起動して、loadkeysして/dev/sda1をマウントしてchroot。
loadkeys jp106
mount /dev/sda1 /mnt
arch-chroot /mnt /bin/bash
いつも忘れるが、ディスク起動だと日本語キーボード使えなくて記号が入力できないからloadkeys jp106する。mount /dev/sda1 /mnt
arch-chroot /mnt /bin/bash
chrootはarch-chrootコマンドで一発。2番目の引数に/bin/bashつけるとbashになることを知った。
消してなければ、/var/cache/pacman/pkg以下に過去にダウンロードしたパッケージがたくさんある。
ファイルの日付はダウンロード日?になってるので、本日から順にgrepで絞って探して行った。
ls -al /var/cache/pacman/pkg | grep "Jun 10"
ls -al /var/cache/pacman/pkg | grep "Jun 9"
ls -al /var/cache/pacman/pkg | grep "Jun 8"
てな感じで、今日が6月11なんで、日付をさかのぼって最新パッケージ探して行って、やはりgrubはアップして無さそうで、linuxが怪しかった。ls -al /var/cache/pacman/pkg | grep "Jun 9"
ls -al /var/cache/pacman/pkg | grep "Jun 8"
pkgファイルの日付で確認したが、pacmanのアップロード履歴もどっかにありそうだが・・・
ls -al /var/cache/pacman/pkg | grep "linux-3"
でkernelのパッケージの一覧を出した。今回アップしたパッケージがlinux-3.14.6-1-x86_64.pkg.tar.xzで前回のがlinux-3.14.5-1-x86_64.pkg.tar.xzだったんで、
pacman -U /var/cache/pacman/pkg/linux-3.14.5-1-x86_64.pkg.tar.xz
して再起動したら起動した。Arch怖い・・・
kernel panicとかFedora以来だわ。
あと、Grubのメニューにfallback kernel的な項目あるが、
kernelアップデートでトラブった場合はこれで起動できるもんだと思ってたんで、grubのバグ以外なら起動しないほどの重症は回避できるもんだと思ってたんだが、
今回はkernelのアップデートでfallbackも起動しなかった。
fallbackは自分で設定しないといけないのかこれ?