また覆う

また覆う

dd私はTools for Filesを使用して、ハードドライブ(すべてのパーティションを含む)を定期的にフルバックアップしますbackup.img。これらのファイルはいくつかあります。

これで既存のハードドライブが故障しました。backup.img図に示すように、すべてのパーティションとファイルがそのまま残るように、ファイルを使用して新しいハードドライブにどのように書き込むことができますか?

これらのファイルから部分データ(複数のファイル/フォルダ)を抽出することも可能ですかbackup.img

答え1

また覆う

以下を使用して、交換用ハードドライブにイメージを復元できます。

# dd if=backup.img of=/dev/sd?

すべてのパーティションとデータを含むソースディスクのレプリカが作成されます。

欠点は、パーティションのサイズが変更されないため、dd交換用ディスクが元のディスクと同じかそれ以上でなければならないことです。

これに満足している場合は、埋め込みまたは類似のブータブルイメージgparted(Parted Magicなど)を使用して、新しいディスクに合わせてパーティションのサイズを変更できます。

インストールする

イメージをインストールするにはlosetup

昔の方法

前の方法は、次のようにパーティションの先頭までのオフセットを計算することです。

実行しfdisk、セクターのサイズを見つけます。

# fdisk -l backup.img
Disk backup.img: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x91999386

Device      Boot   Start      End  Sectors  Size Id Type
backup.img1 *       2048  1026047  1024000  500M 83 Linux
backup.img2      1026048 16777215 15751168  7.5G 8e Linux LVM

オフセットを計算するには、次をお読みください。スタート目的のパーティション列を選択し、その値にセクタサイズを掛けます。たとえば、上記の内容を読むには、backup.img12048 x 512 = 1048576 を掛けます。

次のように、この値をオフセットとして使用しますlosetup

# losetup -o 1048576 /dev/loop0 backup.img

次に、ループバックデバイスを取り付けます。

# mount -t ext4 /dev/loop0 /mnt

後で方法

最新バージョンでは、次のようにイメージ内のすべてのパーティションのエントリをlosetup検索して自動的に作成します。/dev/loop

# losetup -Pf backup.img
# ls /dev/loop0*
/dev/loop0  /dev/loop0p1  /dev/loop0p2
# mount -t ext4 /dev/loop0p1 /mnt

LVMパーティション

上記の例では、2 番目のパーティションを LVM として示しています。ここからファイルを抽出するには、LVMがループバックデバイスで魔法を機能させるようにします。最初のスキャン:

# pvs
  PV           VG            Fmt  Attr PSize PFree 
  /dev/loop0p2 fedora-server lvm2 a--  7.51g 40.00m

次にVGを有効にします(上記のコマンドでVG名を確認してください。あなたの名前と私の名前が異なる場合があります)。

# vgchange -a y fedora-server
  2 logical volume(s) in volume group "fedora-server" now active

どのパーティションがあるかを確認してください。

# ls /dev/fedora-server/
root  swap

そのうちの1つをインストールしてください。

# mount -t ext4 /dev/fedora-server/root /mnt

出口

ファイルを抽出した後:

# umount /mnt
# losetup -d /dev/loop0

またはLVMインストールの場合:

# umount /mnt
# vgchange -a n fedora-server
  0 logical volume(s) in volume group "fedora-server" now active
# losetup -d /dev/loop0

関連情報