私のHD2がメモリカードのパーティションテーブルを一度に壊したことがわかりました。
SDリーダーにカードを挿入すると、WindowsではRAW(未フォーマット)パーティション全体しか取得できません。 Linuxは/dev/sdXX
としても認識しません。
古い3つのパーティション(FAT32、sd-ext、swap)を復元するにはどうすればよいですか?
TestDisk (free、cross-platform、open source)-ドライブが内蔵か外付けかに関係なく、システム上のほとんどすべてのドライブで機能します。 TestDiskを使用して、ドライブで見つかったパーティションテーブルを検出して書き換えることができます。破損したパーティションや見つからないパーティションを見つけて、パーティションテーブルを修復することもできます。
または、TestDiskを使用して、パーティションテーブルを修復せずにファイルを単に回復することもできます(フォーマットして最初からやり直したいだけの場合)。不良セクターがあっても、破損したパーティション/ドライブからファイルをコピーするのに成功しました。
それは私のために働く:
Adb Shellに入り、SDカードをスロットに挿入して次のように入力します:# dmesg
これはカーネルメッセージを返します。最後を見ると、挿入されたデバイスと追加情報が表示されます。
<7>[22821.137721] sdhci: card inserted.
<7>[22821.336235] Universal : Card status 1
<6>[22822.591613] mmc2: new high speed SDHC card at address b368
<6>[22822.598715] mmcblk1: mmc2:b368 46608 15.4 GiB
<6>[22822.601085] mmcblk1: unknown partition table
デバイスをメモします。この場合は「mmcblk1」です。
次に、fdiskを使用して、次のような新しいパーティションテーブルを作成します。
#fdisk /dev/block/mmcblk1 新しい空のDOSパーティションテーブルを作成します。 コマンド(ヘルプはm):o 作成新しいプライマリパーティション: コマンド(ヘルプはm):n コマンドアクション e拡張 pプライマリパーティション(1-4) p パーティション番号(1-4):1 最初のシリンダー(1-505824、デフォルト1):Enter 最後のシリンダーまたは+ sizeまたは+ sizeMまたは+ sizeK(1 -505824、デフォルトは505824):enter パーティションテーブルを印刷して変更を確認します: Command(m for help):p ディスク/ dev/block/mmcblk1:16.5 GB、16574840832バイト 4ヘッド、16セクター/トラック、505824シリンダー 単位= 64 * 512のシリンダー= 32768バイト デバイスブートスタートエンドブロックIDシステム /dev/block/mmcblk1p1 1 505824 16186360 83 Linux mmcblk1p1はmmcblk1のパーティション1です。 パーティションテーブルをディスクに書き込み、終了します: コマンド(ヘルプはm):w
スマートフォンの電源を入れ直して、パーティションテーブルを正しく再読み取りし、[設定]、[ストレージ]に移動して、カードをフォーマット/マウントします。
djechelon、これを試してください。ダウンロード EaseUS Partition Recovery 。これでSDカードを検出でき、そこから再フォーマットして機能を復元できます。 EaseUS製品は100%安全です。