다시 덮다

다시 덮다

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 파티션

위의 예에서는 두 번째 파티션을 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

그 중 하나를 설치하십시오.

# 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

관련 정보