Ubuntuアップグレード (12.04 → 14.04.1) でgrubトラブル
/*----------- -----------*/
Ubuntu LTSのアップグレード・スケジュール
今動かしているのが非LTSの場合、新しいリリースが利用可能になり次第自動アップグレードできるようになる。つまり13.10を使っているなら14.04がリリースされ次第アップグレード可能になるわけだ。しかし今使っているのがLTSだと、新しいリリースのマイナーバージョンが1つ上がって14.04.1にならないと自動アップグレードは可能にならない。安定性重視、と言うことだ。
Ubuntu 14.04.1 LTSは7月24日リリース予定だったが、特に遅れなくリリースされた模様である。
アップグレードの準備
最悪Ubuntuは再構築しても良かったので、念のためデータの入っている/homeパーティションだけバックアップしてアップグレードを開始した。
トラブル
アップグレードは大した問題もなく完了し、再起動までこぎつけた。しかし!再起動したら見慣れない画面で止まってしまった。
grub rescue> _
起動環境に何か問題があることは分かる。しかしお初にお目にかかる画面でどうしていいのか皆目見当がつかない。こういう時はGoogle先生頼みだ。
パーティションの切直しなどしていないのでgrubの何かが壊れた可能性が高い。とりあえず起動できるようにしてgrub-installすれば直るはずである。検索でヒットしたページを参考に起動を試みたが、何かおかしい。
grub rescue > set prefix=(hd0,msdos1)/boot/grub grub rescue > insmod (hd0,msdos1)/boot/grub/i386-pc/normal.mod error: file '/boot/grub/i386-pc/normal.mod' not found grub rescue > ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod error: not a directory
lsはnormal.modが在ると言っているのだがinsmodでは見つからない。ナンデ??
日本語の答えは見つからなかった。こういう時は英語で探し直すしかない。ナルホド、こういうことなの?
(MorrisseyJの答えの冒頭)
It seems that one cause of this problem is the installer thinking that you have EFI secure boot, when you don't and therefore loading the incorrect GRUB files.
この問題の原因の一つは、インストーラーが本当はそうじゃないのにEFIのセキュアブートになっていると考えて間違ったGRUBファイルをインストールしてしまう事らしい。
私の場合、問題になっているPCのCPUはNorthwoodコアのPentium4だ。10年以上使っている。もちろんUEFIなんかじゃあない。言うのが遅くなったがUbuntuは32ビット版だ。またハードディスクの区画はsda1=/、sda2=SWAP、sda3=/homeである。grubはsda1の/bootディレクトリー下にインストールされているはずだ。
もしかすると本当の原因は別にあるのかもしれないが、「grub rescue>」でどんなに頑張ってもダメな場合があると分かった。さっさとDVDかUSBメモリーからUbuntuを起動してgrub-installするのが吉である。手元に14.04の起動メディアが無かったので12.04のものを使った。ハードディスクのUbuntuが起動してからgrub-installをやり直せばよいから、とりあえず起動させるにはgrubのバージョンなどはあまり関係ない。起動メディアからUbuntuが立ち上がったら、
$ sudo mount /dev/sda1 /mnt $ sudo grub-install /dev/sda --root-directory=/mnt
これで再起動。「file not found」が3行出てヒヤッとした。grub-installした時と環境が違っているからだろうか。しかし最終的にハードディスクからUbuntu 14.04.1が起動した。こうなればこっちのものだ。
$ sudo grub-install /dev/sda
これで再起動。「file not found」はもう出ない。dmesgなど確認しても問題なし。これにて一件落着。
今回のまとめ
自動アップグレードだったから問題が起こったのか、クリーンインストールでも同じ問題が起こり得るのか、定かではない。いずれにせよ古いハードウエアでUbuntuをアップグレードする際の要注意点である。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- ヤマハルーターのL2TP/IPsecが遅い(2017.05.04)
- Ubuntuアップグレード (12.04 → 14.04.1) でgrubトラブル(2014.08.13)
- ワットチェッカー的なものを自作する (その2)(2014.08.08)
- ワットチェッカー的なものを自作する (その1)(2014.08.01)
- 意図しないドラッグ&ドロップを防ぐ(2014.06.30)
この記事へのコメントは終了しました。
コメント
た、助かりました!!ありがとうございますーヽ(´▽`)/
投稿: | 2014年9月18日 (木) 14時53分
どういたしまして ´ω`)ノドモ
投稿: エンジニア | 2014年9月18日 (木) 17時53分