2013年10月17日

grub2で、archbangだらけマルチブート。

mbmを使いたくないという人もいるだろう。
起動が2段階になるし、愛想のないos選択画面で。
grub2でやる場合、どうだったか、確認したくてやってみた。
パーティションは、

/dev/sda1 extended
/dev/sda5 archbang-20131010-x86_64
/dev/sda6 swap
/dev/sda7 archbang-20131016-x86_64

という構成になっている。あとから
インストールした、archbang-20131016で、
sda(mbr)に向かってgrub-installする。
(そうすることしかできない)
そうすると、archbang-20131016の、
grub2のos選択画面からは、archbang-20131010が
見えなくなる。

そこで、まず、
$ sudo blkid
として、/dev/sdaのuuidのリストを表示。
$ sudo mount /dev/sda5 /mnt
$ sudo medit /mnt/etc/fstab
として、archbang-20131016のインストールで
書き換わった、archbang-20131010のswap-uuidを
現状の正しいuuidに修正する。

続いて、
$ sudo medit /mnt/boot/grub/grub.cfg
として、開いたファイルの
### BEGIN /etc/grub.d/10_linux ###

### END /etc/grub.d/10_linux ###
の間の文字列をコピー。

$ sudo medit /etc/grub.d/40_custom
として、

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

のすぐ下に、ペースト・保存する。
これで、
$ umount /mnt
してのち、再起動すると、
archbang-20131016のgrub2、
os選択画面に出るようになる、はず。

はず、というのは、じつはこの通りの
手順でやっていないから。
結果として、それでいいはずだ、ということ。

というのは、間に、
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
を2度ほどやっている、実行結果上、
拾ってくれていないので、そうだろう
ということです。

全体を管理するarchbangをあとからインストール
したものでなく、決めておきたいのなら、
上記的方法で管理させたいarchbangを起動し、
立場をかえて、同じ事をし、mbrに向かって
$ sudo grub-install /dev/sda
をすればいいはず。

ポイントは、あとから入れて
変わってしまった
swapのuuidが、現実通りの
正しいuuidに修正されていないと、
上手くない、ってこと。

念のため、それぞれのarchbang起動上に
おいて、じぶんの場合、
$ sudo grub-install --force /dev/sdX
は、やっちゃっている。
万が一、grubでのマルチブートに
しくじったときの保険。

grub2のブートローダーが、
mbrとpbrの両方に入っていて、
起動に問題が起こったのは、
いままでで1回だけ。

(ここに、windowsを絡める方法は、
やったことがないので知りません)
/etc/grub.d/40_custom
のファイルを使ってやるんじゃないかな。


posted by ブログ開設者 at 17:32| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: