Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

Linuxで「起動できません – 適切なカーネルを使用してください」エラーを解決する方法

GNU/Linuxで発生するトラブルの多くは、システム起動後のソフトウェア操作に関わるものですが、起動時に「unable to boot – please use a kernel appropriate for your CPU(起動できません。お使いのCPUに適したカーネルを使用してください)」というメッセージが表示されたらどうすればよいのでしょうか。ISOファイルから起動しようとしている場合、このエラーは通常、マシンのアーキテクチャに合わないISOを選択してしまったことを意味します。現在使われている主要なアーキテクチャはいくつかありますが、最も多いのは、32ビットのIntel製またはAMD製マイクロプロセッサを搭載したマシンで、x86_64(64ビット)用のコードを使って起動しようとしたケースです。

方法1:正しいISOファイルを入手してエラーを修正する

この種のエラーの表示内容はカーネルによって異なりますが、多くの場合、「カーネルが特定のプロセッサを必要とする」という趣旨のメッセージで始まります。例えば、32ビットネットブックで64ビット版Kali Linuxのテスト用ISOを起動しようとしたところ、次のようなエラーメッセージが表示されました。

This kernel requires an x86-64 CPU, but only detected an i686 CPU.(このカーネルにはx86-64 CPUが必要ですが、i686 CPUしか検出されませんでした)

ここでいう「i686」とは、従来のIntelアーキテクチャ(32ビット)を指します。この場合は、適切なカーネルを含むISOをダウンロードし直すだけで、起動エラーを解消できます。コードは特定のチップ上で動作するように書かれているため、非対応のハードウェアで実行すると、保護機能としてこの警告が画面に表示される仕組みです。

まず、最初にISOをダウンロードしたページに戻りましょう。Linuxをインストールしようとしていたマシンにまだ有効なOSが残っているなら、そこから起動して新しいISOをダウンロードできます。理論上は、ISOファイルを書き出せるのであれば、Linux以外のOSが動作しているマシンを利用しても構いません。

今回のテストでは、Kali Linuxの公式サイトを確認したところ、標準的な32ビット版ISOが提供されていました。このファイルなら、i686ハードウェアしか検出されないというエラーが出ている場合でも問題なく動作します。「i686」と「32ビット」という言葉は厳密には同じ意味ではありませんが、PC市場におけるIntelの圧倒的なシェアを背景に、ISOファイルを選ぶ際には事実上同じものとして扱われてきました。

また、i686以外のハードウェアに関するエラーに遭遇することもあります。ARMプロセッサはタブレットやその他の携帯機器に広く採用されており、Kali Linuxはこれらに対応したISOも提供しています。PPC(PowerPC)関連のエラーは、古いApple製品などで使われていたPowerPC機器が原因で、UbuntuやDebianはPPC向けISOをサポートしています。さらに、MIPS機器をお使いの場合もDebianが対応するISOを提供しています。Debianのインストールパッケージページから該当するISOをダウンロードし、microSDXCカードやUSBメモリに書き込んでください。再起動後に、新しいISOを書き込んだデバイスに一致する起動オプションを選択すれば、GNU/Linuxインストーラーを起動できるはずです。

なお、仮想マシンでこのエラーが発生している場合は、メニューからエミュレートするプロセッサの種類を変更することを検討してみてください。別のISOに切り替える代わりに、仮想マシンの設定を64ビットプロセッサに変更するだけで解決する可能性があります。

方法2:CPUのアーキテクチャを確認する

既存のLinux環境を起動できるものの、どのアーキテクチャを使っているかわからない場合は、簡単に確認できます。ターミナルウィンドウを開くか、X Window Systemが正常に動作していない場合は仮想コンソールへ切り替えてください。bashプロンプトでarchまたはuname -mコマンドを実行すれば、使用中のプロセッサアーキテクチャを即座に把握できます。

先ほどKali LinuxのISOを試した同じテスト用ネットブックのLubuntu環境でこのコマンドを実行したところ、すぐに「i686」と返ってきました。これは、このマシンが標準的な32ビットIntelプロセッサを搭載しており、このアーキテクチャ向けに設計されたISOイメージであれば問題なく動作することを裏付けています。あとは、元のISOを書き込んだときと同じ要領でddコマンドを使って新しいISOを書き込み、再起動するだけです。

著者について

Kevin Arrows(ケビン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つ技術スペシャリストです。Microsoft認定技術スペシャリスト(MCTS)の資格を保有し、最新の技術動向を追いかけることに強い情熱を持っています。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い分野について執筆しており、複雑な技術的概念を明快かつ簡潔に説明する能力で高い評価を得ています。

  1. MTP経由でAndroidスマホ・タブレットからUbuntuへファイルを転送する方法:ステップバイステップガイド

    Google Android、さらには比較的新しいAndroid x86やAndroid x86_64を採用したデバイスは、Ubuntuと同じカーネルをベースにしています。どちらもGNU/Linuxオペレーティングシステムの実装であり、両者の間でのファイル転送は通常とても簡単です。スマートフォンやタブレットをUSBケーブルでUbuntu PCに直接接続できれば、基本的には問題なくファイルを送受信できます。この方法は、デュアルブート環境かどうかにかかわらず、UbuntuをインストールしたMacintoshマシンでも同様に機能します。ただし、ファイルマネージャーの代わりにメディアトランスファープロ

  2. WSL(Windows Subsystem for Linux)で「gedit」エラーが発生したときの直し方

    WSLとは?Windows Subsystem for Linux(WSL)は、Linuxネイティブのバイナリ実行ファイルをWindows 10やWindows Server上で動作させるための互換レイヤーです。64ビット版のWindows 10 バージョン1607以降でのみ利用可能で、Windows Server 2019にも対応しています。初期のバージョンではUbuntuイメージのみが提供されていましたが、現在ではSUSEイメージも利用できるようになっています。この機能は数多くのユーザーに活用されており、特にソフトウェア開発者のコミュニティで高い人気を誇ります。しかし近年、「geditエラ