非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Linux(kubuntu)を入れようと思ったらGRUBインストール失敗!そこから無事起動までの記録

      2017/09/19

ヤフオクで安いノートパソコンを買ってLinux(kubuntu)を入れて遊ぼうと思っていたのですが、思いの外苦労したので忘備録。本体はうまくインストールできたのですが、ブートローダーGRUBのインストールで失敗してしまい起動できないという問題です。

ちなみに、買ったパソコンは、Acer ES1-131-A12N/K 11.6インチモニタです。Amazonでもまだ売っています。

OSが入っていないいわゆるジャンク品でしたが、そもそもLinuxを入れるのが目的なので好都合でした。

届いたのがこれ。

 

電源や各種コネクタは後部に集中しているというちょっと見かけない配置です。だいたい横についているのが多いと思うのですが。

[ad#top-1]

で、何に失敗したかというと・・・

インストールの最後で 「GRUBを/dev/mmcblk0p2 にインストールできません。 これは致命的なエラーです。」 とダイアログが表示されてしまいます。再起動してもLiveOSが立ち上がるのみ。 何度やっても変わりません。mmcblk0p2というのはkubuntuのインストール先のSSDパーテーション名です。

ネットでいろいろ調べてみました。GRUBの再インストール方法に関する情報がほとんどですが、LiveOSから何度かインストール試みても失敗に終わりました。

で、何となくですが、これかなって言うものがありました。

症状的にまったく同じです。以下引用

そんで、この中途半端なRAID機能をFake RAIDと呼んでる。

LVMを使ってSoftware RAIDにするってのは知ってたけど・・・

adaptecのような高級なのがHardware RAIDで
マザーボードに載ってるような安っぽいのがFake RAIDで
ソフトでやるのがSoftware RAIDと。

そんでこのFake RAIDでubuntu 9.10 serverをインストールしようとしたのだが
ブートローダのインストールのところで失敗する。
GRUBもLILOもインストールできない。

ext4でフォーマットしてkernelやらのパッケージをHDDに書き込めているようなので
RAIDとしては動いているようだが・・・?

Fake RAIDとやらが邪魔しているとか。

RAIDって複数のHDDを仮想的に1つのHDDとして運用する技術ですが、「フェイク」と名乗っていることから、1台のHDDであたかも複数HDDをRAIDで1つにしたかのように見せかけるものかと思いますが、これがなぜGRUBのインストールの邪魔をするのかわかりません。

ただ1つおやっと思うことがあって、それはkubuntuインストール時にパーテーションを設定する際になぜか必ず前後に1MBずつ空き領域ができてしまうんです。今まで何度となくLinuxをインストールしてきましたが、この現象は初めてです。

 

邪推すると、先頭セクタに設置されるブートローダーのインストールを邪魔しているんじゃないかなと。FAKE RAIDの技術を逆手にとってWindows以外のOSの導入を阻止しているんじゃないかなと、疑いたくなりました。勝手な陰謀説です。

兎にも角にも解決しなければならず、FAKE RAID=マザーボードに埋め込まれている=BIOSで設定できる?と思い、BIOSを覗いてみましたが残念ながら存在せず。

もはや断念か?とあきらめかけていたところ、最初のLiveOSブートの時に無理やりSSDの方に仕向ける(書き換える)方法を発見。今回はそれを紹介します。

 

それでは手順

kubuntuに限らず最新のubuntu系ディストリのLiveOSは起動時に以下のようなGRUB画面になります。

 

画面下のメッセージを読むと、「e」キーコマンドを編集できると書かれています。「e」を押します。

 

すると次の画面に。これはvimエディターになっていて、キー操作で普通に編集できます。4行目に「boot=casper」と書かれている部分がありますが、これを修正します。

 

これを「root=/dev/mmcblk0p2」に書き換えます。これはパーテーション名によって変わります。ハードディスクの場合はsdaのような名前だったりしますので、適宜変更してください。

 

画面下に、Ctrl-x か F10キーでブートすると書かれています。どちらかを押しましょう。

 

無事起動しました!(LiveOSではありません。)

 

こちらが起動後の画面です。さっそくChromeをインストールしました。

 

とりあえず、最初のキー操作が面倒ですが、なんとかkubuntuの起動ができました。欠点としてLiveOSが入ったUSBメモリを挿しっぱなしにしなきゃいけないこと。いわゆる起動ディスクになっていますからね。なのでOSが立ち上がれば不要ですが、起動毎に必要なので挿しっぱなしにします。USBポートが1個つぶれました。

 

毎回ブートコマンドを書き換えるのもしんどいので・・・

ただこれだと、毎回の起動のたびにブートコマンドを手修正するのは正直しんどいのです。

なので、そうならないように元ファイルを書き換えてしまいましょう。

ファイルの場所はUSBメモリ内のGRUBのところですが、これはLiveOSの時には修正できないので注意です。あくまでストレージ内の本体を立ち上げた状態で、USB内のファイルを書き換え可能になります。

場所はここ↓。USBドライブを開いて、ルートディレクトリから/boot/grubフォルダに行き、grub.cfgというファイルをテキストエディタで開きます。

 

どこかで見たようなコマンドが並んでいます。“Start Kubuntu”関数の中に「boot=casper」という文字列が確認できると思います。

 

それをストレージ名に修正して保存すればOK。「mmcblk0p2」のところは各自のパーテーション名に変えましょう。Linux本体が入っているところです。

 

これでインストールしたKubuntuを起動させることが可能になります。↓この画面から「Enter」キーで起動できます。

 

ここまで来るのに1週間かかった!

関連記事

 

[ad#ad-1]

スポンサーリンク

 - Linux