Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

カテゴリー: 未分類 | 1件のコメント

はーどでぃすくにアクセスできない

2010年10月6日(水)

いつも突然HDDにアクセスできなくなってしまう・・・。
物理的に逝くことが多々(-人-)ナム

●経緯●
外付けHDを購入し450Gほど使用したら突如アクセスできなくなった。(このときのファイルシステムは分からん)
マイコンで名前は表示されるが、容量欄は真っ白。
ダブルクリックするとフォーマットするか聞いてくるし(ノ_・。)
「コンピュータの管理」ではファイルシステムは真っ白。状態は正常。空き容量は100%。
なもんで、HDを取り出し内臓HDとして使用。
フォーマットかけたらすんなりアクセスできるし(´へ`;)
で、しばらく使用して450Gほどしたら・・・・。なんでじゃ!ヽ( ̄皿 ̄)ノ

その問題児君は↓で~す。
問題児HD : hitachi 500G 7200rpm 3.5IDE

今回はどうやら論理的損傷なのではあるが、
果たしてデータは取り出せるのか!?

使用環境:WinXP SP2

●サルベージに挑む●
前回HDが逝ったときに、ソフトで何か出来んかと思いファイナルデータを購入。
んで今回の問題児HDをファイナルデータで検索かけたところ
まぁ~~~時間がかかるかかる(´へ`;)
他に何かあるかなぁと探したところ
 Handy Recovery
 R studio
を発見。
ちなみにファイナルデータは「何でこんなソフト使ってるか分からんわ」てな感じで酷評でした。

2つとも有償ですが体験版でも検索してくれます。
ファイナルデータより早いですし画像のプレビューを見る限りこちら達の方がよさそうです。

●パーティションでなんとかなるかな?●
サルベージの他に修復方法が無いか調べたら
ブートレコードで何とかなんじゃねってな方法を見つけたので試してみることに。

まぁ右も左も分からない状態で、「ブートレコードって何?」「基本領域?拡張領域?論理領域?」
新しい言葉がワンサカ出てくる。
言葉の勉強しつつアプリの使用方法も勉強しつつ。

使えそうなツールをいくつかダウンロード。
 HDD Regenerator :不良セクタの修復
 HD Tune :セクタ情報の検査、HDの温度モニタなど
 photorec_win :CUIでのサルベージ
 testdisk :ブートレコードの検索・上書きなど
 DiskProbe :ローレベルディスクエディタ(Microsoft謹製のソフト)

●いざ実践!!●
HD Tuneで検索したらありましたよ。
一番初めに!!
このソフトをで見ると一番初めのマスが赤いだけで他はオールグリーン。
パーティションに問題でも起きたのかなと予想。

結果・・・原因が絞り込めたかな・・・
~~~~~~~~~~~~~~~~~~~~~~~~

つづいて
HDD Regeneratorで不良セクタがないか検索。
これまたあったよ。一番初めに!!
何を血迷ったか
よし!修復するぞ~と意気込みRepairを選択。
赤いBの文字がRに変わった。

ワクワク、ワクワク、再起動・・・・

何も変わってねぇじゃん _| ̄| ~● ゴロゴロ
ハンッ!所詮6割修復できるツールだもんね(`3´) 、 ぺっ

結果・・・期待を返せ!・・・
~~~~~~~~~~~~~~~~~~~~~~~~

つづいて
photorec_winを使用。
このツールはファイル救出。
検索する拡張子が選べるのでjpgとpngに絞る。
いざ検索!

(ノ゚ο゚)ノ  オオオオォォォォォォ-

ザックザック出てくる出てくる。500ファイルごとにフォルダは自動生成される。
見れる・・・見れるよー(~^~) ジ~ン

ただし、救出されたファイル名はクラスタかセクタの番号になってしまう。
およそ6時間40分かかった。

結果・・・良くも悪くも・・・
~~~~~~~~~~~~~~~~~~~~~~~~

つづいて
testdiskを使用。と同時にDiskProbeも使用。
testdiskでセクタ情報を書き換えるので
DiskProbeでセクタ情報を保存。

FAT32はオリジナルとバックアップのブートセクタがある。
そこでtestdiskを使い
1、バックアップをオリジナルに上書き
2、オリジナルをバックアップに上書き(無駄でも一応確認)
3、残存するブートセクタを抽出し上書き
の3つを試した。

結果・・・変わらず・・・。ガッデム!!(▼へ▼メ)
~~~~~~~~~~~~~~~~~~~~~~~~

同じくDiskProbeを使用。
別のHDでブートセクタをコピーし上書き。
★回復したいパーティションと同じ位置、同じサイズ、同じフォーマットのパーティションを作成する★
*位置やサイズが多少違っても何とかなる場合がある。あくまで。

結果・・・だめポ_| ̄|○
~~~~~~~~~~~~~~~~~~~~~~~~

あ~
 も~やだっ

今現在、testdiskで問題児HDからファイルのコピーのオプション機能を使い
データを救出中。
フォルダ構造もそのままでウレピーわーい\(^o^)/
しかし、日本語名は文字化けで全滅・・・・。

そしてふと思う。
WinXPでは32GB以上のHDは基本的にはNTFSでフォーマットされる。
なのにphotrec_winやtestdiskでは、検索されたパーティションがFAT32だし。
出荷時はFAT32でフォーマット済で、
1回使用してフォーマットかけたときはNTFSで(おそらく)
そのNTFSがないってことは壊れたってこと?

(´ヘ`;)ハァ   疲れた・・・。

カテゴリー: PC | コメントする

vistaと管理者権限とダウンロードしたファイル

2010年7月28日(水)晴れ
 
OSはwindows vista 64bitで
ffftpにて
 
ffftpでファイルをダウンロードしたけれど
ffftpのファイル表示とディレクトリ上のファイル表示が異なっている。
(左図ではindex.htmlがあるのに右図ではファイルがない)
 

        

どこにあるかというと、

マイドキュメント→AppData→Local→VirtualStore→Program Files(x86)→ffftp

ありました。

 

vistaのセキュリティでの仕様みたいやね。

管理者権限の関係でProgramFiles以下にはファイルはダウンロードできないようです。

カテゴリー: 未分類 | コメントする

ファイルのロック

2010年5月19日(水)
 
OpenOffice.org3.0.0使用
 
VistaのノートからXPのデスクトップに
分析データの入ったフォルダ丸々コピーしたわけですが
 
calcファイルを開くと図の内容が表示される。
なぜだろう?
 
 
 
「OpenOfficeには3.1より編集中のファイルロック機能が実装されています。
このファイルロック機能は、OpenOfficeでなんらかのドキュメントを編集している際に、
同じディレクトリに「.lock.[title.[extension]]#」という形式のファイル(隠し)を作り出すことで実現しているようです。」
 
にゃるほろ。
ノートで「.~lock.・・・.ods#」ファイルが作られて
デスクトップにまんま持ってきてしまったからか~(´へ`;)
カテゴリー: ソフトウェア | コメントする

IEのキャッシュ

2010年5月14日(金)
 
動画サイト見ると
xpではTemporary~のフォルダに残るのに
Vistaだと残ってない!!
「残ってない」というよりかは「表示されない」設定らしい。
 
 
IEのセキュリティ設定によるもの。
 
■方法1■
「インターネットオプション」
→ 「セキュリティ」
→ 「保護モードを有効にする」のチェックをはずす
 
■方法2■
「インターネットオプション」
→ 「セキュリティ」
→ 「信頼済みサイト」選択
→ 「サイト」
→ アドレス入力し「追加」
 
おお!キャッシュがある!
カテゴリー: PC | コメントする

メソッドの呼び出し

2008年2月5日(火) ハレハレ
 
newを使わずにインスタンスを生成できたので、今度はMethodクラスを使ってメソッドを呼び出すことにチャレンジです。

========================================================
  String className = "TestHashTable";
  try{
   Class nodeClass = Class.forName(className);
   try{
   
    Method nodeMethod = nodeClass.getMethod("methodA", new Class[]{});
    System.out.println("method call invoke():" +  nodeMethod.invoke(nodeClass.newInstance(), new Object[]{}));
   
    Method nodeMethodB = nodeClass.getMethod("methodB", new Class[]{int.class});
    System.out.println("method call invoke():" +  nodeMethodB.invoke(nodeClass.newInstance(), new Object[]{new Integer(100)}));
   
    Method nodeMethodC = nodeClass.getMethod("methodC", new Class[]{String.class, int.class});
    System.out.println("method call invoke():" +  nodeMethodC.invoke(nodeClass.newInstance(), new Object[]{"moji", 20}));
   
   }catch(NoSuchMethodException e){
    e.printStackTrace();
   }catch(IllegalAccessException e){
    e.printStackTrace();
   }catch(InvocationTargetException e){
    e.printStackTrace();
   }catch(InstantiationException e){
    e.printStackTrace();
   }
  }catch(ClassNotFoundException e){
   System.out.println("vrml97 Loader: Initialization error: Can’t " + "find class for VRML node: " + className);
   e.printStackTrace();
  }

========================================================

メソッドの戻り値は元のメソッドの戻り値同じで
戻り値がprimitive型の場合はラッパークラスとして返り、
voidの場合は、nullが返る。

▲呼び出すメソッドに引数なし
nodeClass.getMethod("methodA")
nodeClass.getMethod("methodA", new Class[]{})
nodeClass.getMethod("methodA", new Class[0])
getMethodでクラスから取得する
第1引数:取得するメソッド名
第2引数:メソッド引数の型を指定する

nodeMethod.invoke(nodeClass.newInstance())
nodeMethod.invoke(nodeClass.newInstance(), new Object[]{})
nodeMethod.invoke(nodeClass.newInstance(), new Object[0])
invokeでメソッドを呼び出す
第1引数:メソッドが属するクラスのインスタンス
第2引数:呼び出すメソッドに渡す値

▲呼び出すメソッドに引数あり
nodeClass.getMethod("methodB", new Class[]{int.class})
nodeMethodB.invoke(nodeClass.newInstance(), new Object[]{1})

nodeClass.getMethod("methodC", new Class[]{String.class, int.class})
nodeMethodC.invoke(nodeClass.newInstance(), new Object[]{"moji", 1})

カテゴリー: 未分類 | コメントする

クラスのインスタンス化

2007年11月30日(金)
 
ClassクラスからConstructorクラスそしてインスタンス化。
 
1.Classクラスで「クラス名」のClassインスタンスを取得。
ex:String className = "InstanceCount";
ex:Class testClass = Class.forName(className);
2.ConsturctorクラスでClassインスタンスから「クラス名」のコンストラクタを取得。
ex:Constructor constructor = testClass.getConstructor(new Class[]{});
3.Objectクラスで「クラス名」のインスタンスを取得。
newInstance()はObject型を返す。(ex1)
「クラス名」のオブジェクトが欲しい場合はキャストする必要がある。(ex2)
ex1:Object instance = constructor.newInstance(new Object[]{});
ex2:InstanceCount instance = (InstanceCount)constructor.newInstance(new Object[]{});
 
●エラー発生●
########### 修正前 #############
class InstanceCount{
 InstanceCount(){
 }
 InstanceCount(String str){
  }
  int getCount(){
  }
  int getCounter(){
  }
}
#################################
############ 実行エラー #########
java.lang.NoSuchMethodException: InstanceCount.<init>()
        at java.lang.Class.getConstructor0(Unknown Source)
        at java.lang.Class.getConstructor(Unknown Source)
        at TestInstanceMain.main(TestInstanceMain.java:39)
#################################
 
InstanceCountクラスにInstanceCountメソッドがありませんといわれてるようです。
 
########### 修正後 #############
class InstanceCount{
 public InstanceCount(){
 }
 public InstanceCount(String str){
  }
  int getCount(){
  }
  int getCounter(){
  }
}
#################################
 
原因はInstanceCount()がpublicでなかったからみたいです。
APIにも書いてありました。
 
やっとインスタンスを取得することができたぁ。°(ノд`)°。
カテゴリー: java | コメントする