fakeなmicroSDカードにwishbone ash、アルゴス
いやー、はまりにハマった一週間であったが、よもやfakeなmicroSDカードが原因だったと今朝になるまで気付けなかった。
exfatでフォーマットできるが、ext4やntsfなどでフォーマットできない
fdiskで、pするとそれなりにマトモな感じに見えるがdもnもwできないんだワ。これが。
大量データを保存してみるとなぜかデータの取りこぼしや不整合がそれなりに出る。メゲずに壊れたファイルをようやくリストアしたかと思い翌日ファイルにアクセスするとロードできない、昨日のフル作業が灰燼と帰す。
マシーン環境やデバイス、転送プログラムなど見直しもしやと思いググるとこの話題。ザクザクあります。そしてまず、H2testwにたどり着く。早速試してみるが8時間程度経っても延々と続くH2testwはあきらめ、もう一つたどり着いたf3probeで覚醒。
sudo ./f3probe --destructive --time-ops /dev/mmcblk0sudo ./f3probe --destructive --time-ops /dev/mmcblk0
とすると。
F3 probe 8.0 Copyright (C) 2010 Digirati Internet LTDA. This is free software; see the source for copying conditions. WARNING: Probing normally takes from a few seconds to 15 minutes, but it can take longer. Please be patient. Bad news: The device `/dev/mmcblk0' is damaged Device geometry: *Usable* size: 0.00 Byte (0 blocks) Announced size: 999.02 GB (2095104000 blocks) Module: 1.00 TB (2^40 Bytes) Approximate cache size: 31.00 MB (63488 blocks), need-reset=no Physical block size: 512.00 Byte (2^9 Bytes) Probe time: 7'36" Operation: total time / count = avg time Read: 13.44s / 131289 = 102us Write: 7'22" / 190721 = 2.3ms Reset: 2us / 2 = 1us
7分半で結果が得られる。が、
「Bad news: The device `/dev/mmcblk0' is damaged Device geometry: Usable size: 0.00 Byte (0 blocks)」 ってところから、アダプタとかマシーン側ハードウェアの不調かもと思いUSB刺しでも試してみたが変わらず。まぎれもないfakeでした。 しかし、使える領域があるんじゃないかと、あきらめ悪く続けてみる。
fdiskの状況はこんな感じ。
sudo fdisk /dev/mmcblk0 fdisk (util-linux 2.34) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 コマンド (m でヘルプ): p ディスク /dev/mmcblk0: 999.2 GiB, 1072693248000 バイト, 2095104000 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x00000000 デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ /dev/mmcblk0p1 32 2095103999 2095103968 999G 7 HPFS/NTFS/exFATsudo fdisk /dev/mmcblk0 fdisk (util-linux 2.34) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 コマンド (m でヘルプ): p ディスク /dev/mmcblk0: 999.2 GiB, 1072693248000 バイト, 2095104000 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x00000000 デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ /dev/mmcblk0p1 32 2095103999 2095103968 999G 7 HPFS/NTFS/exFAT
そんじゃパーテーションをいじってみるか。って事で、アダプタもfakeかもと頭をよぎりmicroSDをUSB刺ししてlsblk。
sdb └─sdb1 exfat 688C-5C75
で、再びfdisk。
ディスク /dev/sdb1: 999.2 GiB, 1072693231616 バイト, 2095103968 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x00000000 デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ /dev/sdb1p1 4294967295 8589934589 4294967295 2T ff BBT /dev/sdb1p2 4294967295 8589934589 4294967295 2T ff BBT /dev/sdb1p3 4294967295 8589934589 4294967295 2T ff BBT /dev/sdb1p4 4294967295 5035196669 740229375 353G ff BBT
笑ってしまう4つのパーテーション。まっさらにすっか。って事で手始めに一個削除。
sudo fdisk /dev/sdb fdisk (util-linux 2.34) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 コマンド (m でヘルプ): d パーティション 1 を選択 パーティション 1 を削除しました。 コマンド (m でヘルプ): w パーティション情報が変更されました。 ioctl() を呼び出してパーティション情報を再読み込みします。 /dev/sdb: デバイスのクローズに失敗しました: 入力/出力エラーです
というありさま。しかし、500Gあたり500円程度のコストなんだが販売業者的にペイできているのか?を考えた時、何故かふとArgusを思い出してしまった。
以下、正常なモノでは。
mmcblk0 └─mmcblk0p1 exfat 0123-4567 sudo fdisk /dev/mmcblk0 fdisk (util-linux 2.34) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 コマンド (m でヘルプ): p ディスク /dev/mmcblk0: 116.37 GiB, 124939927552 バイト, 244023296 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x00000000 デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ /dev/mmcblk0p1 32768 244023295 243990528 116.4G 7 HPFS/NTFS/exFAT コマンド (m でヘルプ): i パーティション 1 を選択 Device: /dev/mmcblk0p1 Start: 32768 End: 244023295 Sectors: 243990528 Cylinders: 15188 Size: 116.4G Id: 7 Type: HPFS/NTFS/exFAT Start-C/H/S: 2/10/9 End-C/H/S: 1023/254/63 sudo ./f3probe --destructive --time-ops /dev/mmcblk0 F3 probe 8.0 Copyright (C) 2010 Digirati Internet LTDA. This is free software; see the source for copying conditions. WARNING: Probing normally takes from a few seconds to 15 minutes, but it can take longer. Please be patient. Good news: The device `/dev/mmcblk0' is the real thing Device geometry: *Usable* size: 116.36 GB (244023296 blocks) Announced size: 116.36 GB (244023296 blocks) Module: 128.00 GB (2^37 Bytes) Approximate cache size: 0.00 Byte (0 blocks), need-reset=no Physical block size: 512.00 Byte (2^9 Bytes) Probe time: 2'38" Operation: total time / count = avg time Read: 707.7ms / 4817 = 146us Write: 2'29" / 4192321 = 35us Reset: 2us / 1 = 2us
さて。失った時間を取り戻さねば。Blowin' Free。