grub のメモ(Grub2 の各種設定メモ)
Grub2 になって grub の menu.1st 編集から menu.cfg へ変更となり、起動設定方法が大きく変わっている。
以前は grub の起動 FD を簡単に作成し使っていたが、現在 FDD が無い PC に変えたためそれが出来ず、そのためだけに FDユニットを買うのも嫌で、USB に Grub を突っ込んで騙していたが、これつくるのかなり面倒。(でら面毒せ〜)
そんなこんなで、grub 2 についての情報を羅列するメモページです。
※grub についてのメモ も必ず参照(自己責任!)
主な情報源 https://forums.ubuntulinux.jp/viewtopic.php?pid=43...
使用環境メモ
- Windows
- Xp Pro
- あんまり使わない・・・
- Home
- リカバリが多いため Grub が壊れる・・・
- Xp Pro
- Linux
- Ubuntu 10.10 ( GNOME )
- ※win リカバリで ubuntu lts が起動不能となったためやむを得ず追加
- Ubuntu 10.04 LTS ( GNOME / KDE4 / xfce4(現常用) )
- メインの OS 環境(Ubuntu -> xubuntu になっている・・・)
- Ubuntu 10.10 ( GNOME )
- BSD
- 上記に暇があったら PC-BSD ( KDE4 ) を追加するかも・・・
(※ちと怖くて出来ない)
- 上記に暇があったら PC-BSD ( KDE4 ) を追加するかも・・・
▲上へ [ 編集 ]
Grub 2 起動領域の復旧方法
・・・ 確認中 ・・・(簡単には出来ない気がする)方法としては、以下のようなものが考えられる。
- MBR のバックアップと復元
- GRAB2 の起動領域を含むバックアップと(安全な)復元
- GRAB2 コマンドによる起動
- 比較的現実的な対処方法。復旧できなくとも最悪の事態は回避する。
- 別メディアによる起動
- 一度作れば便利ですけど…2度目は作りたく無い(面倒くさい!)・・・
- 起動 FD なら常用に耐える(通常 win 用ローダーで FD で GRAB2 とか)が・・・
▲上へ [ 編集 ]
MBR のバックアップと復元
・・・ 確認中 ・・・(過去幾度となく探しているが)▲上へ [ 編集 ]
Grab コマンドの使い方
以下、動作未確認。苦労の末の起動用 USB-MEM も所事情でフォーマットしてしまい、ヤバくて怖くて試す勇気が沸きません。
正常動作している内に、正常動作時の「ファイルシステム」「ハードディスクの起動割当番号」「カーネル名とか付帯情報」「カーネル名?」などをメモしておく必要がある。
grub に精通すれば後で 調べられるかも … 。でもメモってた方が断然楽ちん。
起動情報のメモ
まず、boot/grub/grub.cfg より正常起動状態で以下の入力項目を拾ってメモしておく- (1). insmod xxxx -----------------------------------------> xxxx は ext2 とか
- (2). set root='(hd9,9)' ----------------------------------> (hd0,3) とか
- (3). linux /boot/vmlinuz-9…9-generic root=xxxx=xxx … ---> 9…9 は ver No
- (4). initrd /boot/initrd.img-9…9-generic ----------------> ↑↑↑ 多分同上
■■■ もっと簡単に、boot/grub/grub.cfg をプリントアウトしておけばよい ■■■
もし boot/grub/grub.cfg へ「アクセス出来ない」とか「印刷できない」とかの場合 …
$ sudo gedit // メニュー起動は root 権限ファイル操作制限有り
root で shell 立上やログインし直しても良いです。やり方は色々なので・・・。
※最近 sudo の使い方が判った。sudo = (必)CUI 操作では無いんですね。
万一の際に必要なのは …
〜 ### BEGIN /etc/grub.d/10_linux ### menuentry 'Ubuntu, with Linux x.x.xx-xx-generic … { 〜 この中の上記 (1),(2),(3),(4) } 〜
… 及び …
〜 ### BEGIN /etc/grub.d/30_os-prober ### menuentry "Windows XXXX (on /dev/sda1)" { 〜 この中 … # win xp 起動用など … # vista や 7 は不明 } 〜 menuentry "xxxx, with Linux x.x.xx (on /dev/sda3)" { 〜 他にもあれば … # 他の OS 起動情報など … # vine や cent os とか … # BSD系や OS2 などは不明 } 〜
この場合 search … は省略出来ると思うが、{ … 内 … } 全部入力し
grub> boot
などとすれば良いと思うが…。(無保証、自己責任で)
▲上へ [ 編集 ]
万一の場合の対処
grub が壊れた、windows 絡みで上書したなどで困った場合。GRUB2 のコマンドラインから … メモった内容 + boot を入力する
grub> insmod xxxx grub> set root='(hd0,9)' grub> linux /boot/vmlinuz-9.9.99-99-generic root=xxxx=xxx-xxx- … grub> initrd /boot/initrd.img-9.9.99-99-generic grub> boot… っと、魔法の呪文で「ポポポ、ポン」っで起動するらしいが未確認です。
GRAB コマンドラインから起動テストしといた方が無難で簡単と思われる。
※ファイルシステム変更や古いカーネル削除とかしたら多分 … NG … です。
追伸:無保証!自己責任です!
その後、GRAB の復旧となるのでしょうが、これはまた別の話で「最新カーネルの入れ替えとか GRAB の更新等で治るんじゃないの?」みたいな気がするんですけど、詳細不明。
▲上へ [ 編集 ]
FD / CD / USB などの代替メディアの使用
FDD 無いし CD 焼くのは面倒だし方法わかんない(やる気無)し、USB 起動領域作成 はもっとめんどい・・・GRUB の起動 FD 使えれば一番苦労無いんですけど。
カーネル古くても起動すれば問題無しだが、boot CD や boot usb-mem 作るだけで骨折れるので、もう「パス(嫌っ!)」です。しかも 起動用 usb-mem は、USB 外すと毎回 BIOS 設定直す必要あった(?機種固有?)ので面倒くさい。
仮に MS-Win が起動出来ても ext2 とか普通じゃ読めず、読めても多分操作出来ないので、win 用の修復作業じゃ linux は当然救え無い。もしかすると更に深刻な状態となる可能性あり。
最悪の場合、もう一つ GRUB2 を使った OS 入れる方法もあります・・・。
・・・そうして自分のPCはトリプルブート環境になり、GRUB 修復手段の情報に敏感になる訳です・・・
くどいですが、GRUB の起動 FD 使えればこんな苦労しなくて良いのです。
・・・USB FD って有るけど、Uuntu は FDD サポート外してるし、弄ってると動くようになる場合もあるけど、確実じゃ無いので買って使え無いと腹立つし・・・ぶつぶつ・・・
・・・あっちの PC から内臓 FDD 外して持ってこようか・・・メーカ同じだから多分付くと思うが手間暇掛けるの面倒だなぁ。それだって Ubuntu が FDD 認識しないと起動 FD 作れない・・・ぶつぶつ・・・
・・・USB 起動メディア作り直し・・・面倒なので絶対嫌やっ・・・
・・・GRUB 起動 CD っうのを作ってみたことがあるが、GRUB2 のコマンド入力画面が表示されただけだった・・・。作り方間違ったのかなぁ?どっちにしても起動領域を持たせた CD 作るの面倒なので嫌やっ!
・・・『ちゅーか、UBUNTU とか(ディストリ側)で GRUB2 の「起動 CD」作成を「起動 FD」作成並にサポートして簡単に作れるようにすれば良いんじゃねっ!』・・・などと他力本願で人のせいにしたくなる・・・
結論:まぁなんだかんだ言っても、GRUB2 起動コマンドを控えて万一に備えるのが得策かと思います。
▲上へ [ 編集 ]
Grub 2 の仕様と編集メモ
Grub 2 の仕様(概要)
- 起動参照ファイル
- /boot/grub/grub.cfg ( grub の menu.1st に相当)
- 設定保持ファイル
- /etc/default/grub (file)
- grub.cfg のパラメータを保持。
- /etc/grub.d (folder)
- grub.cfg の shell script (files) を保持する。
- /etc/default/grub (file)
- grub.cfg の更新(再構築)
- sudo update-grub2 で設定ファイルを元に grub.cfg を再構築(上書)する。
Grub 2 の編集(概要)
結論:/etc/default/grub の GRUB_DEFAULT=0 (・・・これを編集・・・)sudo update-grub2 // 又は sudo update-grub・・・を実行(/boot/grub/grub.cfg の再構築)が必須。
( root なら update-grub2 で良いが・・・)
結局起動時にみてるのは、/boot/grub/grub.cfg ということになる。
/boot/grub/grub.cfg (file)
grub の menu.1st に相当するが、直接編集しても grub2 の更新により上書きされる恐れがあるため原則、直接編集しない方法を考える。/etc/default/grub (file)
grub の menu.1st での最初と最後を分割し別ファイルとしたようなファイルらしいが・・・簡単に考えれば、grub.cfg 再構築時に参照する設定保持ファイルとおもってよいのでは?冒頭の GRUB_DEFAULT=0 を任意の 値(数値)/saved(前回起動)/[メニュー文字列]” に変更すると希望動作に設定される。
(その他の設定は割愛)
その後、
sudo update-grub2・・・で、grub.cfg を再構築する。
/etc/grub.d (folder)
各 shell script (files) が入ってる。・・・(詳細割愛)要するに、起動スクリプト関係の /etc/default/grub といった感じと思う。
当然変更後は、update-grub(2) を実行し grub.cfg の再構築が必要と思われる。
▲上へ [ 編集 ]
見出し | ||
■ | ||
★★★★☆ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ | ||
▲上へ [ 編集 ]
link
関連ページ
- Grub
- Linux
- BSD
- 仮想環境
- その他
▲上へ [ 編集 ]
2011年04月24日(日) 18:15:24 Modified by sakura_momo2