パーティション(ext4)のイメージを作成し、それをマウントしてファイルの検索/復元を実行するにはどうすればよいですか? [コピー]

パーティション(ext4)のイメージを作成し、それをマウントしてファイルの検索/復元を実行するにはどうすればよいですか? [コピー]

Debian 10のクリーンバージョンをインストールできるように、現在Debian 9サーバーOSパーティションをバックアップしたいと思います。

しかし、Debian 10をインストールした後、必要に応じてファイルを参照して復元できるように、古いOSイメージをマウントしたいと思います。

CloneZillaを使用すると思いましたが、生成されたイメージを直接インストールすることはできません。

答え1

e2image使用中のセクタのみをコピーしながら、ext4ファイルシステムのイメージを生成するために使用できます。

e2image -ra /dev/sda1 /path/to/file.img

file.imgスパースファイルとして生成されるため、見かけのサイズはファイルシステムの容量を反映しますが、ファイルシステムで実際に使用されるスペースだけを占めます。ファイルシステムイメージのように直接マウントできます。

mount /path/to/file.img /path/to/mountpoint

e2image以下を使用してQCOW2イメージを作成することもできます。

e2image -Qa /dev/sda1 /path/to/file.qcow2

これにより、以下を使用してインストールを続行できる圧縮ファイルが作成されますqemu-nbd

qemu-nbd --connect=/dev/nbd0 /path/to/file.qcow2
mount /dev/nbd0 /path/to/mountpoint

どちらの画像も圧縮できますが、これによりファイルを直接削除できなくなります。

答え2

ルートとして、catパーティションを別のパーティションに転送するだけです。cat /dev/sdXn > /dev/sdYi

またはファイルとして: cat /dev/sdXn > backup.img

または他のシステムのファイルまたはパーティションとして:cat /dev/sdXn | ssh user@host 'cat > backup.img'

dd代わりに使用できますが、catそうする理由はありません。

dd if=/dev/sdXn of=backup.img

または、コピー中にプログレスバーが必要な場合、またはコピー中に使用されるバッファリングの量を制御するには、次のようにしますpv

pv /dev/sdXn > backup.img

ddrescueパーティションに読み取りエラーがある場合は、代わりに次のコマンドを使用する必要がありますcat

ddrescue /dev/sdXn /dev/sdYi

または

ddrescue /dev/sdXn backup.img

ddrescuebackup.imgStdoutはstdinに書き込まれたりstdinから読み取られたりしないため、他のシステムで使用するには、それをコピーscp(NFSマウントなど)またはNFSマウントに書き込む必要があります。

あるいは、コメントで述べたuser1133275のように、次のものを使用できます。プロセスの交換:

ddrescue /dev/sdXn >(ssh user@host 'cat > backup.img')

最後に、圧縮されマウント可能なファイルシステムが必要な場合は、次のものを使用できますqemu-img

qemu-img convert -c -O qcow2 /dev/sdXn backup.qcow2

インストールしてください:

qemu-nbd --connect=/dev/nbd0 /path/to/backup.qcow2
mount /dev/nbd0 /mnt

そしてすべてパッケージqemu-imgに入っています。ただし、1つのパーティションではなくディスク全体のイメージをインポートすると、古いマシンを新しいマシンで仮想マシンとして実行できます。qemu-nbdqemu-utils


もう一つのオプションは、2番目のディスクをマウントし、ここにDebian 10をインストールすることです。その後、新しいシステムのどこかに古いドライブを取り付けることができます。あるいは、Debian 9とDebian 10の間のデュアルブートも可能です。


個人的には、イメージのバックアップではなくファイルのコピー(またはまたはtar使用rsyncなど)を使用することをお勧めします。cp -aより便利で、どこにいても簡単に抽出することができ、空または未使用のセクタをコピーするのにスペースや時間を無駄にしません。

イメージのバックアップは、(ほぼ常に)ファイルシステムをバックアップする最悪の方法です。

答え3

ext4 パーティションを次のようにマウントします。/whatever

mkisofs -o    /somehwere_else/whatever.iso    /whatever

今あなたはどんなに大きくてもとにかく.iso。当然、移動する場所のディスク領域に注意する必要があります。

その iso にアクセスするには、次のようにします。

mount -o loop /somewhere/whatever.iso   /anywhereyoulike/mywhateveriso/

/whateverこれで、フォルダの下のすべてのアイテムにアクセスできます。読み取り専用下に/anywhwereyoulike/mywhateveriso/

パーティションがあるという事実ext4は、コンテナこれはさまざまなファイルシステム形式。したがって、データがext4、xfs、またはbtrfsパーティションにあるかどうかは重要ではありません。なぜなら、この時点では、すでにそのデータにアクセスできるLinuxカーネルファイルシステムのサポートがあるからです。

次のように対応するisoコンテナにデータを入れると、MKISOFこれは非常に汎用性があります。 isofsは普遍的なので、ほぼどこでもデータにアクセスできます。コンピュータがcd / dvd [iso9660 / udf]を読み取ることができる場合は、everything.isoにアクセスできます。 .isoを作成すると、移植性が非常に高くなります。

問題になる可能性があるファイルシステムを使用またはcat保存しますtardd

関連情報