대부분의 정보는 이전에 삽입 된 레시피에서 설명되었지만 모두 설명되지 않았습니다.
리눅스에서는 dd 명령으로 하드 드라이브 나 파티션을 복제 할 수 있습니다. 실수를 할 때 모든 데이터가 손실됩니다.
처음에는 대상을 사용하지 않아야하고, 둘째로 소스를 사용하지 않거나, 읽기 전용 모드로 다시 마운트해야합니다. 그렇지 않으면 복사가 손상됩니다. 다시 마운트 할 수없는 경우 Linux 라이브 배포판으로 부팅 가능한 드라이브 (hdd / ssd / pendrive)를 만드십시오. 나는 knoppix를 prever, 그러나 이것은 당신의 선택입니다. 가능하면 단일 사용자 모드의 경우 시스템 레벨을 1로 부팅하거나 변경하거나 시스템을 단일 사용자 모드로 직접 재부팅 할 수 있습니다. 하나의 파티션 만 복제하는 경우이 파티션을 마운트 해제하거나 RO에 다시 마운트해야합니다.
umount /mountpoint_or_device
또는
remount -o,ro /mountpoint_or_device
전체 하드 드라이브를 복제하려면 모든 파티션을 마운트 해제하거나 다시 마운트해야합니다.
소스 및 대상 장치를 식별해야합니다. dmesg를 참조하십시오. 여기에 공급 업체 등과 함께 장치에 대한 모든 필요한 정보가 저장되어 있습니다. 다른 경우 장치 크기를 기반으로 식별이 가능합니다. 다음으로 목적지는 소스와 같거나 커야합니다. 소스를 계산해야합니다 (예 : 파티션 구조 (GPT가있을 수 있음) 제외). 3. 바이트 단위의 블록 크기, 일반적으로 512입니다.
예를 들면 다음과 같습니다.
# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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
Disk identifier: 0x000f1d1e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 40136703 20067328 83 Linux
/dev/sda2 40138750 41940991 901121 5 Extended
/dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
다음으로 512 개 이상의 디바이더를 사용해 봅시다. 41943040 개의 물리 섹터가 있습니다.
41943040 / 256 = 163840, 256 섹터를 대량 복사 할 수 있습니다. 더 할 수 있을까요? 시도해 봅시다 : 41943040 / 1024 = 40960, 이것으로 충분하다고 생각합니다. 이것을 선택하겠습니다. 섹터 그룹의 크기를 계산해 봅시다 : 512 (섹터 크기) * 1024 = 524288 바이트 eq 512K. 그런 다음 bs = 512K 이하의 매개 변수를 사용할 수 있지만이를 2 ^ x로 나눕니다. 내부 캐시가 큰 최신 하드 드라이브의 경우이 정도면 충분합니다. 캐시가 훨씬 작은 구형 드라이브의 경우 32K 이하이면 충분합니다.
그런 다음 준비 후 복사 할 수 있습니다 : dd if = / dev / source_devide of = / dev / destination_device bs = 32K 그리고 복사가 완료됩니다. 실수로 가져 오기 및 데이터를 덮어 쓰게됩니다. 대상에서 모든 내용을 덮어 씁니다.
손상된 소스 디스크에서 데이터를 복구하려고하면 기본 섹터 크기를 사용하는 것이 좋습니다. 일반적으로 512 바이트이며 conv = notrunc 옵션을 추가하십시오. 그렇지 않으면 불량 섹터로 인해 소스에서 떨어진 홀이 대상에서 섹터 이동으로 연결됩니다. 수리 할 기회가 거의 없어 사본이 손상 될 수 있습니다. 명령은 다음과 같습니다.
dd if=/dev/source of=/dev/destination bs=512 conv=notrunc
드라이브와 시스템이 포기하고 섹터별로 끝까지 걸어 갈 때까지 오래 기다립니다.
dd는 파티션을 새로운 장소로 옮기는 데 유용한 도구입니다. 파티션을 생성하고 dd를 새로운 파티션으로 만들면 (이것은 더 클 수도 있고 더 클 수도 있습니다) 가능하다면 모든 새로운 파티션을 채우기 위해 복사 된 파일 시스템을 확장하십시오 .ext3 / ext4 / xfs / zfs / btrfs는이 기능을 가지고 있습니다. 마지막으로 / etc / fstab을 변경 한 다음 가능하면 umount / mount 또는 시스템을 재부팅해야합니다.
물론 모든 유형의 파티션을 복제 할 수 있습니다. dd 명령은 파일 시스템 유형을 조사하지 않으며 구조와 관련이 없습니다. 이 명령은 NTFS 또는 다른 파티션 유형을 복제하는 데 사용할 수 있습니다.
어떤 트릭이 있습니다. 매개 변수를 설정하지 않으면 dd는 stdout에 출력을 넣습니다. 그런 다음 디스크 또는 파티션의 압축 된 원시 복사본을 만들 수 있습니다.
dd if=/dev/sda bs=512 | gzip >/any/place/computerOne_sda.gz
물론이 작업은 오프라인에서 수행해야합니다. 다음을 통해이를 복원 할 수 있습니다.
zcat /any/place/computerOne_sda.gz| dd of=/dev/sda bs=512
이 백업으로 모든 sda 하드 드라이브를 덮어 쓰고 모든 현재 데이터가 손실됩니다. NTFS 창 파티션과 여기에서 사용하는 하드 드라이브로도이를 수행 할 수 있습니다. 물론 선택에 따라 다른 압축 명령을 사용할 수 있습니다.