Carpe Diem

  Top > スポンサー広告> GRUB・ブートローダ > GRUBの設定  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

GRUBの設定

2012 - 03/22 [Thu] - 16:08

GRUB関連のまとめ記事です。
GRUBとはブートローダです。複数のOS、複数のカーネルをインストールした時に使用したいOS、カーネルを選択できるようにしてくれます。
他のブートローダとしてLILOが有名ですが、GRUBはLILOよりも高機能で汎用性も高く設定も容易に行えるため最近はGRUBが大半になっていると思います。

◆複数OSを入れたことによるGrubの変更
複数のパーティションを構成し、それぞれLinuxを入れるとそれぞれのGRUBがインストールされます。
ブート時に使用されるGRUBはあとにインストールした方となるため、先に入れたOSでカーネルの再構築&インストール等してもブート時には反映されません。アンインストールも同様です。
そこで使用するGRUBを変更したい場合ですが、やり方は簡単。使用したいOSの方のSynapticでgrub2-pcを再インストールするだけ。
そうすれば変更されます。

また上記の「複数のGRUBがあるために起こる不具合」を解決する方法として「2段階ブート」があるので、興味がある方は試してみてください。


◆ブート時のOS選択画面の壁紙設定

11.04以降では
/boot/grub/
のところに画像を置き、

$ sudo update-grub2

とすればそれを設定してくれます。

それ以前の場合は
/etc/default/grub
/etc/grub.d/05_debian_theme


を編集します。これらを編集すると/boot/grub/grub.cfgが変更され設定が反映されます。

まずは前者

$ sudo emacs -nw /etc/default/grub
GRUB_GFXMODE=1024x768
の部分を使用する解像度に変更

もうひとつの設定
$ sudo emacs -nw /etc/grub.d/05_debian_theme
10行目あたりの
WALLPAPER="/usr/share/images/desktop-base/xxx.jpg"

を編集します。できれば画像ファイルを/usr/share/images/desktop-base/に置いた方がいいのかな。

あと画像によっては使用できないものもあります(インターレースPNG・プログレッシブJPEGなど)。
そうでなければ自動でリサイズして表示してくれると思います。

設定したら
$ sudo update-grub2

ちゃんと画像が反映されれば
Found xxx.jpg

のようなメッセージが流れます。


◆起動時、終了時のスプラッシュ画面の設定
これを設定するとスプラッシュを映すか、プロセスの処理(文字列が流れる)を映すかを設定できます。

$ sudo emacs -nw /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

の部分を
○スプラッシュにする場合
そのまま
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

○文字列にする場合
GRUB_CMDLINE_LINUX_DEFAULT=”quiet nosplash”

○スプラッシュイメージを表示しつつ簡易テキストも表示
GRUB_CMDLINE_LINUX_DEFAULT=”splash”

設定を反映
$ sudo update-grub2


◆OSの起動順を変更する
/etc/default/grub ファイルの「GRUB_DEFAULT=0」を書き換えます。3通りあります。

①数字 - ブート選択画面で一番上に表示される項目を0、次を1、2、…とした数字で指定。
②文字列 - ブート選択画面に表示される文字列で指定する。/boot/grub/grub.cfg に記述されています。
 (例:GRUB_DEFAULT="Ubuntu, with Linux 2.6.32-24-generic")

③saved -
前回選択&起動したOSをデフォルトで選択する。

$ sudo emacs -nw /etc/default/grub
GRUB_DEFAULT="Windows 7"

書き換えたら設定を更新します。
$ sudo update-grub


◆起動をCUIにする
サーバの場合、設定が済んでいればなるべく負荷の少ないCUIの状態の方がいいです。しかしUbuntu-Desktopを入れていると自動でXサーバが起動するので設定が必要です。

$ sudo emacs -nw /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text

このように最後に「text」を入れるとCUIで起動するようになります。おそらくそのままだと自動起動のサービスが起動したメッセージが流れるだけでログインできない画面になっていると思うので、「Alt+F1」を押してCUI画面に移行してください。

この状態からGUIに移りたい時は、ログイン後

$ sudo /etc/init.d/gdm start

とします。ちなみにUbuntu12.04の場合はデフォルトはlightdmですので

$ sudo /etc/init.d/lightdm start

とします。するとGUIのログイン画面が起動するのでそこからログインしてください。もしくは直接

$ startx

とするとGUI画面になります。ただ私の環境ではなぜか上部・下部のパネルが表示されなかったりしたので、gdmからの方が確実かもしれません。


◆GrubのOS一覧を修正する
カーネルの更新で同じOSなのにGrubのOS選択一覧が大量になってしまう場合の対応です。11.04以降は「Previous Linux versions」と自動でまとめられますがそれ以前では残るので対処法を。

# cd /boot/grub
# chmod +r grub.cfg
# emacs -nw grub.cfg


いらないカーネルを削除orコメントアウトします。以下みたいな部分。
menuentry 'Ubuntu, with Linux 3.2.0-33-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root b6223f31-4fd6-4ea9-a53e-c33cd1d838c2
linux /boot/vmlinuz-3.2.0-33-generic root=UUID=b6223f31-4fd6-4ea9-a53e-c33cd1d838c2 ro quiet splash $vt\
_handoff
initrd /boot/initrd.img-3.2.0-33-generic
}
menuentry 'Ubuntu, with Linux 3.2.0-33-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --clas\
s os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root b6223f31-4fd6-4ea9-a53e-c33cd1d838c2
echo 'Loading Linux 3.2.0-33-generic ...'
linux /boot/vmlinuz-3.2.0-33-generic root=UUID=b6223f31-4fd6-4ea9-a53e-c33cd1d838c2 ro recovery nomodeset\

echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-33-generic
}


直したらパーミッションを修正
# chmod -r grub.cfg

再起動後は一覧から削除されているはずです。


ソース:
ブートローダー(GRUB)のメニューに任意の壁紙を付ける [Ubuntu 11.04以降]
Ubuntu 9.10(Grub2)でスプラッシュに起動過程を表示
(Ubuntu 9.10) Grub2の設定
デフォルトでWindowsを起動するように設定する [Ubuntu 10.04(GRUB2)]

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。