web-dev-qa-db-ja.com

microSDパーティションテーブルの復元

私のHD2がメモリカードのパーティションテーブルを一度に壊したことがわかりました。

SDリーダーにカードを挿入すると、WindowsではRAW(未フォーマット)パーティション全体しか取得できません。 Linuxは/dev/sdXXとしても認識しません。

古い3つのパーティション(FAT32、sd-ext、swap)を復元するにはどうすればよいですか?

TestDiskfreecross-platformopen source)-ドライブが内蔵か外付けかに関係なく、システム上のほとんどすべてのドライブで機能します。 TestDiskを使用して、ドライブで見つかったパーティションテーブルを検出して書き換えることができます。破損したパーティションや見つからないパーティションを見つけて、パーティションテーブルを修復することもできます。

または、TestDiskを使用して、パーティションテーブルを修復せずにファイルを単に回復することもできます(フォーマットして最初からやり直したいだけの場合)。不良セクターがあっても、破損したパーティション/ドライブからファイルをコピーするのに成功しました。

5
Breakthrough

それは私のために働く:

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 

スマートフォンの電源を入れ直して、パーティションテーブルを正しく再読み取りし、[設定]、[ストレージ]に移動して、カードをフォーマット/マウントします。

2
Invidian

djechelon、これを試してください。ダウンロード EaseUS Partition Recovery 。これでSDカードを検出でき、そこから再フォーマットして機能を復元できます。 EaseUS製品は100%安全です。

1
Gutsygibbon