2008年2月28日木曜日

[Win][Vista]ほんっとどこまでも独りよがりなOSですね^^

VistaSP1.png
画像に示しますように、VistaのSP1を当てました。まだWebではリリースされていないはずですね。MSDNではリリースされていたようで、講座の助教がコピーして渡してくれました。
と、言うか人柱ですね(ぇ
DVD1枚で32bitと64bitの両方に対応しているようで、便利なもんですね。
で、家に帰って早速セットアップ開始。まず、CDからsetup.exeを起動し、「SP1を適用する前に」を読む。
普段ならこんなもん軽くスルーですが、今回は空き容量が少ないため、実行環境を満たしているかチェックです。
その結果、
「32bitでは7GB、64bitでは15GBの空き容量が必要です☆」
とのこと。
うん。うちの空き容量、4GBしかないんだ てへっ
あと11GBも足りてねぇよ・・・Orz ゲーム機としてしか使う気のない(こら)OSに、そんな空き容量なんて渡してらんねーもんなーとか毒づきつつ、無茶を承知で「次へ」をクリック。
すると案の定、「空き容量が足りてねぇよゴルァ!」って警告が出たわけですが、その文言を読むと
「空き容量が5GBあったらいけるよん☆」
となっているではありませんか。
今空き容量は4.4GBちょっと。あと600MB空けたらギリいける! これなら可能性が見えてきます。
ってなわけで、ディスクのクリーンアップ、不要なプログラムの削除などを敢行。とはいえ入れたばかりのOSですから余分なものが入っているわけもなく、300MB程度しか空けられませんでした。
で、ダメ元で「再試行」ボタンをぽちっとなしてみたら、なんと次のステージへ。
えぇ。空きが4.7GB程度あれば一応実行可能です(ぇ
で、インストール開始。しばらくみっくみくになりながら待っておりましたら再起動。あがってきた後、普段の更新のように「プログラムの構成を更新しています」のメッセージが出て数分後、
「Service Packを適用しています:ステージ1/3 0%」の文字が。
これが噂の再起動ループの画面か!と思ってみていたんですが、あっけなく通過。2/3当て終わったところで再び再起動。
その後、同様に「3/3」も当て終わりまして、再び再起動。
ここまではよかったんです。えぇ、何も問題が起きなかったかに見えました。
ただ、やはり事件は起こります。
再起動後、あの味気ないプログレスバーのみが出てくるVistaの起動画面(XPのときはM$のロゴがあったのに)がありますよね? あの画面の後、なんかブートプログラムにこちょこちょするような処理画面が出たんですよ。画面の雰囲気としては、XP起動時のディスクチェックがかかるときのような。
で、いやーな予感がした訳です。以前も更新後の再起動でブートプログラム吹っ飛ばされましたからね。で、今回はどうかと思ったら、そのまま起動はしました。
ただし、SP1の適用には失敗していました。
ほんっとね、バカにしてんのかと。「適用に失敗したので更新を元に戻しています」って、元に戻されました。
えぇ、ここで何となく更新に失敗する原因が見えてきました。私のPC構成は非常に希有でして、意地でもMBRを占有したいVistaからは相性の悪い状態です。
というのも、
・SATAのPBR---GRUB (システムのMBR)
・UATAのPBR---Vista (こいつはGRUBから呼び出される)
なんて構成になっているからなんですね。で、XPまではこれでもなんの問題もなかったのですが、Vistaからはブートプロセスが変更されまして、「MBRから呼び出され、ほかのブートローダから呼び出されることはない」という前提というか条件の下動作するようになっています。
(※注意:XP以前も他のブートローダに対する配慮は基本的にありません。XPをLinuxより後からインストールすると、問答無用でMBRが書き換えられるのがいい例でしょう。)
XPまではNTOSLoderが関知するのはC:\boot.iniファイルの内容であったため、他のブートローダから呼び出されたとしても特別問題は起きなかったのですが、Vistaはどうやらブートの設定をBIOSから取得しているらしく、今の私のような構成ではブートの設定をいじれません。
というか、見ることすらできません。普通、マイコンピュータを右クリックしてプロパティを開き、「システムの詳細設定」から「詳細設定」タブの「起動と回復」を選ぶと、「起動システム」のところで「規定のオペレーティングシステム」の選択ができたり、何秒それを表示するかを設定できたりします。
しかしながら私の構成ではここに何も表示されません。BIOSの設定を変更し、UATAをMBRとするようにして起動したら見えます。
このVistaのクソ仕様が今回の事例を招いたものと見ました。詰まるところ、ブートローダに関する更新が行われる際はBIOSのブートシーケンスをVistaのシステムパーティションがあるドライブが最初にくるように設定しなくてはならないと言うことです。
まぁ大半の人がそうしているでしょうし、私のような構成にしている人はかなり少数派でしょうが、なんという面倒な仕様なんでしょう。
実際、ブートの順番を入れ替えてSP1を適用し直すと無事SP1が当たりました。
ただし、SP1を適用したためにバックアップが作られたらしく、空き容量が1GBほど減っていました。さっきでギリギリだったのにどうしてくれる!とか思ったら、今度は5GBじゃなくて6GBないとだめと宣いやがる。
どうあがいても無理だということで、仕方なくCドライブを拡張する羽目になりました。結果として5GBほど拡張してSP1を当てたことになるので、空き容量が少なすぎて失敗したという可能性も捨てきれません。
ただ、失敗した際にブートプログラム関連をこちょこちょしていたので、私の予想もそう外れていないんだと思っています。
事実、ブートの順番入れ替えたらうまく行ったんだしね。
ちなみにSP1を当てましたが、見た目には何の変化も感じられません。実際、WindowsUpdateをしっかりと適用していたらさほど更新されるパッチもないようですし。
また、SP1適用済みのDVDも用意されるとのことなので、いないと思いますがVista導入を考えているなら、もう少し待って、パッケージがSP1適用済みに入れ替わってから買うのが吉だと思います。
あぁ、SP1当て終わったことだし、拡張した容量を削って元に戻してやろうかしら・・・w