ロボットと趣味と自堕落と

ロボットの事なんか一言も書いてない

windows10にアップグレードしたら死んだ話

経緯

7/29から一般リリースされたwindows10が気になって、アップグレード通知が来るまで待てなかったので手動でアップグレードした。
元のOSはwindows7 Pro。
なお手動アップグレードの方法はこれ
http://www.microsoft.com/ja-jp/software-download/windows10
手順通りにやったらwindows10にアップグレードは出来たもののなんだか色々ぶっ壊れてた。
「何もしてないのにこわれた!」
という気持ち。

何が死んだのか。何が壊れているのか。

具体的には、以下の通り

  • 僕のグラボのドライバがwindows10に対応していなかった*1(そしてこれが大本の原因)
  • windows10からwindows7にもどせなくなった。*2
  • explorer周りが完全に死んでいる。
  • OSのブートマネージャが死んだ*3

おそらく他にも気づいてない細かい点があると思うけど、多分クリティカルなのはこれぐらい。

それぞれの原因と時系列

原因

上記の問題はそれぞれ下記の原因によって起こっているらしい。*4

  • ドライバがwindows10に対応していなかった
  • 何らかの原因でwindows7のバックアップが作成されなかった
  • インストールが正しく行われていない。あるいはインストール後に何らかの原因で破損した。
  • BCDがプライマリディスク*5から何故か消失している。

実はこれらの問題は僕のとある動作によって引き起こされている可能性が高い。

時系列

windows10にインストール後ディスプレイドライバが死んでるのでドライバ入れなおす(nVidia)
-> 対応したハードウェアが見つからないと言われる(大本のドライバがぶっ壊れている)
-> win7の時に使用したドライバディスクでドライバインストール
-> OSがHDDブートしなくなる(ブルスク)
-> USBでレスキューディスク作ってスタートアップ修復(何回やっても失敗)
-> 何故かUSBを挿せばブート出来るようになった(何故かBCDがUSBに作られてしまった。)
-> explorer周りが死んでる事に気づく。
-> windows7に戻せなくなってる事に気づく。

という感じ。

解決方法

以上の問題の解決方法について数回に分けて書いていく。*6
今回はディスプレイドライバの話とOSがHDDブートできなくなった事に対する解決案みたいな話。

ディスプレイドライバ

僕が使ってるPCのグラボはGeForce GTS450という割と古い物で、標準のドライバだとwin10に対応してないっぽい。
これはnVidiaがwin10リリース後に配布したドライバソフトをインストールする事で解決した。
http://www.geforce.com/drivers/results/87789
上記URLのドライバをインストールしたらちゃんと機能したので、グラフィック周りがおかしい人は試してみると良いかもしれない*7

OSがHDDブートできなくなった事について

今回は原因とMSのサポートに聞いた解決案についてだけ。*8

原因

windowsは起動に関してどのディスクのどこにwindowsがインストールされているのかという事を記録しているファイルが存在する。
これはBCD(Boot Configuration Data)と言うファイルで、このファイルにパラメータが記述されているらしい。
通常はC:\windows\Boot下に存在するが、何故か僕のwindowsではBCDのみが消えていた。

解決案①

幾つか試してみたがとりあえずMSサポートに言われた内容を記載。
とてもシンプルだが、今回僕のケースではUSBからブート出来るという事で、USBにBCDがある事がわかった。
そこで、プライマリHDDにUSBにある"Boot"というフォルダと"bootmgr"をコピーしてスタートアップ修復を2回行えとの事だった。
(試してみたが、結論から言うとだめだった。どうやらbootmgrがブートするディスクを読みに行けないらしい。)

解決案②

ちょいと技術的な話。このページに掲載されていた。
pcsupport.about.com

~> bootrec /rebuildbcd

ここでwindowsが見つかればwindowsがインストールされているディスクをBCDに設定しておしまい。
見つからなければ。

  • 現在設定されているBCDのバックアップをとる
~> bcdedit /export C:\bcdbackup

なお、ここでのドライブはCかどうかは自分のパソコンに合わせて。

  • 続いてBCDのアクセス権を自由にする。
~> attrib C:\boot\bcd -h -r -s
  • BCDをリネームする。
~> ren C:\boot\bcd bcd.old
~> bootrec /rebuildbcd

見つかればwindowsBCDに設定して終了。
どうやらwindowsが見つけられる*9状態であれば、BCDwindowsに設定しそこねているだけらしいので、おそらくこれでうまくいくらしい。

やっぱりだめっぽい

ブルスクになった段階で結構変なところを弄ってしまったらしく、僕のPCは現在windowsがインストールされている領域が何故かロックされているとみなされてしまう。
そのため、上記の解決策ではどちらも上手く行かなかった…

次回

まだ今回の事が結論出てないので、まずはもう少し試してみる。
解決したら次のexplorerの問題とダウングレードできない問題を解決していくつもり。

2020/11/22追記
そういえば、この問題、解決していくつもりと言いつつ、何もしてなかったことを思い出した。
結局色々*10試したけど、だめだったのでクリーンインストールしました…


はー…なんでぶっ壊れるかなぁ…

*1:現在は対応済み

*2:大変つらい

*3:一番でかい!

*4:MSサポート曰く

*5:windowsがインストールされてるディスク

*6:僕もまだ全部解決できてない。

*7:自己責任で

*8:解決できてない

*9:bootrec.exeがOSが入っているディスクにアクセス出来る

*10:ドライバ再インストールとか、OS領域を別のストレージにクローンしてみるとか