DDコマンドに含まれるディレクトリ

DDコマンドに含まれるディレクトリ

私はddLinuxで命令を学んでいます。テスト目的で次のコマンドを実行しました。

 sudo dd bs=4M if=/dev/mmcblk0 of=/media/some_remote_host/stuff/myImage.img

私はddが与えられたディスク/ドライブのイメージを撮るために使用されることを知っています。ところで、Unixのファイル構造に応じてフォルダをマウントする内容も含まれているかどうか疑問に思います。(ファイル構造)、例:/mntまたは/media。見つけようとしましたが見つかりませんでした。 /mntと/mediaディレクトリが含まれていると、無限ループに陥ることができるという意味ですか?書き込みと同時に/mediaフォルダの内容をインデックス化して保存し始めるからです。あるいは、*.imgすべてのフォルダをスキャンしてメモリに保存すると、実際の書き込みが発生します。

重要な要約:ddコマンドに/mntフォルダと/mediaフォルダが画像に含まれていますか?

あなたが私のためにこれらの質問に答えてくれることを願っています。ありがとうございます。

機器仕様:

  • Raspbian OS 32ビット、シングルドライブ(SDカード)。

ベストアンサー1

ddは、ファイルシステムのマウント、フォルダ、またはUNIXファイル構造について何も知りません。 ddは、生データと生データとデータブロックのいくつかの単純な変換についてのみ知っています。元々は、ブロックデバイス(ディスクとテープを含む)からデータを読み書きするように設計されており、ブロックデータとストリームデータの間でデータ構造の変更を処理し、簡単な文字変換とパディング調整を実行できます。

書き込み可能なマウントファイルシステムを持つデバイスでdd if =を実行することは危険です。これは、ddがファイルを読み込んでいる間にファイルシステムが変更される可能性があるためです。 ddによって読み取られたブロックは変更される可能性があります(ddは変更を見ることができません)、まだ読み取られていないブロックも変更される可能性があり、結果としてファイルシステムの破損したイメージが出力されます。

ddは(おそらく)固定サイズのブロックデバイスから読み取られ、基本ファイルシステムの知識なしにそれを読み取るため、出力が同じファイルシステム上のファイルに書き込まれると無限ループになりません。出力イメージが破損したファイルシステムになる可能性と重大度が高くなります。

ディレクトリにマウントされたファイルシステムは親ファイルシステムの一部ではないため(ただし(空)ディレクトリはあります)、dd出力イメージには表示されません(ただし、マウントポイントの下にあるファイルシステムを含むディレクトリ自体は表示されます)。ファイル(インストール前に空でない場合)。

おすすめ記事