실행 중인 파일 시스템을 이미지 파일로 복제

실행 중인 파일 시스템을 이미지 파일로 복제

실행 중인 Linux 파일 시스템(Debian 10)을 파일로 복제하는 방법은 무엇입니까 .img? 다른 SSD에 플래시하고 새 시스템이 똑같은 방식으로 실행되기를 원합니다. Clonezilla는 나에게 적합하지 않습니다. 새 기계의 하드웨어는 정확히 동일합니다.

답변1

dd, ddrescue 또는 cat을 사용하여 전체 블록 장치를 이미지로 복사할 수 있습니다(대상이 /dev/sdb라고 가정).

$ dd if=/dev/sda of=/mnt/master.img
(...)
$ dd if=/mnt/master.img of=/dev/sdb

전체 파티션 테이블 부트 섹터와 파일 시스템 자체의 일대일 복사본을 새 미디어에 갖게 되므로 작동해야 합니다. 또한 메인 드라이브의 전체 파티션 테이블과 구조를 복제합니다.

이미지는 iso가 아니므로 그렇게 생각하면 안 됩니다. 즉, 드라이브와 후속 이미지에는 전체 드라이브 구조가 포함됩니다.

|<-- sda ------------------------------------------------------------->|
|                            |<-- sda1 --->|<-- sda2 --->|<-- sdaN --->|
+--+--+--+--+--+--+--+--+--+-+=============+=============+...==========+
| MBR, part.table, boot.sect | partition 1 | partition 2 | partition n |
+--+--+--+--+--+--+--+--+--+-+=============+=============+...==========+

귀하의 새 드라이브에도 해당 기능이 있습니다.

마스터 장치를 복사하고 루트 권한 외에 대상 블록 장치에 쓰는 데는 특별한 것이 필요하지 않습니다.

또한 시스템 파티션의 이미지를 만들고(/dev/sda1이라고 가정) 대상 드라이브에 새 파티션 테이블을 만들고 시스템 파티션이 최소한 이미지만큼 큰지 확인한 다음 sda1.img를 /dev/sdb1을 선택하고 원하는 부팅 관리자를 사용하여 부팅 가능하게 만듭니다. 그러나 특히 귀하와 같은 상황에서는 더 많은 작업이 필요합니다.

-- 설명에서 언급한 대로 첫 번째 파티션만 필요하다고 가정하면 파티션 테이블/부트로더 + 첫 번째 파티션(/dev/sda1)이 포함된 /dev/sda의 첫 번째 부분을 복사하여 다음 위치에 복사할 수도 있습니다. 당신의 목적지.

$ dd if=/dev/sda of=/mnt/master1.img bs=1M count=7600
(...)
$ dd if=/mnt/master1.img of=/dev/sdb
|<-- sda -----------------------------------
|                            |<-- sda1 --->|
+--+--+--+--+--+--+--+--+--+-+=============+
| MBR, part.table, boot.sect | partition 1 |
+--+--+--+--+--+--+--+--+--+-+=============+

파티션 테이블에는 존재하지 않는 파티션이 포함되어 있기 때문에 다소 버그가 있으며 나중에 수정해야 할 수도 있지만 작동할 것입니다. 우아하지는 않지만 작동합니다.

답변2

어떤 것을 만들어지원( 예를 들어 적절한 백업을 할 수 있어야 함) NAT/ USB 에 Bacula. 그런 다음 새 시스템의 LiveCD/LiveUSB에서 부팅하고TimeVaultTimeshiftClonezilla다시 덮다백업에서.

답변3

프로그램우코프, 적절한 패키지로 찾을 수 있습니다 apt install ukopp. 시스템/파일을 외부 드라이브(일반적으로 USB)에 백업/저장하는 GUI입니다. 여기에서 USB의 이미지를 사용하여 다른 SSD를 "플래시"할 수 있습니다.

답변4

전체 드라이브, 데이터가 포함된 파티션 또는 드라이브의 운영 체제를 복제하는 가장 좋은 방법은 명령입니다 dd.

제 생각에는 dd이것이 장치/파티션 복제/백업을 위한 최선의 옵션이라고 생각합니다.

dd모든 것이 조금씩 복제됩니다.

dd다양한 도구를 실험하고 시도하기 전에 가능하면 장치의 전체 백업/복제를 다른 장치에 사용하고 백업/복제가 작동하는지 확인합니다.

전체 장치가 다음과 같은 경우암호화됨예 를 들어 luks, 전체 복제를 수행하고 새 장치에 플래시할 수 있으며 그것도 작동합니다!

설치된 퓨즈/sshfs를 사용하는 경우 이 네트워크 폴더에 직접 백업/복제할 수도 있습니다.

모든 블록 장치를 나열할 수 있습니다.lsblk

예:

  1. 드라이브가 /dev/sda이고 디렉터리나 저장소에 저장/백업/복제하려는 경우
dd if=/dev/sda of=/home/user/osbkp.img bs=1M status=progress

당신은 필요하지 않습니다이름.img가능한os123.bkp또한

  1. 이미지를 생성하지 않고 실행 중인 시스템을 대상 드라이브에 실시간 복제합니다.

소스는 /dev/sda, 대상은 /dev/sdb

dd if=/dev/sda of=/dev/sdb bs=1M status=progress

때로는 새 드라이브에 새 백업/클론을 생성했지만 이 장치에서 부팅할 수 없고 dd를 사용하여 다시 시도할 수 없습니다(100% 작동하는 방법은 없음).

  1. 대상이 /dev/sdb인 새 드라이브에 이미지를 복제합니다.
dd if=/home/user/osbkp.img of=/dev/sdb bs=1M status=progress
  1. 특정 파티션 복제
dd if=/dev/sda1 of=/home/user/part1.img bs=1M status=progress

설명하다:

if=입력/소스

of=출력/대상

bs = 복사된 블록 크기 다양한 블록 크기를 사용할 수 있습니다. 저는 1MB를 선호합니다. 이 설정을 사용하여 프로세스 속도를 높이거나 낮출 수 있습니다. 가장 적합한 옵션을 직접 찾아야 합니다.

status=진행 실시간 상태

  1. 저장을 위해 fat*을 사용하는 경우 파일을 분할할 수 있습니다. 이 게시물도 확인하세요.

dd 이미지를 여러 파일로 분할

dd를 사용하여 FAT32 드라이브에 80GB 이미지 생성

다음 사항을 명심해야 합니다.

0.dd는 장치의 모든 내용을 복제합니다.

귀하의 드라이브는 입니다 /dev/sda. 이것을 복제하세요.

5개의 파티션이 있습니다

/dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5

이러한 모든 파티션, mbr, gpt 등이 포함된 파일을 /dev/sda에서 얻을 수 있습니다.

1.각 드라이브/스토리지에 복제할 수 있습니다.

  • 하드 드라이브에서 USB로 또는 USB에서 하드 드라이브로 복제한 다음 새 장치에서 복제된 운영 체제를 실행할 수 있습니다.

2.실행 중인 대상 장치는 크기가 동일하거나 더 커야 합니다.

  • 더 큰 장치를 더 작은 드라이브에 복제하거나 파티션의 사용된 공간만 복제할 수 없습니다.
  • 예: 복제하려는 파티션은 8GB인데 해당 파티션의 OS가 1GB에 불과해서 여유공간이 7GB인데, OS를 실행하기 위해 복제하려는 대상은 4GB로 불가능합니다! dd를 사용하여 전체 장치를 새 드라이브에 복제하지만 크기를 조정할 수는 없습니다.

더 큰 장치에 복제하는 경우 남은 공간을 사용하여 새 파티션을 만들고 새 장치/OS에 설치/사용할 수 있습니다.

남은 공간을 특정 파티션에 병합하려고 할 때는 주의하세요!

삼.가장 좋은 방법은 드라이브를 연결하고 대상에서 소스로 또는 대상에서 스토리지로 복제하는 대신 라이브 시스템이나 다른 Linux 시스템을 사용하는 것입니다.

4.모든 장치에는 고유한 uuid 및 레이블 이름이 있습니다. a 드라이브를 b 드라이브로 복제하고 한 PC에 두 개의 드라이브가 있고 그 중 하나를 레이블 이름 또는 uuid로 부팅하려고 하면 grub을 확인하거나 부팅에 문제가 있습니다. 관리자이거나 잘못된 운영 체제를 부팅하고 있습니다.

blkid이를 확인하려면 및 기타 명령을 사용할 수 있습니다 .

이를 변경하고 새로운 UUID, 태그 등을 생성할 수 있지만 주의하세요.

5.복제 이미지가 실행될 드라이브를 포맷할 필요가 없습니다. dd는 모든 것을 파괴/삭제하고 지정된 지원 OS에서 새로운 mbr, gpt, 형식, 파일 시스템 등을 생성합니다.

또 다른 방법은 빈 운영 체제를 만들고 필요한 모든 폴더와 파일을 복사하는 것입니다.

이에 대한 많은 튜토리얼이 있습니다.

Linux 시스템 백업을 만드는 방법을 확인하세요.rsync

Rsync를 사용하여 전체 Linux 시스템을 백업하는 방법

rsync를 사용한 전체 시스템 백업

dd를 사용하여 기본 복제본을 생성하고 수행한 작업을 수행하지만 변경된 파일을 복제/복사하는 것이 더 낫다는 의미입니다.

GNU/LINUX에서는 모든 것이 파일입니다.

관련 정보