Explorer がフリーズする

2012年10月29日月曜日

最近 Windows XP でファイル・フォルダーを見る Explorer がエラーメッセージを出して、フリーズすることが多くなった。終了しますのメッセージの後、フリーズしてキーなど受け付けなくなる。

Ctrl+Alt+Delキーでタスクマネージャーから終了させると、終了と同時に画面上のアイコンが全て消えて書き直す。フリーズするフォルダーを見ていると、どうも特定のフォルダーで起きているようだけど、困ったことに毎回必ずクラッシュするようでもない。

Yahoo 知恵袋」で紹介されている方法で Explorer を開くと、クラッシュするフォルダーがスムーズに問題なく開く。

原因と解決方法がわからないので、とりあえずファイルのバックアップのため、怪しげなフォルダーのものを別のフォルダーを作って移動させておくことにする。

ブログを壊した

2012年10月23日火曜日

ツブヤキのブログ Duffer Dog を壊してしまった。
CMS をバージョンアップしようとして、失敗したために表示しなくなってしまった。何とかしようとして、FTP で幾つかのフォルダーやファイルを直接触ったので、修復は難しいかもしれない。

PHP で Strict Standards のエラー

2012年6月1日金曜日

  ローカルで Xampp を動かして、テスト用に使っています。
  先日、Xampp 1.7.4 を 1.7.7 へバージョンアップしました。含まれるサーバーのバージョンは

XAMPP1.7.4(Apache 2.2.17、PHP  5.3.5、MySQL 5.5.8)
XAMPP1.7.7(Apache 2.2.21、PHP  5.3.8、MySQL 5.5.16)
です。この結果、PHP のエラー
Strict Standards: Declaration of dbTable::create() should be compatible with …
が大量に出てくる。
  調べてみると、PHP 5 から変数の受け渡し方法が変わったそうで、値そのものを渡すか値の置かれているアドレスを渡すかということだそうです。その値の受け渡し方法の違いから予期せぬ結果を招かないために、PHP が確認するようにメッセージを出してくれるらしい。だからこのメッセジを表示しないようにすればいい。
  その設定は php.ini ファイルの 500行目あたりにある
 error_reporting = E_ALL | E_STRICT
の  "E_STRICT" を取ればいい。
error_reporting = E_ALL
Apache を再起動してエラーが発生しない事を確認することができました。

  結果として、これでエラーは表示されなくなりましたが、PHP 5.3.5 と 5.3.8 に大きな変更がないことから、多分コードが古いバージョンで書かれていたのでしょうか。
  因みに、PHP の公式マニュアルには「E_ALL:サポートされる全てのエラーと警告。 PHP 5.4.0 より前のバージョンでは、E_STRICT レベルのエラーは除く。」とあるので、PHP 5.3.x には E_STRICT は 'ALL' には含まれていないようです。

JRuby のインストールでトラブル

2011年9月6日火曜日

JRuby 本家 から JRuby 1.6.4 Binary .zip をダウンロードして解凍後、 PATH を通して、実行した。

  > jruby -v 
インストールできていないのか、
Cannot locate Java installation, specified by JAVA_HOME:C:\Java\jdk1.7.0
が帰ってくる。 JRuby の実行ファイルをダウンロードしたり、jre の同梱版を試したりしたが同じ結果。 PATH を調べてみた。 環境変数のシステム環境変数に
「JAVA_HOME=C:\Java\jdk1.7.0」
を設定して、ユーザー環境変数に
「PATH=%JAVA_HOME%\bin」
としていたのを、システム環境変数に
「PATH=C:\Java\jdk1.7.0\bin」
として再起動して
  > jruby -v 
  > jruby 1.6.4 (ruby-1.8.7-p330) (2011-08-23 17ea798) (Java HostSpot(TM) Client VM.7.0) [Windows XP-x86-java]
と表示されて、うまくインストールできた。

パーティション破損のドライブからファイルを救済

2011年8月28日日曜日

突然再起動がかかり、chkdsk が走りだした。起動はできたが、ドライブの一つが読めない。
「ドライブ X のディスクはフォーマットされていません。今すぐフォーマットしますか?」 と表示される。

二つのハードディスクを使っていて、一方をシステムと基本アプリケーションに使用して、もう一方をデータで使うように3つのパーティションに分けて使っていた。このデータディスクの一つのパーティションがダメになった。
「ディスクの管理」で見ると2つはファイルシステム「NTFS」が表示されているが、問題のパーティションは表示がない。

TestDisk をダウンロードして、修復を行って画面上では問題が無いように表示されるが、リブート後も認識されない。ファイルを取り出すために同梱されている「PhotoRec」の使用も考えたが、ファイル名が無くなるとか、すべてのファイルが取り出されるなどの表示があるので、後の整理が相当大変な様子だったので保留。
 TestDisk で作業中に、コピーというコマンドが出てくるのが気になったので実行してみた。やってみると別のドライブにコピーできました。ファイルごとでもディレクトリー全体でも可能です。

"Analyse"-"Quick Search"-"Deeper Search" の後、パーティションを選んで "p" でファイルをリストアップ。画面の下に
”Use Right to change directory
   q to quit, : to select current file, a to select all files
   C to copy the selected files, c to copy the current file”
と出るので、 を押してコピー先を指定する。ディレクトリーまたはドライブを左右の矢印キーで指定して、ファイルまたはディレクトリーを選んで を押すとコピーされる。
かなりの量のファイルをコピーしたのですが、多くのエラーメッセージがでました。多分これらが原因でパーティションを認識できないのでしょうか、詳細は分かりません(?)。エラー内容は、

"Failed open index allocation attribute. Directory inode 0x・・・・・ is corrupt or bug: Input/Output error."
すべてコピーできたかまだ確認していません。幾つかのファイルを見てみると失くなっているファイルは今のところありません。ちなみに他の2つのパーティションは正常に読み書きできています。

<追加2011.9.3>
やはり幾つかのファイルは見当たりません。特定のフォルダーに集中しているように思います。