Ubuntu Serverをインストールし終えていよいよ起動というときに、下の画面のような表示が出て起動しない場合があります。
検索で辿り着けるようにテキストでも書いておきましょうか。
「This kernel requires the following features not present on the CPU:0:6
Unable to boot – please use a kernel appropriate for your CPU.」
意訳すると、「このカーネルはあんたのCPUには無い機能を必要としているよ。起動できまへん。あんたのCPUに合ったカーネルを使ってね。」とこんな感じ。
このような場合、PAE (Physical Address Extension)が無効なせいかもしれません。
Ubuntu ServerではPAEが有効である前提でインストールをしているようなのです。
Intel PentiumPro以降のCPUの多くがPAEを実装しているとのことで、問題が出るケースはそう多くはないのかもしれませんが、PAEを有効にできない仮想環境や運悪くPAEを実装していないCPUで起動した場合には対処が必要になります。
というか、うちの自宅サーバーのCPUはIntel PentiumM (Banias)でがっつり引っかかってしまいました。PentiumMは省電力・高効率を目指したモバイル(ノート)PC向けのCPUなのでPAEには対応しなかったのかもしれませんね。
さて、肝心の対処方法ですが、インストーラーCD/DVDで起動して「壊れたシステムを修復(R)」を選択します。
ネットワークの設定くらいまでは通常のインストールと同じですが、その後下のような画面が出ます。
これは実験的にVirtualBOXにてPAE無効で仮想マシンを作成してインストールしてみたものです。ディスクは1つで全体を使用し、LVMを導入しています。
上の3つは物理(といっても仮想ですけど)パーティション。下の2つは論理ボリュームです。「te3」というのはホスト名です。
カーネルを入れ替えたいので/bootの存在するパーティションを選択します。自動でパーティションを作成した場合は一番上のパーティションで良いでしょう。
次にレスキュー操作を選択しますが、「インストーラー環境内でシェルを実行」を選択します。
レスキューモード説明の画面が出てきます。ファイル配置がレスキューする側の環境でスタートします。選択した修正したいパーティションは/target配下に配置された状態でスタートします。
シェルが実行できるようになりますので以下のコマンドを実行しましょう。
# chroot /target # bash # aptitude update # aptitude install linux-generic
うまく行ったら、exitで抜ければ「レスキュー操作」の画面に戻りますから、CD/DVDをイジェクトまたはアンマウントして「システムの再起動」をします。
ちなみに、PentiumMの実機に上記操作をしたときは linux-generic の代わりに linux-686 としました。少しでも最適化されている方が良いかなと思って。
再起動しても状況が変わらないようであれば、標準で選択されるカーネルが以前と同じものである可能性がありますので、起動時に少しの時間だけ下のような画面が表示されているときに Esc キーを押下します。
するとカーネル選択(またはメモリテスト)画面になりますので、修正インストールしたカーネルを選択します。下の画面例ではlinux-generic出てないですけど修正インストールが成功していれば現れるはずです。
(うちの環境ではこの操作をしなくても起動するようになったのでDefaultのカーネルがちゃんと置き換わっているようです。)
カーネル選択を毎回するのも大変ですので一度起動したところでDefaultのカーネルを変更しておきましょう。
/etc/grub/menu.lst を開いてみてみましょう。viでもnanoでもいいです。あっ、root権限が必要ですのでsudoを先頭に付けます。
$ sudo nano /boot/grub/menu.lst [sudo] password for xxxxxx:
14行目あたりに
default 0
とあります。この数字がDefaultで選択されるカーネルを指しています。この数字を変更するのが一つの方法です。
しかし、serverカーネルは起動しないことがハッキリしているのでぶっちゃけ要らないんですよね。このファイルの最後の方を見てみましょう。
title Ubuntu 8.04.2, kernel 2.6.24-24-generic root (hd0,0) kernel /boot/vmlinuz-2.6.24-24-generic root=UUID=85423330-189f-4abe-8a6c-f271a862c9fc ro quiet splash initrd /boot/initrd.img-2.6.24-24-generic quiet title Ubuntu 8.04.2, kernel 2.6.24-24-generic (recovery mode) root (hd0,0) kernel /boot/vmlinuz-2.6.24-24-generic root=UUID=85423330-189f-4abe-8a6c-f271a862c9fc ro single initrd /boot/initrd.img-2.6.24-24-generic title Ubuntu 8.04.2, kernel 2.6.24-23-server root (hd0,0) kernel /boot/vmlinuz-2.6.24-23-server root=UUID=85423330-189f-4abe-8a6c-f271a862c9fc ro quiet splash initrd /boot/initrd.img-2.6.24-23-server quiet title Ubuntu 8.04.2, kernel 2.6.24-23-server (recovery mode) root (hd0,0) kernel /boot/vmlinuz-2.6.24-23-server root=UUID=85423330-189f-4abe-8a6c-f271a862c9fc ro single initrd /boot/initrd.img-2.6.24-23-server title Ubuntu 8.04.2, memtest86+ root (hd0,0) kernel /boot/memtest86+.bin quiet ### END DEBIAN AUTOMAGIC KERNELS LIST
これがカーネル選択画面で表示される内容です。これのserverカーネルの固まりをゴッソリ削除してしまうのも一つの方法ですね。(この例では3つめ、4つめのブロックを削除)







































