人生セルフ人体実験

何をするにしても自分で試すのが一番

古いレッツノートにLubuntuを入れてみたらgrub rescueで詰んだ話

うちに大学時代に使っていたボロいLet'snote CF-W5(2007年購入)があって、付属OSはVistaでデフォで激重な上にサポート切れと完全にどうしようもなくなっていたので、使い道も思いつかないけどなんとなくLubuntuを入れてみることにしました。
そしたら起動時にgrub rescueが出て対処するのにちょっとハマった(というか根本的には解決してない)ので、そのお話です。

PCのスペック

ざっとですが。
CPU: Intel Core Duo U2400(2core, 1.06GHz, TDP9W)
Mem: DDR2-533 1.5GB( オンボード512MB+増設1GB)
SSD: mSATA 64GBをIDEに変換(IDE HDD 60GBから換装)
SLOT: USB2.0×2、PCカードスロット、SDHCカードスロット
光学ドライブ: DVD-RW Read&Write対応
その他: タッチパッド故障

最早ゴミにしか見えないこの子ですが、おもちゃくらいにはなるかと思ってせっかく実家から持ってきたので、遊んであげることにしました。
タッチパッドが故障してるので外部マウスを繋ぐのに貴重なUSBがひとつ潰れる時点でもうダメな気がしますが。

Lubuntuを入れてみる

ともあれ、Lubuntuを入れてみましょう。
ちなみにUbuntuじゃないのはスペック不足のせいです。というかLubuntu 18.04 LTSでも推奨環境のメモリ2GBに届いてないし、CPUのせいで32bit版しか入らないし。
(このレッツはCF-W5Mで、次のマイナーチェンジのCF-W5AにはCore 2 Duo U7500が積まれているため64bitに対応しているという。このスペックで64bit動くのかしらんけど)
USBでインストールメディアを作ってやろうとしたらブートできなかったので、100均でDVD-Rを購入。
今時DVD-Rとか使わないので、電器屋で10枚500円とかで買ってもしょうがないし、というか100均で2枚100円って値段ほとんど変わらないじゃんそれ。
インストールDVDを別のWin機で作り、レッツに入れたら今度はブートできました。
なお、この時点でこいつにはこれも以前余ってたので遊びで入れたWin8.1が入っていましたが、(あってもしょうがないので)デュアルブートはせずディスクを全消去してから入れることに。
あとのインストールは特にトラブルも無く完了です。

grub rescue氏現る

追加データのインストールやらアップデートやらが終わり、試しにメイン機から音楽ファイルを移して再生してみたらちゃんと再生されて、存外いい感じに動くことがわかったのでこの日は作業を終了しました。
Lubuntuそのものの特性かSSD効果か知りませんがシャットダウンの速いこと。

翌日。
続きでいろいろいじってみようと、レッツを起動したところ。

error: no such partition.  
Entering rescue mode...  
grub rescue>

こんなのが出ました。
調べてみると、
「ブートするパーティションの指定が壊れててわかんねーから起動できねーぞ」
ってことらしいです。
とりあえず、検索して出てきたサイトを参考に対応してみます。
grub rescueが表示される(Lubuntuインストール後) - ひよこめも

まずは今あるパーティションの一覧を表示。

grub rescue > ls

すると、

(hd0), (hd0,msdos1)

こんなふうに出ました。(どんなふうに出るかは環境で変わるらしい)
で、このパーティションの中を更に詳しく見て、/bootディレクトリがある場所を探します。

grub rescue > ls (hd0,msdos1)/

こんな感じ。
やってみると、(hd0,msdos1)に/bootがあることが判明。(これもマシンごとの環境で変わります。以下は全て今回の環境でのコマンドです)
そしたら、以下のコマンドを入れてLubuntuを起動します。

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

こうすると無事Lubuntuが起動します。
細かいスペースとかスラッシュの入れ忘れに注意しましょう。
ちなみにrescueモードではキーボードがUS配置になるので、慣れてない人にはちょっと大変かも。

起動に成功したら、Lubuntuのスタートメニューから、
システムツール -> LXTerminal
を起動。
以下のコマンドを入れることで、grubの再インストールを行い正しくブートできるようにします。

$ sudo grub-install /dev/sda
$ sudo update-grub

うまくインストールされれば成功です。

が…治らない

さらに次の日。
grub rescue氏は何事も無かったかのように再びこんにちはしてきました。
というわけで再度格闘です。

BIOSの条件を変えたりなんなりして起動とシャットダウンを繰り返してみた結果、
「起動するときは起動するし、失敗するときは失敗する」
というなんとも不安定な状況であることが判明。
大人しくLubuntuをクリーンインストールすることに。

で、再インストールを無事完了してシャットダウンすると、やっぱり変わらないんですね。
grubの再インストールをしても同じ。
とはいえ、毎回ではなく起動したりしなかったり(だいたい体感で2~3回やれば1回は起動する)なので、起動するまでやり直せばいいって状況ではあるんですが(ひどい)。
解決法もわからないので、起動しなくなるまではとりあえずこのままで使うことにします。

Linuxむずかしい

プログラマーに転職してから鬱が再発して休職するまでの期間ですが、ちょこちょこLinuxを触る必要があって、そのたびWindowsとの勝手の違いに惑わされていました。
特にターミナルからCUIで操作をするのはある程度慣れるまではなかなか…(最初はどこでUbuntuのsudoコマンドを打つのかもわからなかった)
とはいえ、今回は遊びではあるもののある程度のことは出来たので、ちょっとはそのへん身に付いているのかな…と思うことにしました。
やっとこんな適当なブログ記事を書けるようになったくらいで、まだ復職の目途は全然立ってないけど。
とりあえずこのレッツは音楽再生専用端末として使うのを考えてます。SDカードで32GBくらいは容量増やせそうだし。Bluetoothスピーカーとか繋げたい。
そうなれば普段はシャットダウンじゃなくてサスペンドにしておけば、この問題もあんまり気にならないかもだし、いいんじゃないかなぁ。