私のHDDには、ファイルと呼ばれる500 GBのRAWディスクイメージファイルがあります。これは、外部単一のNTFSパーティションドライブの内容を処理した結果ですdysk.img
。dd
目的は、ntfsundelete
プログラムを使用してデータを回復することです(初期スキャンの結果は有望です)。
しかし、その前に現在削除されていないコンテンツを確認したかったのです。だからインストールしたいです。明らかな理由から、このファイルをインストールしてもファイルにビットが書き込まれないようにしたいと思います。
mount --read-only
残念ながら、この方法は解決策ではないようです。なぜなら、以下によるとman mount
:
ファイルシステムのタイプ、状態、およびカーネルの動作に応じて、システムはまだデバイスに書き込むことができます。たとえば、ext3 および ext4 は、ファイルシステムが汚れた場合にログを再生します。このような書き込みアクセスを防止するには、ro,noloadマウントオプションを使用してext3またはext4ファイルシステムをマウントするか、ブロックデバイス自体を読み取り専用モードに設定する必要があります。 blockdev(8) コマンドを参照してください。
上記はNTFSにも適用されますか?残念ながら、mount
このオプションはサポートされていませんnoload
...
残念ながら、誤ってWindowsと互換性のない名前(たとえば、文字を含む)でいくつかのファイルを作成し、Windowsが?
このファイルシステムをスケジュールされたスキャンとしてマークするようになりました。したがって、これから警告が表示され、このオプションなしで実行できない場合は警告が表示されますntfsundelete
。これにより、誤って書き込みが発生するリスクがさらに高まりますか?ntfsundelete
--force
現時点では、ルートのみがこのファイルに対する書き込み権限を持っています。 IIUCでは、インストール時に常にいくつかの特権の昇格があるため、これが十分かどうかはわかりません。
root
ファイル所有者を指定し、誰でも(所有者を含む)への書き込みアクセスを拒否するのが役立ちますか?
blockdev
このファイルで提案されているコマンドを試してみると役に立ちますか?それとも、man mount
画像ファイルとして公開するのは実際のデバイスと比較して危険または有害ですか?blockdev --setro
答え1
あなたが探している答えの一部は、あなたが引用した引用符に記載されています。
ブロックデバイス自体を読み取り専用モードに設定
あなたの場合は単純なファイルです。したがって、次のことができます。
chmod a-w disk.img
所有者でも書く必要はありません。
root
ファイル所有者を指定し、誰でも(所有者を含む)への書き込みアクセスを拒否するのが役立ちますか?
もともと、はい、root
しかし、これはほとんどの権限「制限」を迂回できることに注意してください。したがって、他のユーザーとしてデータ復旧プログラムを実行する必要がありますroot
。
ファイルをマウントしたい場合は、単にそれを行うことはできません。ただし、イメージファイルがサポートされているファイルシステムに保存されている場合chattr
(デフォルトではEXT4やその他の一般的なLinuxファイルシステム)に保存されている場合ファイルを変更できないようにすることができます。
chattr +i disk.img
今は何もできませんroot
。作成または削除できません。chattr -i
完了後にフラグを復元するために使用されます。
代替方法
(破損の可能性がある)NTFSドライブからデータを抽出するには、次のものを使用することをお勧めします。回復ビット、ファイルシステムの再構築を実行するために開発したソフトウェアです。現在はNTFSのみをサポートしていますが、次のようないくつかの利点があります。
画像ファイルには何も書きません。簡単に言えば、書き込みをサポートしていませんデジタルフォレンジックに合わせてあるのでドライブにあります。したがって、誤ってそのようなことをする危険はありません。
ディレクトリツリーが破損していても、ディレクトリツリーを読み取ることができます。少なくとも利用可能なメタデータにより、各パーティションの最も正確な説明を得ることができます。
次の回答でその使い方について説明します。