Linuxで低レベルフォーマットのフラッシュメモリを使用するにはどうすればよいですか?


13

私の友人はUSBフラッシュドライブで問題を抱えていたため、低レベルのフォーマットを使用することを提案しました。それから、Linuxでそれを行う方法すら知らないことに気づきました。だから... Linuxでフラッシュメモリを低レベルでフォーマットするにはどうすればいいですか?友人がWindowsのドライブで「フルフォーマット」を試みましたが、失敗しました。

回答:


12

「低レベルのフォーマット」はフロッピーで行われ、トラックとセクターを別々に整理することを選択することにより、異なる密度で書き込むことができます。しかし、これは現代のほとんどのメディアでは意味がありません。デバイス上でデータを整理する方法の概念は固定されており、変更できません。磁区ではなく、離散したビットを持つフラッシュではまったく意味がありません。mkfsUNIX レベルの高度なフォーマットが可能です。


だから私の友人のフラッシュドライブ上のファイルシステムが台無しになった場合、mkfs彼の唯一のオプションはありますか?それが機能しない場合はどうなりますか?彼が試みることができる他に何もありませんか?
bmaupin

@ブライアン:まあ、彼は試してみることもできます、fsckdosに相当しchkdskます。
wnoise

3
@wnoiseがmkfs失敗した場合、fsck助けにはなりません。
derobert

2
私は職場で大量のフラッシュUSBメモリをテストしていますが、その品質はマップ全体に及ぶため、友人のドライブが壊れて動作しなくなっても驚かないでしょう。これらのことはさまざまな方法で中断する可能性があり、信頼できるソースからメモリを購入し、f3壊れていないことを確認するためにテストする以外には、あなたができることはあまりありません。
-unfa

8

低レベルの書式設定とは、さまざまな人にとって、さまざまなコンテキストでさまざまなことを意味します。

元の意味は、ディスクのフォーマットに必要なステップでした。ディスクドライブには、データを保存する前に、メディアに書き込まれたヘッダー、同期、その他のパタ​​ーンが必要です。このようにして、ヘッドはA)トラック上にあるときとB)トラック上のどこにあるかを検出できます。フロッピーを低レベルでフォーマットすると、ディスクがブロックを読み書きできるようになります。初期のMFMおよびRLL PCハードドライブは、多くの場合、ハードドライブコントローラー(ISAカード)ROMに組み込まれたユーティリティを使用して、低レベルでフォーマットできました。最新のIDEおよびSATAハードドライブも低レベルでフォーマットされていますが、それは工場でのみです。

他のさまざまな意味には、すべてのブロックにゼロを書き込む、HPAやDCOなどの「隠された」領域を無効にするドライブの構成、すべてのブロックのゼロ化、またはフォーマットよりもパーティション化に関連するその他の意味が含まれます。

RAWフラッシュには、工場で別の初期準備ステップが必要です。各フラッシュ「消去ブロック」(ディスク上の「ブロック」に類似)をテストし、実際に不良である場合は不良としてマークする必要があります。各「消去ブロック」には、エラー修正情報を保持する追加の小さな「OOB」ブロックがあります。これは、不良としてマークされる場所です。不良ブロックへの書き込み動作により、特定のビットを再度設定して、不良と識別することができないため、このステップを繰り返したくないです。

しかし、あなたは生のフラッシュを扱っていません。USBフラッシュドライブを扱っています。すべてのフラッシュドライブには、ホストからのUSBコマンドを受け入れ、ホストに代わって内部の未加工のフラッシュと通信するコントローラーチップがあります。これらのコントローラチップの一部は、フラッシュの一部を個別のCD-ROMパーティションとして報告するように構成したり、2つの個別のUSBストレージデバイスのように動作したりできます。コントローラチップのメーカーとモデルによっては、このコントローラチップをリセットできるリカバリまたは設定ユーティリティ(Windowsのみ)が見つかる場合があります。まず、フラッシュドライブを開き、小さなPCBにある(おそらく)2つのチップのうち小さい方を探して、グーグルを実行します。ケースの外側に印刷されているメーカーとモデルは、ケースの内側にコントローラーを作成したユーザーを見つけるのに役立ちそうにありません。


7

ほとんどのフラッシュデバイスには、USB / ATA / SD / etcからの追加の変換レイヤーがあるため、低レベルのフォーマットを実行する方法はありませんMTD低レベルのMTDデバイス(不明瞭にすることができ、直接に得ている場合、低レベルのフォーマットするには、[あなたがすることはできません])。


6

ddこのためにコマンドを使用dd if=/dev/zero of=/dev/hda

これにより、ハードドライブ上のすべてのデータ、すべてのブートセクター情報、およびすべてのパーティション上のすべてのデータが破壊されます。ただし、ディスクが役に立たなくなることはありません。パーティションを作成するだけで、新しいブートセクタをインストールするだけでクリーンなディスクが得られます。これは、LinuxまたはWindowsを含むOSをインストールするときに発生します。これは、見たくない悪いパーティション、ウイルス、失敗したインストール、またはデータをクリーンアップするための良い方法です。


4
フラッシュメモリデバイスの消去には使用しませ/dev/zero。:私のブログのエントリを参照してくださいfakkelbrigade.eu/chris/blog/2012/01/...
クリス・ダウン

1
/ dev / zeroをフラッシュデバイスに書き込むことは異常に悪いことではありません。デバイスに1を書き込むことの唯一の利点は、最初にディスクを消去する必要がないため、次にディスクに書き込むときに書き込み時間がわずかに速くなる可能性があることです。これは、フラッシュ変換レイヤーがスマートであるためです。
ショーンJ.ゴフ

2
@ChrisDown、パフォーマンスの比較がわかりませんが、を使用できますbadblocks -s -w -t 0xff /dev/?d??。すべて1が書き込まれ、テストされます。
ゾレダチェ

2
@ChrisDownブログエントリが404準拠になりました。
derobert

1
フラッシュが内部ですべて1を消去する場合、すべてゼロでディスクをフォーマットするのが一般的であるため、変換レイヤービットを反転する必要があります。
psusi


2

SCSI FORMAT UNITコマンドを実装する過去のデバイスに出くわしました(しばらくの間ではありませんが)-Linuxからは次のように使用できます。

sg_format --format / dev / sdX

これらのデバイスを工場出荷時の状態にリセットします(USBストレージ仕様は、古いSCSI規格から派生しています)。

一部の新しいUSB 3デバイスもATAセキュリティコマンドを実装しているので、https://ata.wiki.kernel.org/index.php/ATA_Secure_Eraseを使用できますフラッシュ変換レイヤーを工場にリセットする効果があると思われます状態(通常はSSDで行われます)。


1

フラッシュメモリには低レベルのフォーマットなどがありますが、ベンダー固有のソフトウェアを使用して工場で行われます。

そのためには、メモリコントローラチップと直接話をする必要があります。残念ながら、Linux上でそれを実行できるプログラムは見つかりませんでした。

低レベルのフォーマットを実行し、いくつかの設定(LEDの動作、ドライブを読み取り専用にするなど)とデータ(メーカー名、モデル名、シリアル番号など)をメモリコントローラーチップセットに書き込むことができるメーカーツールがありますが、これらのツールは通常Windows専用であり、多くの場合中国語です。

そのようなツールの1つが「FC MPツール」と呼ばれます。私の知る限り、これらはAlcor Microによって設計され、FirstChip(FC)によって製造されています。どうやら「MP」は「大量生産」の略です。

ここで見つけたバージョンを使用しています:http : //down.upantool.com/file/software/mass/FristChip/2018/iTe_MpTools_20171130.zip

フォローできる他のリンク:https : //repusb.cubava.cu/ ? page_id = 2052 https://www.rmprepusb.com/tutorials/repair-your-usb-flash-drive http://reboot.pro/topic / 20865-alcor-micro-usb-pen-drive-repair / http://reboot.pro/topic/19901-no-alcor-mptool-is-recognizing-my-usb/ https://www.elektroda.pl /rtvforum/topic3145335.html http://flashboot.ru/files/file/30/ http://www.flashdrive-repair.com/2014/05/download-fc-mptool-v402-for-fixing.html https ://www.cdrinfo.pl/download/356133849

Wineで動作しますが、ドライブチップセットは検出しません(そのためには、USBコントローラーに直接アクセスする必要があります)。

また、これが機能するには、サポートされている特定のAlcorチップセットを搭載したフラッシュドライブが必要です。繰り返しますが、各ベンダーには、USB経由でコントローラーチップと通信する独自​​のソフトウェアがあります。

私はこれを持っています:

ここに画像の説明を入力してください

マイクロコントローラのチップセットの部品番号に注意してください。FC1178BC1 FC MP Toolsプログラムは、これを1178BCチップセットとして識別します。

ここに画像の説明を入力してください

そして、私がリンクしたソフトウェアはWindows XPおよび10で動作します。ただし、プログラムを英語に切り替えるとクラッシュします。設定を英語で設定し、プログラムを再起動し、言語を変更しないでください-動作するはずです。たぶん、新しいバージョンで修正されるでしょう。

とにかく、ベンダーが異なればツールも異なります。ウサギの穴であり、ここには標準がありません。(少なくともこのツールは)残念ながらWindowsでしか動作しません。

私が知ることができることから、これはメモリチップをテストし、不良セクタマップをコントローラチップに書き込み、OSに良いメモリのみを提示できるようにします。このようにして、部分的に損傷したチップでも使用および販売できます。これらはおそらく、工場で品質と低容量に基づいてさまざまな容量にフォーマットされています。これはビニングと呼ばれます。

もし誰かがこれらのツールの多くを集め、リバースエンジニアリングし、Linux向けのユニバーサルオープンソースツールを作成できるなら、私たちはそれを行うことができます。


1

ハードディスクドライブやフロッピードライブで行われた方法での低レベルフォーマットはフラッシュドライブには意味がありませんが、「低レベルフォーマット」フラッシュドライブに対するメーカー固有のユーティリティがあります。これは例です:Alcor低レベルフォーマットユーティリティ

Linuxで動作するユーティリティを探しているときに、この質問に答えました。しかし、フラッシュドライブの製造業者は、私たちを幸せにすることを気にしていないようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.