落書きノート

ふと自分が気になった事を書いてます

GTX950搭載マシンで、GRUBプロンプトからOS(Ubuntu等)を起動する

GRUBプロンプトやレスキューシェルが使えると便利です。今回、Geforce GTX950を搭載したマシンにUbuntu14.04をインストールするときにハマったことをメモしておきます。

Ubuntu14.04のインストーラーをUSBメモリに入れて起動させようとしたら、画面が真っ黒なまま表示されません。おそらくこういう場合はグラフィックドライバを疑うべきだと思います。その他にも原因はあるといえばありますが、Geforceを搭載しているマシンなので、そう思えます。

マシンの起動直後にShiftキーを押し続けるとGrubのメニュー画面が表示される…とのことでしたが、14.04には少なくとも出てきませんでした。後は起動直後に、適当にESCキーを連打しているとGRUBプロンプトは表示されたのでこれを使ってどうにかしようと思いました。よく忘れるのでその手順をメモしておきます。

grub> set pager=1
grub> ls
(hd0)....
grub> ls (hd0,1)/
または
grub> ls (hd0,2)/
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/  lib/
lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ 
srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old 
initrd.img initrd.img.old

上記のように表示されたら必要な情報は揃います。(hd0,2)がルートパーティションとして指定できます。

grub> set root=(hd0,2)
grub> linux /boot/vmlinuz....generic root=/dev/sda2 nomodeset
grub> initrd /boot/initrd.img...generic
grub> boot

パーティション構成は、OSインストールの時に把握しておいたほうが良いかもしれませんね。ちなみに私の場合は、デフォルトの設定でインストールしています。vmlinuzやinitrdのパスはlsコマンドで(hd0,2)の中身を参照してください。

後は普通にログインして、OSをアップグレード、GRUBの設定をすかさずいじりました。ドライバは「追加のドライバ」からプロプライエタリドライバをインストールしておきました。

ちなみにレスキューモードでは違う手順を踏むようです。詳細は以下のサイトで調べてみてください。

参考サイト

Linux 上の GRUB 2 がブートできなくなったときの対処方法