突然パーティション(または1つのパーティション)に問題が発生しました。 Kingston SSDにはデフォルトのUbuntuがインストールされており、ルートファイルシステムはLUKS(AESだと思います)を使用して暗号化されています。これでライブCDからパーティションをマウントしようとしましたが、成功しませんでした。
元に戻せない追加ダメージを与えるのではないかと恐れました。だから一つ作ろうか正確なコピー運転する。これは、すべてのパーティション表、LUKSパーティション、および私が認識していない他のすべての種類のメタデータのすべての種類のメタデータを意味します。私はすべての空のブロックが欲しいし、絶対に安全だと思います。
私は知っていますが、dd if=/dev/sda of=/dev/sdb
説明したデータがすべて含まれているかどうかはわかりません。
たぶんブロックサイズをとして指定する必要がありますが、-b
それがどのように機能するのか、なぜ必要なのかわかりません(もしそうなら)。そして、パーティションのブロックサイズを見つける方法もわかりません。
コピーしたら教えてくださいみんなそうでない場合、データには異なる方法があります。
答え1
はい、(正式に)データとパーティション、UUIDなどに関するすべての情報を含まないチャンクも同様です。
たとえば、ddコピーされたドライブからデータを回復できます(つまり、ファイルを削除した後)。
読みたいかもしれませんこれ情報noerror
とsync
オプション。
読み取りエラーがない限り、ブロックサイズ(bs=
)は結果に影響を与えませんが、「1M」(または少なくとも「4k」)に設定する必要があります。そうしないと、何の理由もなく時間がかかります。
答え2
ただし:
cp /dev/block_device imgfile
もしimgfile
これらを理解するファイルシステムであるGNUにあります。cp
しなければならないデフォルトは画像を稀に書くことです。ただし、次のデフォルト設定を指定できます。
cp --sparse=always /dev/sda imgfile
dd
の主な用途は、指定されたものだけを安定して使用する能力です。部分あるいは、ストリームに特定の変換を非常に効率的に適用できます。 1:1コピーしたい場合みんなファイルならそれはcp
すべてです。
答え3
dd
コピーするデータが何を意味するかは関係ありません。パーティション表、パーティションの内容、ファイルの断片、空のファイルシステムスペースはすべてバイトです。少なくともサイズが大きいと、正確なコピーが作成されます(大きい場合は直接アクセスできないいくつかの尾ごみを含むdd if=/dev/sda of=/dev/sdb
)。/dev/sdb
/dev/sda
sdb
sda
sdb
すべての魔法はsdX
ブロックデバイスにあります。dd
バイトをコピーするツールです。
dd
ただし、これが作業に最適なツールであるわけではありません。少しエラーが発生しやすく、通常は最速の作業ではありません。私が見つけたcat
異なるディスク間のコピーで高速化。dd
直感的ではない方法でデータが失われる可能性があります。(私は考える最新のLinuxシステムはこれに関して安全です。)を使用すると、タイプミス(swap sumsなど)cat
によるデータ破損のリスクが軽減されるという利点があります。出力はおなじみのシェルリダイレクト演算子で指定されます(ただし、この構文を使用することもできます)。if
of
dd
cat /dev/sda >/dev/sdb
他のディスクが大きい場合は、ファイルにディスクイメージを作成できます。
cat /dev/sda >/path/to/disk.img
これらのディスクイメージは直接使用できず、起動することもできません。ただし、それをディスクにコピーすると、コンテンツ全体が2回コピーされるため、元のコンテンツのバイト単位のコピーが作成されます。あなたもループバックのインストールファイルにアクセスします。パーティションでループデバイスを作成できますが、Ubuntuは最新バージョンでのみこの目的のためのツールを提供しています。。データのみを保持するには、パーティションを個別にコピーして別々のファイルに保存するだけで十分です。