Linux dd의 iso 이미지 생성. Rufus 프로그램을 사용하여 Windows 설치용 부팅 가능한 USB 플래시 드라이브를 만듭니다. 시스템을 다른 하드 드라이브로 마이그레이션

dd 명령에 플래시 드라이브 이름을 잘못 입력할 경우 호스트 하드 드라이브가 손상될 수 있으니 주의하세요.

모든 장치의 파티션 지정을 표시합니다

그중에서 플래시 드라이브를 찾으세요.

Sudo fdisk -u -l /dev/sd?

또한 모든 장치에서 파티션을 정의하려면 다음 명령을 사용할 수 있습니다.

Sudo 고양이 /proc/partitions

dd 명령 구문

dd if=/AAAA of=/BBBB bs=CCCC 수=DDDD 전환=오류 없음
  • 만약에: (입력 파일)은 소스를 나타냅니다. 복사할 곳으로 이동합니다. 일반 파일 또는 장치 파일일 수 있는 파일을 지정합니다.
  • ~의: (출력 파일)은 대상 파일을 가리킵니다. 마찬가지로 일반 파일과 장치에 직접 쓸 수 있습니다.
  • BS: 한 번에 쓸 바이트 수입니다. 즉, 한 번에 읽고 쓸 데이터 조각의 크기입니다. bs=를 하드 드라이브 캐시의 크기로 설정하는 것이 좋습니다. 8분 16분 32분
  • 세다: 몇 조각인가요? BS복사됩니다.
  • 전환수:데이터 스트림에 적용되는 필터를 연결할 수 있습니다. 필터 "오류 없어"읽기 오류가 발생하면 프로그램 중지를 비활성화합니다.

디스크 삭제 완료

미디어에서 아무 것도 복원할 수 없도록 0으로 채울 수 있습니다. 이 명령은 항상 "미디어 공간이 부족합니다"라는 오류로 끝납니다.

Dd if=/dev/zero of=/dev/sdX

디스크 이미지 생성

dd if=/dev/cdrom of=image.iso 전환=오류 없음

시스템에 로그인할 수도 있습니다

마운트 -o 루프 /PathToImageFile/image.iso /mnt/FolderMount

문제가 해결되지 않으면 프로세스는 2가지 수준으로 나뉩니다.

Losetup -e /dev/loop0 /PathToImageFile/image.iso 마운트 /dev/loop0 /mnt/FolderMount

MBR 작업

MBR은 처음 512바이트에 위치합니다. 하드 드라이브, 파티션 테이블, 부트로더 및 몇 가지 추가 항목으로 구성됩니다. 바이트. 때로는 백업, 복원 등을 해야 할 때도 있습니다. 백업은 다음과 같이 이루어집니다.

Dd if=/dev/sda of=mbr.img bs=512 개수=1

더 쉽게 복원할 수 있습니다.

Dd if=mbr.img of=/dev/sda

보관을 통한 복사

(gzip 사용) 플래시 드라이브의 데이터를 하드 드라이브로 보냅니다.

Dd if=/dev/sdX 전환=동기화, 오류 없음 bs=8M | gzip -c >/PathToSave/sdX.img.gz

그리고 뒤로

Gunzip -c /PathToFile/sdX.img.gz | dd of=/dev/sdX 전환=동기화, 오류 없음 bs=8M

네트워크를 통해 복사

dd if=/dev/sdX 전환=동기화, 오류 없음 bs=8M | ssh -c 복어 UserName@HostName "dd of=sdX.img.gz bs=8M"

그리고 뒤로

Dd if=sdX.img.gz | ssh -c 복어 UserName@HostName "dd of=/dev/sdX bs=8M"

하드 드라이브의 이미지를 생성하려면 Acronis True Image 또는 Norton Ghost와 같은 유틸리티를 사용할 필요가 없으며 대부분의 Unix 계열 컴퓨터에 포함된 간단한 dd 유틸리티이면 충분합니다. 운영체제(Linux, FreeBSD, Solaris 등) 이 기사에서는 간단한 생성 방법을 설명합니다. 백업 복사본 dd를 사용하여 하드 디스크 이미지를 만듭니다. 첫 번째 단계는 백업을 준비하는 것입니다. 이 기사에서는 다음 표기법을 소개합니다.

  • /dev/sda - 이미지를 생성해야 하는 디스크입니다.
  • /dev/sdb - 이미지가 기록될 디스크입니다.

필요한 경우 고유한 값을 대체해야 합니다.

하드 드라이브 이미지 생성 준비

첫 번째 단계는 dd 유틸리티가 있는 사용 가능한 Live-CD 디스크에서 부팅하고 다음을 입력하는 것입니다. 명령줄슈퍼유저로서. 수행할 마운트 지점을 생성합니다. 예약 사본.

mkdir /mnt/백업

마운트한다 HDD이미지를 저장하고 싶은 곳.

하드 드라이브 이미지 생성

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M 전환=동기화, 오류 없음

  • if=/dev/sda - 복사 모두 열심히디스크 sda;
  • of=/mnt/backup/sda.img - /mnt/backup/sda.img에 복사합니다.
  • bs=8M - 복사 절차 속도를 높이기 위해 하드 드라이브 캐시의 크기를 설정합니다(그렇지 않으면 데이터가 512바이트의 작은 부분으로 재설정됩니다).
  • conv=sync,noerror - 비트 단위 복사 및 읽기 오류 무시가 필요함을 나타냅니다.

하드 디스크 이미지의 크기를 줄이려면 아카이버를 사용하여 압축할 수 있습니다.

dd if=/dev/sda bs=8M 전환=동기화, 오류 없음 | gzip -c > /mnt/backup/sda.img

하드 드라이브 이미지 복구

하드 디스크 이미지를 복원하려면 이 이미지 생성 절차의 반대 절차를 따라야 합니다.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M 전환=동기화, 오류 없음

압축을 사용하는 경우 이미지의 압축을 병렬로 풀어야 합니다.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda 전환=동기화, 오류 없음 bs=8M

시스템을 다른 하드 드라이브로 마이그레이션

전체 시스템을 다른 하드 드라이브로 마이그레이션하려면 새 드라이브의 위치를 ​​대상으로 설정해야 합니다.

dd if=/dev/sda of=/dev/sdb bs=8M 전환=동기화, 오류 없음

그런 다음 필요한 경우 다음에서 부팅을 설치하십시오. 이 힘든디스크. 새 하드 드라이브가 기존 하드 드라이브보다 크다면 할당되지 않은 공간이 있을 것입니다. 기존 요구 사항에 따라 마크업하고 형식을 지정해야 합니다.

dd에 통계 복사

dd의 가장 큰 단점은 복사 절차의 통계를 시각적으로 표현하지 못한다는 것입니다. 그러나 이러한 단점은 쉽게 피할 수 있습니다. 다른 터미널에 연결하기만 하면 됩니다.

dd가 실행 중인 프로세스 번호를 확인합니다.

주기적으로 kill -USR1 process_number_dd 명령을 이 프로세스에 보냅니다.

watch -n 5 kill -USR1 process_number_dd

  • watch -n 5 - 5초마다 명령을 실행합니다.
  • kill -USR1 process_number_dd - 복사 통계를 표시합니다.

dd 명령은 단 한 가지 간단한 작업을 수행합니다. 즉, 파일에서 다른 파일로 데이터를 복사합니다. 그러나 Linux에서는 많은 엔터티가 정확하게 파일로 표시되므로 dd는 다양한 용도로 사용됩니다. 그 중 가장 유용한 것을 살펴보겠습니다.

dd은 무슨 뜻인가요?

dd는 데이터 복제기의 약자입니다. 그러나 dd 명령을 잘못 사용하면 모든 데이터가 완전히 손실될 수 있기 때문에 이 프로그램은 종종 농담으로 디스크 파괴자라고 불립니다. 데이터를 파괴하지 않는 방법뿐만 아니라 dd를 사용하여 이점을 얻을 수 있는 방법도 알아봅시다.

dd의 일반적인 사용 사례

명령 구문은 다음과 같습니다.

Dd if=$input_data of=$output_data

이 명령은 옵션을 고려하여 $input_data 파일의 데이터를 $output_data 파일로 복사합니다. 모든 것이 단순한 것 같습니다. 이제 이 간단한 복사가 어떤 기회를 열어주는지 살펴보겠습니다.

dd 사용 예

1. 복구 가능성 없이 디스크의 모든 데이터 삭제:

Dd if=/dev/urandom of=/dev/sda bs=4k

2. 한 디스크에서 다른 디스크로 바이트 단위 복사를 완료합니다(복제).

Dd if=/dev/sda of=/dev/sdb bs=4096

3. 한 파티션을 다른 파티션으로 복사:

Dd if=/dev/sda3 of=/dev/sdb3 bs=4096 전환=notrunc,noerror

4. 사용 가능한 파일 시스템 목록을 표시합니다.

Dd if=/proc/filesystems | 16진 덤프 -C | 더 적은

5. 블록 크기가 다른 장치에서 데이터 복사(소스에서 1KB, 대상에서 2KB):

Dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1

6. 부팅 가능한 USB 플래시 드라이브를 만듭니다.

Dd if=/home/$user/bootimage.img of=/dev/sdc

7. 디스크에 불량 섹터가 있는지 확인합니다.

Dd if=/dev/sda of=/dev/null bs=1m

8. 백업 생성 디스크 MBR플로피 디스크에 저장하고

Dd if=/dev/sda of=/dev/fd0 bs=512 개수=1

9. CD에서 ISO 이미지 제거:

Dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 전환=nosync

10. 파일의 바이러스 검사(물론 ClamAV가 필요함):

Dd if=/home/$user/suspicious.doc | 클램스캔 -

11. RAM의 내용을 파일에 저장:

Dd if=/dev/mem of=/home/$user/mem.bin bs=1024

12. 이미지를 Nero NRG 형식에서 표준 ISO 이미지로 변환:

Dd bs=1k if=imagefile.nrg of=imagefile.iso 건너뛰기=300k

13. MBR 내용 보기:

Dd if=/dev/sda 개수=1 | 16 진 덤프 -C

약속된 백만 개의 애플리케이션은 어디에 있습니까?

관찰력이 있는 독자라면 아마도 이 기사에 유용한 응용 프로그램이 백만 개나 나열되어 있지 않고 그보다 몇 개가 더 적다는 것을 알아차릴 것입니다. 그러나 dd 프로그램의 힘은 사용자가 다른 파일을 마치 매개변수처럼 결합하고 필요한 옵션을 선택하여 스스로 다른 응용 프로그램을 찾을 수 있다는 사실에 있습니다. dd 작업에는 특별한 주의가 필요하다는 점을 기억하세요. 어떤 작업이 수행될지 정확히 알지 못한다면 실험을 자제하는 것이 좋습니다. 이러한 권한 없이 수행할 수 있는 경우 dd 수퍼유저 권한을 부여하지 마십시오.

이 훌륭한 프로그램을 사용한 여러분만의 사례를 댓글로 남겨주세요.

dd Linux, FreeBSD, Solaris 등 대부분의 Unix 계열 운영 체제에 포함된 간단한 유틸리티입니다.
그 목적은 한 장치나 파일에서 데이터를 읽고 다른 장치나 파일에 쓰는 것입니다.

dd Acronis True Image 또는 Norton Ghost와 같은 상용 유틸리티를 사용하지 않고도 하드 드라이브 이미지를 생성하는 데 효과적으로 사용할 수 있습니다.

두 개의 디스크가 있다고 가정해 보겠습니다.

  • /dev/sda - 이미지를 생성해야 하는 디스크입니다.
  • /dev/sdb - 이미지가 기록될 디스크입니다.

필요한 경우 고유한 값을 대체해야 합니다.

첫 번째 단계는 dd 유틸리티가 있는 사용 가능한 Live-CD 디스크에서 부팅하고 수퍼유저로 명령줄을 입력하는 것입니다. 백업용 마운트 지점을 생성합니다.

mkdir /mnt/백업

이미지를 저장하려는 하드 드라이브를 마운트합니다.

하드 드라이브 이미지 생성

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M 전환=동기화, 오류 없음

  • if=/dev/sda - 전체 하드 드라이브 sda를 복사합니다.
  • of=/mnt/backup/sda.img - /mnt/backup/sda.img에 복사합니다.
  • bs=8M — 복사 절차 속도를 높이기 위해 하드 드라이브 캐시의 크기를 설정합니다(그렇지 않으면 데이터가 512바이트의 작은 부분으로 재설정됩니다).
  • conv=sync,noerror - 비트 단위 복사 및 읽기 오류 무시가 필요함을 나타냅니다.

하드 디스크 이미지의 크기를 줄이려면 아카이버를 사용하여 압축할 수 있습니다.

dd if=/dev/sda bs=8M 전환=동기화, 오류 없음 | gzip -c > /mnt/backup/sda.img

하드 드라이브 이미지 복구

하드 디스크 이미지를 복원하려면 이 이미지 생성 절차의 반대 절차를 따라야 합니다.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M 전환=동기화, 오류 없음

압축을 사용하는 경우 이미지의 압축을 병렬로 풀어야 합니다.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda 전환=동기화, 오류 없음 bs=8M

시스템을 다른 하드 드라이브로 마이그레이션

전체 시스템을 다른 하드 드라이브로 마이그레이션하려면 새 드라이브의 위치를 ​​대상으로 설정해야 합니다.

dd if=/dev/sda of=/dev/sdb bs=8M 전환=동기화, 오류 없음

그런 다음 필요한 경우 이 하드 드라이브에서 부팅을 설치합니다. 새 하드 드라이브가 기존 하드 드라이브보다 크다면 할당되지 않은 공간이 있을 것입니다. 기존 요구 사항에 따라 마크업하고 형식을 지정해야 합니다.

dd에 통계 복사

dd의 가장 큰 단점은 복사 절차의 통계를 시각적으로 표현하지 못한다는 것입니다. 그러나 이러한 단점은 쉽게 피할 수 있습니다. 다른 터미널에 연결하기만 하면 됩니다.

dd가 실행 중인 프로세스 번호를 확인합니다.

주기적으로 kill -USR1 process_number_dd 명령을 이 프로세스에 보냅니다.

watch -n 5 kill -USR1 process_number_dd

  • watch -n 5 - 5초마다 명령을 실행합니다.
  • kill -USR1 process_number_dd — 복사 통계를 표시합니다.

dd를 사용하여 디스크 이미지를 생성할 때의 단점

모든 것에는 장단점이 있습니다. dd는 매우 유연한 무료 도구이지만 볼륨의 전체 복사본만 만들 수 있습니다. 특별 프로그램디스크에 저장된 데이터만 복사할 수 있습니다.

따라서 dd를 사용하여 생성된 디스크 이미지의 볼륨은 디스크에 있는 데이터의 양에 관계없이 디스크 자체의 볼륨과 동일합니다.

알려진 바와 같이, "컴퓨터 사용자는 백업을 만드는 사람과 백업을 수행할 사람으로 나뉩니다.". 이 기사에서 우리는 살펴볼 것입니다 다양한 방법전체 시스템의 백업(백업) 및 이에 따른 백업 복사본에서의 복원.

모든 작업을 "실시간"으로 수행해서는 안 된다는 점을 바로 주목할 가치가 있습니다. 실행 중인 시스템이 아니라 liveCD에서 또는 시스템의 인접 파티션/플래시 드라이브/USB-HDD에 설치된 경우입니다. 시스템에 몇 분의 가동 중지 시간이 중요한 경우 시스템 자체를 복사할 수 있지만 이 경우 이 문서에서는 아직 고려하지 않은 몇 가지 추가 조건을 고려해야 합니다.

또한 본문에서는 슈퍼유저로 수행되는 작업에 대해 Ubuntu의 표준인 sudo 명령이 사용됩니다. 다른 시스템에서는 su를 통해 수퍼유저 권한을 얻을 수 있으며, 일부 liveCD 시스템은 기본적으로 수퍼유저 모드에서 실행됩니다.

타르

간단한 백업을 만드는 가장 널리 사용되는 방법 중 하나는 tar를 사용하여 데이터를 보관하는 것입니다. 이 방법의 장점은 증분 백업(기존 아카이브에 파일 추가, 삭제 또는 변경), 아카이브에서 추출하는 기능이 가능하다는 것입니다. 별도의 파일, 거의 모든 Linux 시스템에 tar가 있습니다.

아카이브 만들기

먼저 루트 파티션과 백업을 생성할 파티션에 대한 마운트 지점을 만듭니다. 예를 들면 다음과 같습니다.

두 파티션을 모두 마운트합니다. 신뢰성을 높이기 위해 루트 파티션을 읽기 전용 모드로 마운트하여 우발적인 데이터 변경 가능성을 제거할 수 있습니다.

Sudo 마운트 /dev/sdXY /mnt/root -o ro sudo 마운트 /dev/sdXY /mnt/backup

("sdXY" 대신 원하는 파티션에 대한 값을 사용하십시오. sudo fdisk -l 또는 sudo blkid를 사용하여 이를 결정할 수 있습니다)

/boot, /usr, /home 등에 대해 별도의 파티션을 사용하고 해당 내용을 백업에 포함하려면 적절한 폴더에 마운트하십시오.

Sudo 마운트 /dev/sdXY /mnt/root/usr -o ro sudo 마운트 /dev/sdXY /mnt/root/home -o ro

필요한 경우 아카이브를 배치할 백업 파티션에 폴더를 생성합니다. 예를 들면 다음과 같습니다.

Sudo mkdir -p /mnt/backup/ubuntu/root

이제 아카이브 생성을 시작할 수 있습니다. gzip으로 압축된 아카이브를 생성하려면 다음을 실행하세요.

Sudo tar -cvzpf -C /mnt/root /mnt/backup/ubuntu-sda1.tar.gz .

(-p 스위치를 사용하면 파일의 소유자 및 권한을 저장할 수 있습니다.)

bzip2 압축 사용의 경우

Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 /mnt/root

lzma 압축의 경우

Sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma /mnt/root

lzo 압축의 경우에도 유사 - --lzma 대신 --lzop 전환

다양한 압축 알고리즘은 다양한 아카이브 크기를 생성하며 성능도 다릅니다.

프로세스가 완료되면 마운트된 모든 파티션을 마운트 해제합니다.

Sudo umount /mnt/root(/boot,/var,/home,) /mnt/backup

아카이브에서 복원

루트 파티션과 아카이브가 저장된 파티션에 대한 마운트 지점을 생성합니다.

Sudo mkdir /mnt/(루트,백업)

백업 아카이브로 파티션 마운트

Sudo 마운트 /dev/sdXY /mnt/backup -o ro

루트 파티션을 동일한(또는 다른) 파일 시스템으로 포맷합니다. /usr, /boot 등에 대해 별도의 파티션을 사용하고 보관한 경우 해당 파티션도 포맷하세요.

(시스템을 새 하드 드라이브로 복원하는 경우 fdisk/gparted를 사용하여 파티션을 나누고 파티션을 포맷하세요.)

일부 파일 시스템은 포맷 시 UUID 설정을 지원합니다. 이렇게 하면 이전 시스템과 동일한 UUID를 사용하여 파일 시스템을 생성할 수 있으므로 fstab을 편집할 필요가 없습니다.

ext2/3/4의 경우 UUID는 -U 스위치를 사용하여 설정되며 다음과 같은 명령을 사용하여 작업을 더욱 단순화할 수 있습니다.

Sudo mkfs.ext4 -L "label" -U "$(sudo blkid -o value -s UUID /dev/sda1)" /dev/sda1

이미지 파일을 생성할 때 아카이브를 사용한 경우 먼저 동일한 아카이버를 사용하여 압축을 풀어야 합니다.

Bzip2 -dv /media/backup/sda5.dd.bz

이제 이미지를 마운트할 수 있습니다

Sudo 마운트 /media/backup/sda5.dd -o 루프 /mnt

(루프 옵션을 사용하면 마운트 프로그램이 이미지 파일을 무료 루프 장치에 자동으로 "선택"한 다음 파일 시스템을 마운트합니다)

이제 일반 파일 시스템처럼 이미지 내용으로 작업할 수 있으며 모든 변경 사항이 이미지에 기록됩니다. 완료되면 이미지를 일반 파일 시스템으로 마운트합니다.

Sudo umount /mnt

dd - 전체 하드 드라이브를 복사합니다.

이 경우 dd를 다시 사용합니다. 이번에는 파티션 테이블, 파티션 자체 및 모든 데이터와 함께 하드 드라이브의 전체 내용을 저장합니다. 이점 이 방법각 파티션을 별도로 백업할 필요 없이 이 하드 드라이브에 설치된 모든 시스템을 한 번에 저장할 수 있다는 사실입니다. 또한 이러한 백업을 사용하면 부트로더와 관련된 모든 데이터가 저장됩니다. 따라서 백업에서 복원한 후에는 추가 조작이 필요하지 않으며 이 하드 드라이브에서 즉시 부팅할 수 있습니다.

이미지 만들기

일반적으로 절차는 위에서 설명한 개별 파티션 백업 절차와 유사합니다. 이 경우 "0"으로 여유 공간을 지우는 방법에 대한 조언도 적용됩니다. 여유 시간이 있으면 모든 파티션에 대해 이 작업을 수행하십시오.

작업을 시작하기 전에 이 하드 드라이브에 마운트된 파티션이 없는지 확인하십시오. 이는 매개변수 없이 mount 명령을 실행하여 수행할 수 있습니다.

클립 파일을 배치할 파티션을 선택합니다. 물론 이것은 다른 하드 드라이브의 파티션이어야 합니다. 또한 이 파티션에 충분한 여유 공간이 있는지 확인하십시오(예: df 유틸리티 사용). 여유 공간의 양은 복사된 하드 드라이브의 볼륨과 일치해야 합니다(압축하면 이미지가 더 작아지지만 이는 상황에 따라 다릅니다). 저장된 데이터 유형에 따라 다름)

백업 파티션 마운트

Sudo 마운트 /dev/sdXY /mnt

이제 시작할 수 있습니다

Sudo dd if=/dev/sdX bs=1M 전환=noerror,sync | lzma -cv > /mnt/hdd.dd.lzma

(여기서 “sdX”는 파티션이 아닌 디스크입니다! 압축하지 않고 복사하는 경우 명령은 위의 파티션 백업 명령과 유사합니다)

하드 드라이브의 크기와 컴퓨터 성능에 따라 절차에 오랜 시간이 걸릴 수 있습니다(최대 몇 시간). 완료되면 백업 파티션을 마운트합니다.

Sudo umount /mnt

이미지에서 복구

주목! 이 방법모든 데이터를 교체하여 아카이브가 생성된 당시 상태로의 완전한 롤백이 포함됩니다!

작업을 시작하기 전에 전원 공급 장치가 안정적인지 확인하십시오. 연결하다 네트워크 어댑터, 노트북이 있는 경우 가능하면 UPS 또는 안정 장치를 사용하십시오. ~에 고강도녹화하면 정전 시 디스크 손상 위험이 높아집니다.

복원 중인 디스크의 파티션이 사용 중이 아닌지 확인하십시오. 백업 파티션 마운트

Sudo 마운트 /dev/sdXY /mnt

절차를 시작할 수 있습니다

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M 전환=동기화, 오류 없음

또는 압축되지 않은 이미지의 경우

Sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M 전환=동기화, 오류 없음

완료되면 백업 파티션을 마운트합니다.

Sudo umount /mnt

이미지를 다른 하드 드라이브에 추출하려면 최소한 원본 크기만큼 커야 합니다. 만약에 새 디스크볼륨이 더 크면 파티션을 확장하거나 새 파티션을 생성할 수 있습니다. 자유 공간 parted/fdisk/gparted/etc 사용

둘 다 사용하지 마세요 하드 드라이브(“중복”과 “원본”)을 동시에!두 드라이브가 모두 연결된 경우 시스템에는 각 UUID에 대해 두 개의 파티션이 있으므로 작동 문제가 발생하거나 부팅할 수 없게 됩니다.

이미지 마운트

파티션 이미지와 유사하게 일반 하드 드라이브와 마찬가지로 하드 디스크 이미지로 작업할 수 있습니다. 이 경우 이미지에 여러 섹션이 포함되어 있으므로 절차가 다소 복잡해집니다.

이미지가 압축되어 있으면 압축을 풀어주세요. 이제 루프 장치에 이미지를 "픽업"합니다.

Sudo losstup -fv /media/backup/sda.dd

(-f 스위치를 사용하면 프로그램이 자동으로 빈 루프 장치를 찾습니다. 그렇지 않으면 명시적으로 지정해야 합니다.)

losstup은 사용된 장치의 이름을 표시합니다. 다른 이미지 파일(iso, 암호화된 컨테이너 등)로 작업하지 않는 경우 /dev/loop0일 가능성이 높습니다.

이제 시스템의 하드 드라이브인 장치가 있지만 해당 파티션에 액세스할 수 없습니다. kpartx 프로그램은 파티션에 접근하는 데 도움이 될 것입니다(동일한 이름의 패키지를 설치해야 할 수도 있습니다).

Sudo kpartx -av /dev/loop0

(키 -a - 특정 장치에 대한 파티션 추가, -v - 정보 출력)

프로그램은 디스크 파티션에 대해 생성된 장치의 이름을 표시합니다. 첫 번째 파티션은 loop0p1, 두 번째 파티션은 loop0p2로 일반 디스크의 파티션과 유사합니다. 장치 파일은 /dev/mapper 폴더에 있습니다.

이제 파티션과 FS로 작업할 수 있습니다. 예를 들어 이전 sda5를 마운트하고 여기에 파일을 씁니다.

Sudo 마운트 /dev/mapper/loop0p5 /mnt

완료되면 파티션을 마운트 해제합니다.

Sudo umount /mnt

kpartx를 사용하여 파티션 장치 제거

Sudo kpartx -dv /dev/loop0

루프 장치를 해제합니다.

Sudo losstup -v -d /dev/loop0

모두! 변경 사항이 기록되고 이미지가 다시 일반 파일이 됩니다.

CP

여기서는 cp 유틸리티를 사용한 백업을 살펴보겠습니다. 간단한 복사를 사용합니다. 실제로 이것은 가장 최적의 방법은 아니며, 백업 복사본을 만드는 것보다 시스템을 다른 하드 드라이브/파티션/컴퓨터에 복사하는 데 더 적합합니다.

반면에 이 방법에는 다음과 같은 여러 가지 장점이 있습니다.

    보편성 - 모든 Linux 시스템에서 cp를 찾을 수 있습니다.

    낮은 리소스 요구 사항(압축 부족 및 메커니즘의 단순성으로 인해)

    추가 백업 작업 용이성(파일 추가/변경/삭제, 필요한 데이터 추출 등)

복사본 만들기

루트 및 백업 파티션에 대한 마운트 지점 생성

Sudo mkdir /mnt/(루트,백업)

두 파티션 모두 마운트

Sudo 마운트 /dev/sdXY -o ro /mnt/root sudo 마운트 /dev/sdXY /mnt/backup

/usr, /boot 등의 파티션이 있는 경우 마운트합니다.

Sudo 마운트 /dev/sdXY -o ro /mnt/root/home

백업 파티션에 백업용 폴더 생성

Sudo mkdir /mnt/backup/ubuntu

우리는 시작할 수 있습니다

Sudo cp -av /mnt/root/* /mnt/backup/ubuntu

(-a 스위치를 사용하면 링크를 "있는 그대로" 복사하여 가능한 모든 파일 속성과 재귀 모드를 저장할 수 있습니다. -v 스위치 - 현재 상황에 대한 정보 표시)

프로세스가 완료되면 모든 파티션을 마운트 해제합니다.

앞으로는 편리한 방법으로 데이터를 보관할 수 있습니다.

복사본에서 복원

주목! 이 방법에는 아카이브가 생성된 당시의 상태로 완전히 롤백하여 모든 데이터를 교체하는 작업이 포함됩니다!

파티션의 마운트 지점 생성

Sudo mkdir /mnt/(루트,백업)

백업 파티션 마운트

Sudo 마운트 /dev/sdXY -o ro /mnt/backup

루트 파티션과 /usr, /boot 등의 파티션이 있는 경우 이를 포맷합니다. (UUID를 유지하면서 파티션을 포맷하려면 관련 섹션을 참조하세요.)

Sudo mkfs.reiserfs -l "루트" /dev/sdXY sudo mkfs.ext2 -L "부팅" /dev/sdXY sudo mkfs.ext4 -L "홈" /dev/sdXY

새로 생성된 파일 시스템을 마운트합니다.

복사 과정은 반대 방향으로만 유사합니다.

Sudo cp /mnt/backup/ubuntu/* -av /mnt/root

복사가 완료되면 fstab을 편집하여 파티션 UUID를 수정하세요.

파티션 마운트 해제

Sudo umount /mnt/backup /mnt/root/(usr,home,)

스쿼시

sudo mkfs.reiserfs -l "루트" /dev/sdXY sudo mkfs.ext2 -L "부팅" /dev/sdXY sudo mkfs.ext4 -L "홈" /dev/sdXY

새로 생성된 파일 시스템을 마운트합니다.

Sudo 마운트 /dev/sdXY /mnt/root sudo 마운트 /dev/sdXY /mnt/root/usr sudo 마운트 /dev/sdXY /mnt/root/var

이제 시작할 준비가 되었습니다! 이미지의 압축을 풀려면 unsquashfs 유틸리티를 사용하십시오.

Sudo unsquashfs -d /mnt/root -f /mnt/backup/ubuntu-root.sqfs

(-d 스위치는 압축 풀기 경로를 지정하고, -f 스위치를 사용하면 프로그램이 새 폴더를 만드는 대신 기존 폴더를 사용합니다.)

이미지를 생성할 때와 마찬가지로 진행률 표시줄과 기타 유용한 정보가 많이 표시됩니다.

완료되면 fstab을 편집하여 파티션의 UUID를 새 파티션으로 바꿉니다(동일한 UUID로 파티션을 포맷한 경우 이 단계를 건너뜁니다).

Sudo nano /mnt/root/etc/fstab

파일을 저장하고 모든 파티션을 마운트 해제합니다.

Sudo umount /mnt/backup /mnt/root(/usr,/var,)

이미지 마운트

squashfs는 루프 장치를 통해 다른 이미지처럼 마운트됩니다. squashfs에 대한 커널 지원은 Ubuntu를 포함한 많은 배포판에 포함되어 있으므로 루프 옵션과 함께 mount 명령을 사용하면 됩니다.

Sudo 마운트 /media/backup/ubuntu-root.sqfs -o ro,loop /mnt

(ro 옵션은 필요하지 않습니다. 아무것도 쓰지 않으면 어쨌든 작동하지 않기 때문입니다)

이제 무엇이든 복사할 수 있습니다. 필요한 파일. 이 방법으로 무언가를 추가하면 작동하지 않습니다. 이렇게 하려면 mksquashfs를 다시 사용해야 합니다.

완료되면 이미지를 일반 파일 시스템으로 마운트합니다.

Sudo umount /mnt

재동기화

cp와 마찬가지로 rsync는 파일과 함께 작동하지만 블록 장치. rsync의 장점은 이미 대상에 있는 파일을 복사하지 않는다는 것입니다. 기본적으로 파일의 크기와 수정 시간을 확인하지만 해시도 확인할 수 있습니다(일반적으로 보안 강화가 필요할 때 수행됩니다).

사용하기 쉬운

rsync 구문은 cp와 유사합니다.

Rsync -a /mnt/root /mnt/backup

-a 매개변수는 종종 충분하며 가장 필요한 것(디렉토리의 재귀 복사, 소유자 및 그룹에 대한 정보 저장 등)을 제공합니다. 표시하려면 자세한 정보-v 스위치는 복사에 사용됩니다. 조심해서 사용하세요. 데이터 스트림에서 오류 메시지를 놓칠 수 있습니다. -x 스위치는 rsync가 지정된 파일 시스템을 벗어나지 않도록 합니다.

rsync 문서에는 다양한 옵션이 설명되어 있습니다. 예를 들어 SSH를 통해 복사하거나 소스 디렉터리에서 파일이 삭제된 경우 대상에서 파일을 삭제할 수 있는 기능이 있습니다.

스마트 복사는 시스템 가동 중지 시간을 줄여줍니다. 우리는 실행 중인 시스템에서 직접 rsync를 실행합니다. 데이터는 지속적으로 변경되며, rsync는 예를 들어 몇 시간 내에 데이터를 복사합니다. 그런 다음 시스템을 읽기 전용으로 전환하고 rsync를 다시 실행하면 이제 몇 시간 동안 변경된 파일만 복사됩니다. 몇 분 안에 원본 파일 시스템의 전체 복사본을 갖게 됩니다. 오프라인 복사에 비해 다운타임이 10배나 감소했습니다. 어떤 경우에는 시스템을 읽기 전용으로 변환하지 않고도 하나의 온라인 사본으로 충분할 수 있습니다.

이전 사본 저장

엄밀히 말하면 rsync는 백업 도구가 아니라 동기화 도구입니다. 이는 일반 복사본을 만들 때 중요합니다. 중요한 파일소스 작업 디렉토리에서 삭제되었습니다. rsync는 백업 복사본에서도 이를 삭제합니다. 데이터 보안을 강화하려면 오래된 백업 복사본을 저장하는 것이 좋습니다. 그러나 단순히 여러 복사본을 저장하려면 많은 하드 드라이브 공간이 필요합니다. 복사본에 동일한 파일이 많으면 불필요한 중복이 발생합니다. 이 문제는 하드링크를 사용하여 해결할 수 있습니다.

요점은 현대에서 파일 시스템(Ext4 포함) 파일 주소 지정은 두 단계로 수행됩니다. 파일 이름은 고유한 파일 번호(인덱스 설명자 또는 i-노드)를 나타내고 데이터 자체는 이 번호와 연결됩니다. 실제로 모든 파일 이름은 이 번호에 대한 하드 링크입니다. 결과적으로 파일(데이터 세트)은 여러 이름을 가질 수 있고 서로 다른 디렉터리에 있을 수 있으며 이는 파일을 복제해야 하는 경우 중복성을 제거합니다(결국 하드 링크는 메모리를 거의 차지하지 않습니다). 데이터 자체는 마지막 하드 링크 삭제를 요청할 때까지 삭제되지 않습니다.

중요한 제한은 하드 링크가 동일한 파일 시스템 내에서만 가능하다는 것입니다.

현재 백업의 디렉터리 내용을 소스 디렉터리와 동기화:

Rsync \ --archive \ --delete --delete-excluded \ # 소스에 존재하지 않는 파일과 백업에서 제외된 파일을 삭제합니다.--진전\ # 전송 진행 상황에 대한 정보를 표시합니다."/홈/사용자/파일/" \ # 디렉토리 소스"/백업/최신/" \ # 현재 백업용 디렉터리--exclude = "/공개/" # 불필요한 디렉토리 제외

"/backup/latest/" 디렉터리에는 소스에서 필요한 모든 파일과 디렉터리의 복사본이 생성되고 불필요한 모든 항목은 제거됩니다.

중복 없이 다른 현재 백업 생성:

cp\--아카이브\ # 모두 저장 추가 정보파일 정보--링크\ # 파일에 하드 링크를 사용 - 중복 제거"/백업/최신/" \ # 소스는 위에서 얻은 현재 백업입니다. "/backup/$(날짜 +%Y-%m-%d_%H-%M-%S) /" # 목적지 - 편의를 위해 이름에 날짜가 포함된 디렉토리(man date 참조)

다음에 백업을 생성하면 rsync는 소스 디렉터리에서 삭제/제외/변경된 " /backup/latest/ " 디렉터리의 파일을 삭제합니다. (변경된 파일은 먼저 삭제된 후 기록됩니다. 새 버전). 그러나 파일 이름(동일한 하드 링크)만 삭제되고 파일 자체(데이터)는 "cp" 명령을 사용하여 인접한 디렉터리에 하드 링크가 생성되었으므로 저장됩니다.

기타 도구

Linux에는 백업을 생성하기 위한 많은 응용 프로그램이 있습니다. Ubuntu App Center에서 "백업"을 검색하여 다음에서 사용 가능한 항목을 찾을 수 있습니다. 우분투 프로그램백업 작업용.

기업 환경과 상당히 대규모의 중요한 백업 작업의 경우 Bacula라는 가장 인기 있고 강력한 Linux용 백업 시스템 중 하나를 이해하는 것이 좋습니다.

그건 그렇고, 인터넷에서 러시아어 설명서를 찾을 수도 있습니다.

헤어진 마법

Parted Magic은 또 다른 훌륭한 게임이지만 유급의정보 백업 및 복원, 디스크 및 파티션 작업, 손실된 데이터 복구를 위한 전체 도구 모음이 포함된 배포 키트입니다. 이는 많은 파일 시스템, LVM2 및 RAID(하드웨어 및 소프트웨어 모두)를 지원하며 fsarchiver, GParted, 앞서 언급한 Clonezilla와 같은 도구와 이 문서에서 설명하는 방법에 필요한 모든 것을 포함합니다. 또한 배포판에는 웹 브라우저와 기타 추가 소프트웨어가 포함되어 있습니다. 배포판은 러시아어를 포함한 여러 언어로 번역되며 본격적인 그래픽 인터페이스를 갖추고 있습니다.

L파트됨

LParted는 주로 파티션 작업을 위해 설계된 모든 기능을 갖춘 LiveCD입니다. 하드 드라이브(HDD), 데이터 및 장비 테스트의 영구 삭제 또는 복구. Lubuntu Linux 기반 LiveCD. LParted는 Parted Magic의 기능적 유사체입니다.

여기에 SystemRescueCD 및 기타 정보를 추가하고 싶습니다.

데이터 저장에 대해 조금 더 자세히 알아보기

    중요한 데이터의 경우 두 개의 디스크에 미러 파티션을 만들 수 있습니다. 이를 위해 동일한 크기의 RAID 컨트롤러와 디스크가 필요하지 않습니다. 예를 들어 80GB 기존 드라이브에서 미러를 조립하고 새 드라이브에 80GB 파티션을 조립할 수 있습니다. 미러링은 LVM 또는 소프트웨어 RAID를 사용하여 구현할 수 있습니다. 그러나 예를 들어 ~220V의 전압이 +5V 버스에 도달하거나 운석이 버스에 떨어지는 경우에는 이 방법이 쓸모가 없습니다. 시스템 장치컴퓨터.

    집에 자체 서버가 있는 IT 괴짜들은 미러링 아이디어를 확장하여 DRBD를 사용할 수 있습니다. 동일한 RAID-1이지만 하드 디스크에 위치하고 있습니다 다른 컴퓨터, 이는 신뢰성을 증가시킵니다.

    현대적이고 편리한 솔루션은 Ubuntu One, Dropbox, http://www.adrive.com/ 등을 사용하여 클라우드에 데이터를 백업하는 것입니다.

    Ubuntu One에서의 미러링이나 복제는 실수로 삭제를 누르는 일을 방지하지 못하므로 어떤 경우에도 "클래식" 백업을 만드십시오. 그리고 언젠가는 여러분의 모든 노력과 노력이 보상을 받을 것입니다.