ddイメージの取り付け
最近、私は*理由*のために私のラップトップを再設定しなければなりませんでした。 しかし、私は別のハードディスクに保存されているddでフルディスクイメージを作成することで、定期的にバックアップするのに慣れています。
ddは、ディスクまたはパーティションのビット単位のコピーをファイルに作成したり、その逆を作成したりすることができるツールです。 フルディスクイメージの最初の数百バイトには、ディスクに含まれているパーティションに関する情報が含まれています。
今、私は私の新鮮なセットアップのラップトップにそれをマウントすることにより、私の最後のバックアップからいくつかのデータと設定を復元
解決策
一つの解決策は、fdiskを利用してパーティションテーブルをクロールすることです:
gue@gue-thinkpad:~sudo sudo fdisk-l/media/gue/GUE-USB3/finalBackup.dd
ディスク/メディア/gue/GUE-USB3/finalBackup.dd:238,5GiB、256060514304バイト、500118192セクタ
単位:1*512=512バイトのセクタ
セクタサイズ(論理/物理):512バイト/512バイト
I/Oサイズ(最小/最適):512バイト/512バイト
Disklabelタイプ:dos
ディスク識別子: 0x57bf86df
デバイスブート始点終点セクタサイズIdタイプ
/media/gue/GUE-USB3/finalbackup32bit_t440s_20200124.dd1* 2048 500117503 500115456 238,5G83リナックス
ディスク/メディア/gue/GUE-USB3/finalBackup.dd:238,5GiB、256060514304バイト、500118192セクタ
単位:1*512=512バイトのセクタ
セクタサイズ(論理/物理):512バイト/512バイト
I/Oサイズ(最小/最適):512バイト/512バイト
Disklabelタイプ:dos
ディスク識別子: 0x57bf86df
デバイスブート始点終点セクタサイズIdタイプ
/media/gue/GUE-USB3/finalbackup32bit_t440s_20200124.dd1* 2048 500117503 500115456 238,5G83リナックス
これは、タイプ83(=Linux)のパーティションがバイト#2048で始まり、バイト#500117503で終わることを示しています。mountコマンドを使用してマウントすることができます。
しかし-このアプローチは、複数のパーティションでより複雑になり、異なるオフセットから開始します。
そして、私はkpartxに遭遇しました。
gue@gue-thinkpad:~sudo sudo kpartx-l/media/gue/GUE-USB3/finalBackup.dd
loop2p1:0 500115456/dev/loop2 2048
loop deleted:/dev/loop2
loop2p1:0 500115456/dev/loop2 2048
loop deleted:/dev/loop2
指定されたデバイス上のパーティションテーブルを読み取り、検出されたパーティションテーブル上のデバイ これは、デバイスマップの作成と削除時にhotplugから呼び出されます-これはまさに私たちが望むものです。
ではなく、パラメータ-lを使用してcallintする代わりに、ループバックデバイスを作成し、hotplug(後でデバイスをマウントするために使用される)を呼び出すパラメータ-aで開始することができます。:
gue@gue-thinkpad:~sudo sudo kpartx-a/media/gue/GUE-USB3/finalBackup.dd
Fine-システムは、USBスティックのように読み取ることができるドライブとしてパーティションを追加します(アクセス権を持っている場合)。
それを取り除くには、ループバックデバイスを削除するパラメータ-dでそれを呼び出すだけです:
gue@gue-thinkpad:~sudo sudo kpartx-a/media/gue/GUE-USB3/finalBackup.dd
それは、楽しみを持っています!
Leave a Reply