Bambu Labの3Dプリンタ「P2S」で使用していたUSBメモリに、書き込み不可のエラーが出ました。Windowsに接続して確認しても、ファイルの読み出しはできるものの、削除もフォーマットもできません。別のPCでも同じ状態だったため、USBメモリ側の問題を疑い、内部コントローラーの再初期化を試しました。
今回の対象は、ELECOMのMF-TPC3128GBK(128GB)です。購入から約2年で、ここ1年ほどはP2Sに接続して使用していました。調査と検証用スクリプトの作成にはCodexを使用しています。
以前からWindowsでは修復を求められていた
今回のエラーが出る前から、P2Sで使用したUSBメモリをWindowsへ接続すると、修復を求められることがありました。その都度「スキャンと修復」で解決していましたが、今回はP2S側で書き込み不可となり、Windowsからもフォーマットできない状態でした。
印刷していないときはそのまま抜いていたので、取り外しのタイミングで管理情報に不整合が生じた可能性を考えました。ただ、以前の修復要求と今回の書き込み禁止が同じ原因かは分かりません。メモリ自体の劣化も候補として残ります。
データは退避できていたため、今回は内容を消去する前提で、復旧できるか調べることにしました。
Windows側の設定か、USB本体の制限かを調べる
最初に確認するのは、どこで書き込みが禁止されているかです。Windowsの読み取り専用設定であれば、その解除で戻る可能性があります。
今回はDiskPartなどで属性の解除を試しても変化がなく、USBへの直接問い合わせでも、本体が書き込み禁止を返していました。そこで、通常のフォーマットから、内部コントローラーを調べる方針へ切り替えました。
USBメモリの製品名と、内部で使われているコントローラーの名前は別です。対応する初期化ツールを探すには、製品名だけでなく、コントローラーとフラッシュメモリの情報が手がかりになります。
今回使用したツールと役割は、次のとおりです。
| ツール・方法 | 確認・実施したこと |
|---|---|
| DiskPart/PowerShell | 読み取り専用属性とディスクの状態を確認。属性解除では改善しませんでした |
| USB Flash Drive Information Extractor/ChipEasy | USBの識別情報を取得。ただし、コントローラーの特定には至りませんでした |
| SCSIコマンドによる直接問い合わせ | 応答内の「ASolid」という文字列から、調査対象を絞りました |
| IS918MPTool_EN_241121A_S1 | 内部フラッシュの情報を認識し、コントローラー側の再初期化をおこないました |
診断ツールで「Unknown」と表示されても、そこで調査が終わるとは限りません。今回は直接問い合わせた応答が、対応ツールを探す手がかりになりました。
対応するMPToolで再初期化する
今回使用できたMPToolでは、フラッシュメモリを「H25G9TC18C」として認識しました。再初期化を実行すると、書き込み禁止が解除され、ファイルの作成と削除ができるようになりました。
途中で容量が約半分になりましたが、これは容量設定を見直し、「Auto Check」に変更して再初期化することで、約125.4GBまで戻りました。ツールが処理を完了しても、容量やフォーマット形式まで確認する必要があります。
MPToolは内部構成に合わせて選ぶもので、今回のツールを別のUSBメモリにそのまま使えるわけではありません。データ消失や認識不能になる可能性もあるため、データ救出が必要な段階では実行せず、入手元やセキュリティソフトの警告にも注意が必要です。
最後は全容量に書き込んで確認する
復旧後は、利用可能な全空き領域にランダムデータを書き込み、すべて書き終えてから読み戻しました。表示容量だけでなく、その領域に実際に保存できることを確認するためです。
約125.4GB、117ファイルの照合結果はすべて一致。約2時間7分の検査で、書き込み・読み戻しのエラーはありませんでした。
今回のような症状では、Windows側の設定確認、内部コントローラーの調査、対応ツールでの再初期化、全容量の検証という順序が、調査の参考になると思います。
根本原因までは確定できませんでしたが、フォーマットすらできなかったUSBメモリを、全容量で読み書きできる状態に戻せました。長期的な再発については、今後の使用で様子を見ることになります。
