HDD をフォーマットした後、データを回復しようとしています。ddrescue-gui をインストールし、次のタスクを実行しました。
- ソース(フォーマットされたHDD)、ログなし、宛先(別のHDD内のimgファイル)を選択し、最速のリカバリに設定して開始をクリックします。
- コンピュータに移動すると、ソース ドライブがマウント解除されていることがわかりました。そこで、ディスクに移動してマウントできるかどうかを確認しましたが、ループ デバイスが 2 つになっていたためマウントできませんでした。
そこで、さまざまなターミナル コマンドを試してみましたが、次のようなエラーが表示され、効果はありませんでした。
sudo マウント -t ntfs "/media/user/e3cfeead-6e65-4af5-beb8-bbfa12fbdaa5/1tb.img" /dev/loop0
NTFS 署名がありません。'/dev/loop2' のマウントに失敗しました: 無効な引数 デバイス '/dev/loop2' には有効な NTFS がないようです。間違ったデバイスが使用されている可能性がありますか? または、パーティションではなくディスク全体 (例: /dev/sda、/dev/sda1 ではありません) が使用されていますか? またはその逆ですか?
ファイルは現在別の HDD に保存されており、回復しようとしている 1TB HDD にはアクセスできません。
私はこの状況にまったく不慣れなので、今とても混乱しています。ドライブがマウント解除され、「ループ デバイス」(それが何なのかはわかりません) に変換された理由と、データを取得してデバイスを再度マウントできない理由がわかりません。これを解決する正しい方法はあるのでしょうか?
公式の Launchpad GUI サイトを確認しましたが、チュートリアルやガイドなど、役に立つものは何も見つかりませんでした。
答え1
ファイルシステム ( ) のイメージが、1tb.img
ファイルシステム ( ) ( ) の中に/dev/sdf
あります/media/user/e...aa5
。
試す
sudo mount "/media/user/e3cfeead-6e65-4af5-beb8-bbfa12fbdaa5/1tb.img" /mnt
または
sudo mount -o loop "/media/user/e3cfeead-6e65-4af5-beb8-bbfa12fbdaa5/1tb.img" /mnt
- マウントするとファイルシステムの種類が見つかるはずです。
-r
イメージを読み取り専用でマウントするには、マウントの後に追加します。
編集:
- マウントポイントとして
/mnt
(not )を使用します。/media/user/XXYY
sudo mount -o ro,loop -t ntfs /media/user/e3../1tb.img /mnt
fstyp(またはfstype)を試して、どのファイルシステムか確認します
fstype /media/user/e3cfeead-6e65-4af5-beb8-bbfa12fbdaa5/1tb.img
... を使用してファイルを分析します
file
file /media/user/e3cfeead-6e65-4af5-beb8-bbfa12fbdaa5/1tb.img
答え2
まず、ddrescue でログを使用する必要があります。
次に、イメージはドライブ全体のイメージになるため、パーティションがどこから始まるかを知っておく必要があります。
+---------+-------...-+-------...-+-------...-+
| MBR PT | part1 | part2 | partN |
+---------+-------...-+-------...-+-------...-+
file <image>
イメージに関する情報を生成するために使用します。次のような情報が得られるはずです: (これは私のメモリスティックです。お分かりでしょう)
fdisk <image>
または を使用することもできますcfdisk <image>
。これらはすべて、ディスクのジオメトリ (イメージ内) を表示し、マウントするパーティションの開始位置を見つけることができます。
$ file sda.img
sda.img: MBR boot sector; partition 1 : ID=0xc, active, start-CHS (0x0,32,33), end-CHS (0x3ff,254,63), startsector 2048, 30308352 sectors
したがって、適切なマウント ラインは次のようになります。
# mount -tvfat -oloop,offset=$((2048*512)) sda.img /mnt/sda1
mount
実際のパーティションがどこから始まるかを、offset
バイト オフセットの オプションで指定する必要があるためです。セクター単位で表示されるoffset=$(2048*512))
のはそのためですfile/fdisk/cfdisk
(ただし、単位は変更できますfdisk/cfdisk
)。
あなたの命令はもっとこうなります
mkdir /mnt/image
sudo mount -o ro,loop,offset=YOUR_OFFSET -t ntfs /path/to/1tb.img /mnt/image