がらくた置き場

がらくただけど、心を込めて。

Check Flashを使って全領域検査をしてみよう

f:id:syamatsumi:20210619002143p:plain

パソコンちょっとわかる人向けです。
一瞬で全データがパーになる操作あり〼。
真似して事故っても知らん。

ChkFlshで物理デバイスをスキャンしたい!

「CheckFlashでSSDやSDなどを物理デバイスとしてテストしたい!
でもこれ、エラーが出るばっかで全く使えねー!」

って思ってる人のためのエントリです。
なお、Windows10使ってる方で、
コンパクトに要点が纏まってる記事が読みたいなら、
下記サイトを見ればいいと思うよ!

ヾ(´・ω・`)ノ゙ バイバーイ

moriya.xrea.jp

 

Check Flashって神アプリがありまして。

使うと内容物は消滅しますし、時間も死ぬほどかかりますが、買ってきたストレージの不良を先に見つけてしまうことが出来ます。
プロが使うツールとそう劣らないんじゃないでしょうか?
皆様もぜひダウンロードしておきましょう。

HOME PAGE OF MISHA CHERKES Check Flash

mikelab.kiev.ua

Check Flashで何が出来るの?

  • ディスクの全セクタを特定の値で埋める
  • ディスクの全セクタが特定の値で埋まっているか確認する

ソレの何が凄いのか伝わらないと思うけど、案外無いんだよ、こういうのって。

たとえばHD Tune Proなんかでも似たようなことは出来ますが、アレはディスクの末端を書き漏らす雑な子ですし。

Linuxとか使える人ならDDとかでごにょごにょ出来たりするのかもしれませんが、僕はあいにくあの方面はサッパリでして…

 

それが出来て何の意味があるの?

スピンドルなどの駆動部品やセルの経年劣化といった要素こそ拾えませんが、極端に早死にするストレージって、製造初期から結構大量の不良セクタを抱えていたりするもんだったりします。

ただ、メーカーも特殊な事情がある場合を除いては、基本的に全領域検査なんてやりません。
本当にクソほど時間がかかるので、やると単価が跳ね上がるんですよね。

そもそもの発生率からして0%台とかそういう領域なんで、客からクレーム受けて対応した方が早いってハラのメーカーも多く居ることでしょう…

 

というわけで、
「バーンインを兼ねて全てのセクタにデータを書く」
「書いたデータが正しく読み書き出来るかを試す」

という儀式を行うことで
「数ヶ月経たずに死んだ!」
みたいな事故を避けることが出来るのです!

 

でも、こういう人は使わん方がいい。

  • たくさんのディスクを搭載しているPCしかない
    間違った操作で簡単に復旧不能に陥ります。やめましょう。
  • 特殊なHBAで接続している
    少なくともAdaptecのHBAにぶら下げたデバイスはこの方法でテスト不能
    Crystal Disk Infoで読めないディスクはおそらく処置不能
  • 一日中立ち上げたままにしておけるPCが無い
    容量とスピードによっては余裕で数日かかったりします。やめましょう。
  • パソコン初心者
    少なくともコレに目を通してナニをやってるのか想像付かないならパソコン壊れるんでやめときましょう。
  • パソコン中級者
    初心者のつもりで扱わないと酷い目に遭います。凡ミスがマジで命取りです。初心に返れないなら、やめましょう。
  • パソコン上級者
    こんなの読む必要無くない?
  • 処女厨
    ディスクをくまなく舐め回して完璧な中古にする操作です。やめときましょう。

そもそも
「お前、テストのために書いたり消したりしたら消耗するだろうが!」
というご意見についてはまぁ、気持ちは分かるんです。
が、

「合計2回の読み書きで死ぬストレージをあなたは信用出来るのか?」

という重大な問題を考えると、やっといた方が僕は良いと思うんだよなぁ…
実際、僕は自分が買ったストレージはだいたいこの方法で処置してます。

とはいえ、大事な事なので何度も言うけどパソコンちょっとわかる人向けです。
真似して事故っても僕は知らんし、興味無いなら無視していいのよ。

 

使ってみよう

Diskpartでパーティションを潰す

「Diskpart」を起動します。Winキー+Rとかでファイルを指名して実行でも、コマンドプロンプトから呼び出すでも好きな方法でDiskpartを起動してください。

なお、UACの昇格とかは必要に応じて問い合わせしてくれますのでコマンドウィンドウを管理者で開いておく必要とかは無いです。

f:id:syamatsumi:20210618231237p:plain

diskpartを立ち上げます

ディスクのリストを見て対象のドライブを選択します。

f:id:syamatsumi:20210618231529p:plain

「list disk」を実行します

f:id:syamatsumi:20210618231603p:plain

ディスクの一覧が表示されました

f:id:syamatsumi:20210618231620p:plain

今回は「select disk 4」でディスク4を選択します。

f:id:syamatsumi:20210618231703p:plain

ディスク4が選択されました

f:id:syamatsumi:20210618231721p:plain

「list partition」でパーティションの論理構造を見ます

f:id:syamatsumi:20210618231814p:plain

新品なのでカラッポですね

SDカードなんかだと最初からフォーマット済みのこともあります。

f:id:syamatsumi:20210618231858p:plain

超危険操作「clean」を実行。データの入ったドライブにやると死ぬぞ!

ここマジで気を付けてください。
ディスクの先頭を0書きするコマンドで、
データの入ったディスクを問答無用でパーにします。
なんなら大事なディスクはこの操作の前に外しておくのが良いです。

f:id:syamatsumi:20210618232142p:plain

南無阿弥陀仏

これで、Windowsからこのディスクに敢えて茶々いれてくることは無くなります。

システムによってはこのあと再起動をした方が良い場合もあります。

 

Check Flashを使って全領域テストする

CheckFlashを立ち上げます。

f:id:syamatsumi:20210618232612p:plain

立ち上げ直後

なお、リムーバブル属性が無いドライブはあえて非表示にされるので、内蔵ドライブ相手に処理する場合は

"C:\PortableApps\ChkFlsh\ChkFlsh.exe" /ALL

みたいに起動オプションに「/ALL」を加えてください。それでも出てこない奴はありますが。
コマンドラインでやっても良いし、ショートカットを作っておくでも良い。

 

なお、バッチファイルでやる場合は権限昇格まで
まとめて実行してしまうでも良いかもね。

@echo off
REM 権限を自動で確認し、必要なら昇格ダイアログを出す。
whoami /priv | find "SeDebugPrivilege" > nul
if %errorlevel% neq 0 (
    echo 管理者権限がありません。管理者権限で実行します
    @powershell start-process \"%~0\" -verb runas
    exit
)
REM ここから下に処理内容を記述します。
cd %~dp0
@start ChkFlsh.exe /All %1 %2 %3 %4 55 %6 %7 %8 %9

こんな感じで行けるはず。

 

f:id:syamatsumi:20210618233237p:plain

「物理デバイスとして」を選択

f:id:syamatsumi:20210618233517p:plain

バイスを選択する

大抵は大丈夫なんだけど、ここで間違ってデータの入った生きてるドライブを選択して書込みをスタートするとデータが全部パァになります。気を付けてください。

f:id:syamatsumi:20210618233742p:plain

読み書きテストを選択

f:id:syamatsumi:20210618233849p:plain

一応実行前に警告は出るよ。Diskpartより優しい!

f:id:syamatsumi:20210618233817p:plain

スタートすることでディスクの全領域破壊が始まる…

ここでWindowsやセキュリティソフトの介入があるとエラーメッセージがぶわーって出てくる。

DiskpartでちゃんとCleanにしたドライブでソレが起きる場合は大体セキュリティソフトのしわざなんで適宜対処するよろし。

f:id:syamatsumi:20210618233937p:plain

書込みが終わったら検証を始めてくれる。パターンの時だけ。

f:id:syamatsumi:20210619022157p:plain

テストが無事完了したの図

テストが無事完了。めでたしめでたし。

 

セルのデータを全消しする

フラッシュメモリは全てのビットが1(FF)の時にメモリセルの電荷が空になります。
つまりテスト後に全消しする操作とは全領域FFです。
コレを出来るソフトがあんま無いんだよねぇ…

f:id:syamatsumi:20210619022247p:plain

アクションタイプを書込みパターンに、パターンをFFに設定

f:id:syamatsumi:20210619022329p:plain

テスト開始。ただコレ、書くだけで検証は自動ではやってくれない…

f:id:syamatsumi:20210619025300p:plain

完了時に取り外せって言ってくる。

内蔵ドライブの場合外しようがないのもあって、このメッセージは無視せざるを得ない時がある。まぁ、その場合は普通にクラッシュして落ちますが、立ち上げ直せば良いのです。

f:id:syamatsumi:20210619025439p:plain

ちゃんと外せばこうなる

f:id:syamatsumi:20210619025645p:plain

続いて、検証パターンに設定する

この設定時、デバイスが書込み時と同じになっているか注意する。特に、メッセージに従ってディスクを取り外した場合はデバイス選択枠の右の更新ボタンを押して再選択した方が良い。

f:id:syamatsumi:20210619025715p:plain

検証開始。デバイスの番号が変わっててエラーだらけになることも。

書込みの時と違って読むだけなので、何か間違ってても壊れることはないので気楽ではあるかな…

 

ディスクを初期化する

通常のストレージは00の状態が基本、つまり全てのメモリセルをパンパンに充電してやる必要があります。

パターンが00になってるだけでやることは前項とほぼ同じです。

f:id:syamatsumi:20210619041452p:plain

流石に要らんよなこの画面。

実はここからマザーに取付けて作業したのでデバイスを挿抜せずに完了したため、アプリがクラッシュしたため書込み完了のスクショはありません。

f:id:syamatsumi:20210619041835p:plain

続いて検証。なんか遅いけど、そんなもんです。

f:id:syamatsumi:20210619043406p:plain

検証\(^o^)/オワタ

ここまでやれば流石に安心して使えますね!

 

 

フォーマットする

この辺はさすがに説明は要らんと思うので細かいとこは省略。
ディスクの管理でも開いて適当にフォーマットしましょう。

流石にここまでやっておけばフォーマットはクイックフォーマットで大丈夫です。
まぁ、通常フォーマットしたい人は好きにするよろし。

あ、SDカードのフォーマットはSD Formatter使いましょう。
WindowsにやらせるとSD規格とは微妙に違うフォーマットされちゃうんです。

www.sdcard.org

 

SMARTの無いディスクは事前の速度テストも

そういや、今回は対象がSSDなんでいきなり書いちゃってますが、SDカードの場合はSMARTが使えないので、DiskpartでCleanする前にベンチマークソフトで速度の計測を行っておくと良いですよ。

熱もないのにテスト前後でテキメンに遅くなっている場合は、代替セクタ処理をしまくっている可能性が高く、つまり近日中に死ぬ可能性高いです。

新品のシーケンシャルリード/ライトの値が公称値を大きく下回るのは不良かスペック詐欺かその両方なんで、少なくとも記録メディアとして信用はしないかな…
つまりゴミ。

ただ、スピードが出ないパターンってPCやバスによっても変わるものなので、早とちりでお店の人を困らせないようにしたってください…

特に、Check Flashによる読み書きは異常なサイズの読み書きを行うため、大抵は熱ダレを起こしてスペック通りの速度は出ません。

f:id:syamatsumi:20210618235424p:plain

書込み2サイクル目。USB接続でゆったり読み書きしてるのにクソ熱い。

まー、こんな温度でスペック通りの速度を出せってのが無茶なんよ…

 

あとがき

このソフト、だいたいはパーティション内の読み書きをチェックするような記事が圧倒的で、物理デバイスとしてテストする方法を解説しているページが少ないことにお気付きでしょうか。

でも、論理ドライブとして確認する方法だと最も負荷が高くチェックすべきディスク先頭を確認出来ないんですよね。

しかし、MBRやGPTに何ぞ書こうとした時点でWindowsやセキュリティソフトに横入りされて即エラーを吐くことになるのです。

そこで、Windowsがドライブを保護しに行かないよう、先にディスクをパーにしてあげる必要があります。

ディスクの初期化ならWindowsのディスクの管理を使えば良い、と思うのですが、少なくともWindows7以前ではリムーバブルディスクパーティション操作が出来無い問題があるのですよね…

ところが、2020年のWindows10であれば普通にディスクの管理から操作できますので、無理にDiskpartを使う必要はありません。

故に前ブログの焼き直しをする必要性も無くなったんですよね。
うん、つまり、この記事がもはや要らん子なのは知ってる。
知ってるから真っ先に既にある記事に言及したワケでして…

 

一応、古いWindowsもオフラインでしぶとく生き残ってたりしますので、こういう記事も全くの無意味ではないとは思いますが、ほぼ誰の得にもならないモノを何で今頃になってシコシコ書いてんだろうねって思う所は強いです、正直。

なんでこんな不毛なことしてるんだろう?

うーん、僕自身にもわかんない…

 

そうそう。数日がかりの例。12TBのHDDは流石にねー。
ディスク後方に行くに従って鈍足になっていくので、実際は120時間ぐらいかかるんじゃないかな。いやー、ヘビーだ。

 

f:id:syamatsumi:20210619041645p:plain

ディスク先頭だからこうだけど、実際にはもっとかかる。