2010年1月12日火曜日

XP 削除できないFramework2.0を再インストール

※追記:一部「アンインストール」が「再インストール」になっていたので修正。
先週金曜日から判明していた問題なのですが、今日解決したので記念にメモ。

授業のVB.NETの課題を行うために、基本開発環境であるVS2005を使用しているのですが、
ある生徒のマシンでは、既存のプロジェクトを開くどころか、プロジェクトを新規作成しようとしても、
「致命的なエラーが発生しました」のようなエラーが発生し、非常に困った状態でした。
エラー状態のキャプを撮ってなかったのが残念。

VS2005本体をアンインストールし、再インストールしてもエラー発生。
困り果てていたので、VS2005と同時にインストールされたであろうソフトウェアも削除していきました。
その間で唯一エラーでアンインストールできなかったのが「Framework2.0」です。

仕方がないので、以下を参考にFramework2.0を再インストールすることに。

削除するのは、
  1. Windows Installer CleanUp」を使って、インストール情報のレジストリを削除
  2. Framework2.0関係のファイルを削除
  3. Framework2.0関係のレジストリを削除
という過程で。 方法自体は書かれている通りですが、一部ファイルが通常では削除できなかったので、 セーフモードに入ってから削除しました。 あとはレジストリを削除し再起動したあと、リンク先にあるFramework2.0をインストールして完了。 この状態でVS2005をインストールし実行すると、元通り使用出来る状態へ。 やはり、Framework2.0が原因だったようです。 なぜ壊れたかの判別が出来ればいいのですが・・・。

2010年1月11日月曜日

XP/Vista OSが破損しているHDD内のデータへアクセスする3つの方法

以前の投稿のXP システムファイル破損によってOSが起動出来ない問題に対する対処法を読んだ後輩から、
「2つ目の対処法の【何らかの方法】での接続がわからない」との質問を受けたのでメモ。

考え方としては単純で、要は「HDD内のデータを操作」出来ればいいということです。
XP/VistaOSのシステム部分のデータが壊れていようが、
マザーボードに接続しても認識できないレベルの物理破損や、
HDDの記録面の消耗などによって、パーティション情報などが破損する論理破損の場合を除き、
基本的に、XP/Vistaから認識できるはずです。

上記の破損状態を除いた場合、
HDD内のデータにアクセスする方法は、僕が知る限り3つあります。


1.内蔵HDDとして認識する方法
XPやVistaを使用している時に、HDDの容量が少なくなった事態を考えてみると、
接続方法が分かる人は、HDDをPC本体に増設しますよね。
その方法とほぼ同じく、無事に動作している他のXP/Vistaマシンに内蔵します。

その時の注意点として、HDDのブートの優先順位を設定する必要があります。
BIOSから「正常に動作するOSのHDD」「アクセスしたいHDD」の順にブートするようにセットします。
(HDDの接続方法がIDEで統一されている場合は、HDDのジャンパーを適正にセットする必要があります。
 @IT:PCメンテナンス&リペア・ガイド:第9回 失敗しないハードディスクの増設方法)

あとは、破損しているファイルを置き換える作業をするのみです。


2.外付けHDDとして認識する方法
USB2.0の規格が確立してから爆発的に売れている外付けHDDのように、
内蔵用HDDを接続してアクセスします。

手段としては、スーパーファミコンのソフトをガシャン!と挿すようにHDDを接続するアイテムが発売されています。
それかもしくは、HDDを裸のまま接続する機器を使用します。


これらの方法を用いて、起動中のXP/Vistaへ接続しファイルを置き換えます。


3.Linuxのディスクブートからアクセスする方法
これは、今回の「システムファイルの置き換え」とはほぼ直接関係しませんが、まぁ一つの案として。
KNOPPIXなど、ディスクからブート出来るLinuxを用意し、起動後にファイルを操作します。
USBメモリも認識するはずなので、そこからファイルを置き換えることもできますし、
もう諦めてしまう際の、ファイル避難にも使えます。


困ってすぐに行動を起こすなら1、機器があるなら2で接続すれば良いと思います。

2009年11月30日月曜日

XP/Vista PC起動時に起こる無限ループへの対処法

先日1,2年生が作業で困っていたので、闘ってみました。
PC起動時に起こる無限ループは今まで何度も困ってきたので、この際解決してしまおうという事です。

そもそも、無限ループが起こってしまう現象は、今までの経験上2つに限られています。
  • BIOSを読み込んですぐ後に再起動→無限ループ。
  • OSのロゴが出ている間(出た後)に再起動→無限ループ。
更にその経験上、これら2つの現象を解消するには、OS再インストールが手っ取り早い事が多いです。 その理由は下にまとめるとして、まずは無限ループを止めることが先決です。 無限ループを止めるには、PCを起動し「F8」キーを押して表示する、 「詳細ブートオプション(XPでは「Windows拡張オプションメニュー」)」から、 「システム障害時の自動的な再起動を無効にする」を選択し、OSを呼び出します。 こうすることで、BSOD(ブルスク)が起こってしまった際に、自動的に再起動することを防ぐことが出来ます。 ということは、BSODから「無限ループが起こる理由」が引き出せるわけです。 この作業を行った上で、無限ループの原因を突き止めます。 まずは、BIOSを読み込んですぐ後に再起動→無限ループしてしまう場合。 この場合は、OSを呼び出す際に失敗しているのでBSODが表示されます。 前回無限ループが起きた際は、「0x0000007B」エラーでした。 Windows XP における "STOP 0x0000007B" エラーのトラブルシューティング方法 このリンク先を見てみると、ブートセクタの問題に思えます。 つまり、OSを呼び出すためのMBR(マスターブートレコード)が破損している可能性があるわけです。 MBRを修復する方法も、検索してみるとあるようですが、 OSを再インストール出来る環境の場合は、再インストールしたほうが手っ取り早いというわけです。 次に、OSのロゴが出ている間(出た後)に再起動→無限ループしてしまう場合。 こちらは、MBRによってOSが呼び出された後のBSODなので、MBRの破損では無いようです。 この場合は、OSを起動しシステムを準備している際に失敗しているので、 OSのシステムファイルが破損していて読み出せず、BSODになってしまいます。 このBSODでは、下部にシステムファイルの名前が表示されているかもしれません。 Windows XP を修復するために回復コンソールを実行する方法 このリンク先のように、破損したファイルを置き換えて対処することも可能な事もあります。 Vistaのスタートアップ修復での対処も可能な場合があります。 ただ、「何故ファイルが破損されたのか」が分からないままPCを使用することになるので、 OS再インストールを行い、ドライバなどを見つめ直しながらセットアップすることをお勧めします。 こういった「方法」を知っているか知らないかで大きく状況が変わる時があります。 今回の場合も、解決出来なければ「壊れたPC」として扱われるところでした。 だからといって、「知る」為には経験しかないので、どうしようも無いのですが。

2009年9月10日木曜日

XP システムファイル破損によってOSが起動出来ない問題に対する対処法

ブルースクリーンはとうに見慣れましたが、
それでも表示される度に口を大きく開いてしまいます。
とにかく、あの青い画面は強烈なものなのです。

で。
時折発生するブルースクリーンに、「Ntfs.sys」が絡んでいることがあります。

(画像はVistaのモノですが、XPもほぼ同等です。)
この「Ntfs.sys」は、「%Systemroot%\System32\drivers(C:\Windows\System32\drivers)」に存在するファイルです。
これが何らかの原因で破損することがあり、結果的にこのファイルが読めず、
OSが起動出来ない、再起動ループなどを起こします。

この場合の対処法としては2つあります。
1つは、WindowsXPディスクからの回復コンソールでの修復。
壊れている「Ntfs.sys」を、WindowsXPディスクにあるそれと置き換える方法です。
それに関しては、以下のようなページが参考になります。

2つ目は、別に起動しているXPから「Ntfs.sys」をコピーする方法です。
エラーが発生しているHDDを、何らかの方法で別のXPマシンに接続し、
「Ntfs.sys」を直に書き直すことで、ひとまず対処できます。
この「ひとまず」が重要で、あくまでも別XPから取得したものなので、
今後何らかの問題が起こる可能性を含めています。
「Ntfs.sys」が何者か分からない以上、応急処置として考えるべきです。


また、「Ntfs.sys」以外にも、「dnsapi.dll」のエラーも発生しました。

ファイルの場所は「%Systemroot%\System32」です。
この場合は、OSが起動出来ないのではなく、
起動するもののファイルが読めないので進めない、状態でした。
これも、対処法2つ目で応急処置しましたが、正直どうなるかわかりません。


そもそも、WindowsXPディスクから持ってきて可能なのであれば、
それはもうそのシステム固有のものでは無いはずなので、
大丈夫だと思い込んでおきたいのですが・・・。

2009年6月27日土曜日

PC修理講義メモ

PCの修理に関しての講義があったのでメモ。

先に書いた記事で、マシンやネットワークの管理をしている組織があるという話をしました。
マシンの管理といえど、マザーボード上の異変までは流石に検知できない状態ではあります。
そんな「マザーボードのエラー専門」の先生なんて居ない事も含め、「修理するためのマシンがないと講義もできない」事も、知識不足となる原因ではあります。
今回は良い機会に恵まれたので、特別詳しい先生をお呼びして講義をしていただきました。
上の画像は、その時の説明に使われた図です。

赤線に囲まれている領域が、最低限の状態で起動する場合。
その時に起動出来なかったら、マザーボードの何らかのエラーである可能性が高いと言えます。

今回講義に使用したマシンは、LANケーブルを接続するとフリーズしてしまうという問題がありました。
ですので、起動したマシンにLANケーブルを挿してみます。
すると、BIOS画面でもフリーズするマシンがちらほら。
マザーボードを覗くと、コンデンサが少し膨らんでいるのが目視できました。
この事より「コンデンサの不良・破損による暴走」が、LANケーブル接続時フリーズの原因であることがわかりました。

こういった現象は、実際に知っている人に聞かないと分からないですし、調べようの無い事じゃないかと思います。
ネットワークがより活発化してるこの時代なのにと思うかも知れませんが、マザーボードが原因だと予想は付いても検証できないのが現実でした。
このような講義はこれからも多数していきたいなと思います。