soramono雑記

Ubuntuメインのひよこユーザー。

ChaletOS【LinuxOS 第5弾】grubエラーで起動しない問題

※【第4弾】を飛ばしてるのは間違いじゃありません。まだ書き終えてないだけ(泣)


 そのまんま。Windows7に似た外観で軽くてZorin OSよりオススメと評判のChaletOS。かと思いきや、インストールが面倒というリスクあり。

 Ubuntuベースのインストーラーなのに「日本語」インストールでクラッシュする不思議。
 Englishで進めてキーボード「Japanese」設定でインストールしたら(時間はかかったけど)無事に終了…のはずが、起動エラー起こしやがった・・・。

 エラー原因はブートに必要な「normal.mod」が見つからない、というもの。「grub rescue>_」で入力待ち状態です。
 ちなみに件のファイルはUbuntu上で確認したらちゃんと入ってました。なのに見つからないとか…(#^ω^)ナンデヤネン!!

 で、同様のケースの記事を探しました。


 とりあえずライブUSBからgrubをインストールすればいい、とはいうものの…

$ sudo mount /dev/sde1* /mnt
$ sudo grub-install /dev/sdd* --root-directory=/mnt
(※「*」環境によって変わります)

 まず、ライブUSBのマウントが「busy」で出来ませんでした。
 無視して2行目を打ったら、パッチがないから無理って表示された…(・_・;)

 苦肉の策で、Ubuntu上で↑実行。エラーなしに終了したのに、起動しようとしたら今度はバイスエラー…もうどないせいっちゅうねん!(ノ`Д´)ノ彡┻━┻

 もう少し検索してみました。(冷静に考えると「grub rescue>」は避けられないパターンでしたねコレ…)


 こちらは「grub rescue>」からの実行記事です。とりあえず順番に実行してみました。

※アナログでメモしておくと暗記しないで済みます(笑)
※起動できるOSがある場合、起動エラー起こしたディスクの中身確認しておくと手間が省けます。(確認するのは"normal.mod"の場所。私の場合"/boot/grub/i386-pc/normal.mod"で発見)

 まずは、grub実行するデバイスを探します。(※"grub rescue"は省略

> ls

 (hd0)(hd0,msdos1)(hd0,msdos2)(hd1)〜とディスクリストが出ます。
 ファイル場所に心当たりがない場合は、一つ一つ確認することになります。各デバイスが読み取れるかの確認です。(読み取れない場合は"not found"もしくは"error"でわかります)

> ls (hd0,msdos1)
> ls (hd0,msdos2)
> ls (hd1,msdos1)
...

 私の場合は(hd0,msdos1)から"normal.mod"を引っ張り出します。

> ls (hd0,msdos1)/boot/grub

 "grub"内のフォルダ・ファイルをリストアップしてくれます。が、私は事前にUbuntuで"normal.mod"の場所確認してあるので、次へ進みます。

> set prefix=(hd0,msdos1)/boot/grub

 次を見ればわかりますが、実際は"i386-pc"フォルダに入っていたのですが、ここで"/i386-pc"まで指定したら次で失敗したため、"/grub"で止めてます。

> insmod (hd0,msdos1)/boot/grub/i386-pc/normal.mod

 ようやく目当てのファイルを指定です。

> normal

 これでChaletOSの起動画面にたどり着きました。…長い道のりだった┐(´д`)┌ヤレヤレ
 で、最後の仕上げ…の前に、起動ディスクの確認です。

ChaletOS(Start)>Settings>Disks

 ここでChaletOSの起動ディスクの名前を確認します。私の場合は「sdb」でした。
 確認が終わったら最後の仕上げです。

$ sudo grub-install /dev/sdb

 ターミナルに打ち込んで終了。
 再起動して「grub rescue>」が出ずに起動できたら成功です!

 やっと終わったー!!ヽ(=´▽`=)ノ

 ちなみにこの作業、初期設定しながら四苦八苦してました(笑)


 ついでなので初期設定について。

 最初に「English」インストールしたので、「Settings」から「Language Support」で日本語アップデートします。ほぼ自動でやってくれるので画面に従いましょう。日本語インストールが終わったら、「日本語」を「English(United States)」の上(一番上)にマウスドラッグ移動します。同じ画面の下部「Keyboard input method system」を「Fcitx」に変更し、画面を閉じます。
 再起動したら日本語表示になるのですが、その前に一つ設定変更しておきます。

 「Software & Updates」で「Source code」を「Server for United States」から「Other/Japan」に変更します。これで日本サーバーからDLできます。

 そのまま「Software Updater」に進んでもいいですが、様子見を兼ねて再起動。

 無事にOS起動、システムの日本語化を確認したら、時間のかかるアップデートです(笑)
 ついでにデスクトップの壁紙やアイコンサイズの変更その他、自分が使いやすいように変えていってます。
 ファイアウォール設定のツールもソフトウェアセンターからDLしてきました。


 メインはUbuntuを使用していますが、イザという時用にサブOSが欲しかったので色々お試し中です。最終的にどれになるかはわかりませんが、今回のようにブートに困った時の対処法が確認できたのは僥倖ですね。もちろん原因は多種多様ですけどね…。