PC復旧・MBRがわからない
とりあえずPCが復旧したとりあえずPCが復旧した。復旧したのだが、よくわからないことになっている。よくわからないまま、復旧したのははなはだ不本意なのだが、いまここに書いておかないと将来もっとよくわからないようなことになるので、ここに書いておく。構成Intel G33系マザーボード、ICH9、AMIBIOSのマシンSATA 300GB HDD (HDD300と命名) MBRにGrub、Vine4.2 SATA-1で認識PATA(U-ATA) 60GB HDD (HDD60と命名)、SUGOI-AdapterでSATAとして、SATA-5で認識 MBR不明※ WinXPこういう構成である。まず、BIOS設定でSATA controllerをenhanced modeとする。まず、HDD300のほうをBIOSで起動HDDにセットアップする(設定1)。この時点で、BIOSから見たSATA-HDDは、1番目がHDD300、2番目がHDD60となっている。ここで起動すると、当然HDD300のほうのGrubが呼び出されて、Linuxに行くかWinXPに行くかを選択してくる(分岐1)。ここのGrubのdevice.map設定ではLinux (HDD300) --> (hd0,0)WinXP (HD60) --> (hd1,0)というふうに/boot/grub/menu.lst に記載して、GrubをHDD300のMBRにインストールしてある。この分岐1でGrub --> Linuxを選択 --> Vine 4.2が無事起動 --> fdiskで確認すると、HDD300 -> /dev/sdaHDD60 -> /deb/sdbで接続されており、マウントもできればデータ読み書きもできる。この分岐1でGrub --> Windowsを選択 --> 起動できない。そこで、BIOS設定で、HDD60のほうを1番目のHDDに指定すると(設定2)、HDD60が起動HDDとなる。この時点で、BIOSから見たSATA-HDDは、1番目がHDD60、2番目がHDD300となっている。ここでそのまま起動すると、画面が真っ黒からLI 99 99 FF 99 FF 99 などと表示してシステム停止。そこで、もう一度前述の設定に戻し、分岐1からLinuxを立ち上げる。Grubのmenu.lstでLinux (HDD300) --> (hd0,0)WinXP (HD60) --> (hd0,0)というふうにしておいて、/usr/sbin/grub-install /dev/sdbとする(つまりHDD60のMBRにもGrubを入れておいてやる ##)。それから再び、設定2にして、そのまま起動操作を続ける。すると、今度はHDD60のほうのGrubが呼び出されて、Linuxに行くかWinXPに行くかを選択してくる(分岐2)。この分岐2でGrub --> Windowsを選択 --> こんどは起動に成功。まあつまり、いちいちBIOSの設定を切り替えれば、LinuxもWinも利用できて、一度立ち上げてしまえばお互いのHDDはマウントできてデータも読み書き可能、と言う感じなのだが。WindowsXP Linux の切り替えが毎回BIOS設定切り替えを含むというので、これは少々きついのである。Piyotaの予想では、これまではHDD60のMBRが壊れていたか不完全であったのだが、##の操作をすることで、MBRが正常化したため、起動ができるようになったのではないか、と考えている。だとすれば、もう一度設定1に戻したとしても、設定1→分岐1→WinXP選択で、Winが今度は立ち上がってくるのではないか、と考えられるのだが、それはどうだろうか?その前に設定1→分岐1→Linux選択でfdiskを立ち上げて、HDD60のpartition tableに変化があるかどうか調べるべきであろうか?それとも、現状でHDDが立ち上がっている状態でDOS commandで、fixmbrでも行って、HDD60のほうのMBRをWinXPの正常状態に戻せばよいのであろうか?こういったことはすべて、PiyotaがMBRとはなにか、というのをあまり正しく理解していないから、というのが原因なのである。謎はつきない。年賀状メインマシンがそんな具合なので、なんとかサブのノートPCを利用して、年賀状印刷&宛名印刷を完了させる。こんなことでよいのであろうか。寝正月正月出歩かずに暴飲暴食を続けていたせいで体重がやばいことに。1~2月でもとの体重近くまで戻したいと思う。