先日、デフラグの失敗でXPが起動不能となった。ちなみにこの時点では:
と構成されていた。ブートローダーは最後に入れたUbuntu 10.04のGrub2がMBRに入ってた。
ついでにリリースされたばかりのopenSUSE11.3を入れることにした。順番としてはXPを入れ直し、続いてopenSUSE11.2をインストールした。この時点でブートローダーはopenSUSE11.3のレガシーgrubである。レガシーのgrubからgurb2が呼び出せるかテストしていなかったから、それも兼ねてである。
インストールは順調に終わった。openSUSE11.3は意外と出来がよい。所々遅く、日本語入力に苦労するUbuntuよりずっと使い勝手がよい。そこで、しばらくメインのOSとして利用していた。
ところが、Ubuntu10.04が起動しなくなってしまった。原因がしばらくわからなかったが、よく考えればPBRにgrub2が入っていないので、起動するはずがない。
そこで、いろいろ調べPBRに押し込んだ。その様子は別記事に書いた通りだ。そのときにMBR以外へ押し込むにはgrub-install --forceオプションを利用しないと入らなかったのは、理由があったのだ。
これでしばらく順調に使用できていたのだ。昨日までは。
久しぶりにUbuntuを立ち上げ、アップデートしたらカーネルのアップデートもあった。よく見なかったのだが、grubのアップデートもあったのかもしれない。頼んでもいないのにMBRをgrub2に書き換えた。これが、--forceオプションが必要な理由だったのだ。アップデート時にMBRを勝手に書き換えるということだ。
これで、Ubuntuのgrubが起動時に動くことになった。困ったことだ。よけいなことをしてくれた。もたつくし、使いづらいし、10.04は出来が悪すぎる。
ここでとれる手は2つある。Ubuntuのgrub2がMBRに入っているのだから、チェーンロードし、openSUSEを起動する方法。この場合、PBRにopenSUSEからgrubをインストールしなくてはならない。
しかしopenSUSEのgrub起動画面は美しいので気に入っている。これを生かすため、openSUSEのgrubをMBRに復活させたかった。そこで調査した。
インストールDVDを起動するとレスキューで簡単に戻るらしい。そこで試してみたらメニューらしいものは表示されなかった。レスキューと表示されたログインが表示される。パスワードなしのrootでログインができたが、grub-installは管理ツールのYaSTからインストールすべきだ、そうでなければ明示的にgrub-install.なんたらかんたらというコマンドを利用しろと言われた。
では、壊れると面倒なため、ご忠告に従ってYaSTを起動しよう。どうやって?grubのコマンドでopenSUSE起動すると次回も同じことをやらないと起動できない。一回で成功しないかもしれない。そこで、Ubuntuのgrub2からopenSUSEの最新カーネルを指定しての起動にすることにした。まあ、openSUSEの/boot/grub/menu.lstの中の情報をUbuntuの/etc/grub.d/40_customの中に書き込んで、update-grubでOK。
この方法でopenSUSEを起動してYaSTを起動、ブートローダーの設定を利用したが、レガシーgrubがMBRに書き込まていない。またUbuntuのgrub2が起動する。
ブートローダーの設定をよく読むと、MBRの復旧とか言う項目が、隠れていた。ああこれかと思い、クリック。何か新しいもので書き直すとか警告しているが、新しいなら問題ないだろうと実行。
やっと起動するかと思ったら、なんとXPが直接起動するようになった。:D
openSUSEは実に親切なディストリビューションなのである。インストール時にMBRにgrubをインストールする前に、そのバックアップを取っていてくれる。実は、MBRの復旧とは、このバックアップを書き戻し、openSUSEインストール前のMBRの状態に戻してくれる手段を残している。
openSUSEの直前にインストールしたのはXPである。であるからMSのブートローダーがバックアップされていたことになる。それをリカバーしたわけだ。
なぜ、MBRのバックアップが必要かはUbuntuフォーラムでものぞいてもらえば理解できるだろう。最近のMS Windowsがバンドルされているマシンでは、マシンが不調になったら簡単に購入時の状態に戻せるようにHDにリカバリーエリアがあり、そのリカバリーをするためには購入時のMBRとそれに続く領域にワンタッチリカバーのプログラムが仕込んであるので、もしLinux/Unixなり、新しいMSのOSなりでもインストールしてそこをつぶしてしまうと、購入時の状態へ戻せないことになるのだ。
それを知らず、Linuxなどをインストールした初心者がもし元の状態へ戻そうとすると悲劇になる。なにせ、コンピューターメーカーに連絡するとかなりのお金を取られるのだ。故障扱いになる。
そこで、openSUSEは自動的にMBRのバックアップを取り、戻す手段を用意してある。ただ、私は/boot/grubの中にあるMBRのバックアップの存在には気づいていたが、それをどこから書き戻すのかを知らなかった。こんなに簡単にもどせるとは。いいことだが、わかりづらい。
そこで今、この文章はXPから入力している。この際、XPも環境を整えていなかったので、少し手を入れよう。
後は、ゆっくりとopenSUSEのgrubを復活させる方法を探すことにしよう。
それにしてもUbuntu君はよけいなことをしてくれた...前はそんなに悪い子ではなかったのに。反抗期なのか?そんな時期なのか?そうかもしれない。みんなから期待されていたプレッシャーで非行に走っているのだろう。そんな気がしてきた。
| Mozc in linux< 前 | 次 >linuxのプリンタドライバー |
|---|
| < 前 | 次 > |
|---|