PorteusのVESAMENU.C32問題を根本的に解決する

VESAMENU.C32 not a COM32R imageというメッセージが表示されて、Porteusを起動することができないという問題について投稿します。

表示されないメニューを表示するには

この問題は、Tabキーを押してで表示される起動オプションの、いずれかのコードを入力すれば、一応起動することはできます。

詳しくは下の投稿で詳しく取り上げています。

しかし、起動オプションという解決策を提示してくれたPorteusフォーラムの記事の一節が、ずっと引っかかっていました。
VESAMENU.C32 not a COM32R image(外部リンク)


起動オプションによる、問題を解決しない起動

起動オプションで表示されたコードの一つを入力すれば起動することはできますが、メニューが正常に表示されないという問題は解決されていません。起動のために毎回コードを入力するのは実用的ではない、と思う人もいるでしょう。

今回は、メニューが表示されない原因は何なのか、どうすればメニューが表示されるのか、管理人が調べた結果を投稿します。

サードパーティのアプリが原因

インターネットでこの問題について調べて行く中で、「ブータブルメディアを作るとき、UNetbootinやRufusを使わない方がいい」という記述を何度か目にしました。

それは何故かというと、USBフラッシュメモリ(メモリスティックやメモリーカードなど)にisoを書き込む際に、サードパーティのアプリ(UNetbootinやRufusなど)を使用した場合に、ファイルの一部が破損することがあるからだそうです。

Linux初心者が、よく使うアプリが原因だったとは。当ブログでもよくUNetbootinを紹介していたので、管理人も衝撃を受けました。

Porteusの起動用USBフラッシュをUNetbootinを使って作ると、起動に必要なファイルの一部が壊れるようです。

ただし、サードパーティのアプリを使っても必ずしも起動に不具合が生じるという訳ではないようです。どのOSを選択するか、それによってケースバイケースで結果は違ってきます。

どうやら、VESAMENU.C32問題を根本的に解決するためには、サードパーティのアプリを使わずにブータブルメディアを作らなければならないようです。

管理人はLinux初心者ですが、素人なりに問題解決のために色々調べてみました。

解決策1、USBイメージライタで起動用メモリを作る

一番簡単な解決策は、LMDEのイメージライタで起動用メモリを作ることです。

LMDEのイメージライタに関する詳細は下の投稿からどうぞ。

解決策2、ターミナルで起動用メモリを作る

USBブートについて調べてゆく過程で、bootisoというコマンドがあることが分かりました。まずbootisoコマンドをインストールして、ターミナルを操作して起動用メモリを作ります。

bootisoコマンドに関する詳細は、下の投稿で詳しく取り上げています。

VESAMENU.C32問題、解決

LMDEのイメージライタで作ったUSBメモリと、bootisoコマンドを用いて作ったUSBメモリで、それぞれUSBブートしてみました。

手持ちの32ビット機で起動してみると、今まで表示されなかったメニューが正常に表示されました。もちろんVESAMENU.C32 not a COM32R imageのメッセージ画面が表示されることはありません。起動オプションを入力という、わずらわしい作業も不要です。PorteusのVESAMENU.C32問題、解決です。

コメント