작은 크기의 하드 디스크로 복제하는 방법
- Clonezilla는 훌륭하지만 그러한 기능을 지원하지 않습니다.
- 또한
dd
PartImage는이 요구를 지원하지 않습니다. rsync
MBR은 파일이 아니므로 MBR을 복사하지 않습니다.
백업을하지 않으려면 HDD를 복제해야하므로 rsync
적절한 대답이 아닙니다.
어떤 제안?
답변
공간이 충분하지 않기 때문에 더 큰 파티션을 더 작은 파티션 (사용 등)으로 복제 할 수 없습니다 dd
.
그러나 더 큰 파티션에있는 파일이 더 작은 파티션에도 적합하면 rsync
해당 파일을 복사하는 데 사용할 수 있습니다 . 사용할 정확한 옵션은 특정 사용 사례에 따라 다르지만 다음과 같이 모든 파일을 복사하기 만하면됩니다.
rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition
편집 :
다시 한번 : 더 큰 파티션을 더 작은 파티션에 복제 할 수 없습니다 . (그러나 계속 읽으십시오, 문제는 아직 해결 될 수 있습니다.)
그 이유는 간단합니다. 소스 파티션이 대상 파티션보다 큽니다. 당신은 무엇을 기대합니까? 일부 블록을 떨어 뜨려야합니까? 어느 것? 그리고 어떻게 dd
알아야합니까? 물론 dd
의 옵션 bs=
과 count=
옵션을 사용 하여 소스 파티션의 첫 번째 블록을 대상 파티션에 맞도록 복사 할 수 있지만 깨진 파티션이 생깁니다. 그것은 확실히 당신이 원하는 것이 아닙니다.
따라서 더 큰 파티션을 더 작은 파티션으로 복제 할 수 없으므로 먼저 원본 파티션의 크기를 대상 파티션의 크기보다 작거나 같은 크기로 줄이면됩니다 gparted
. 데이터를 잃지 않도록 파일 시스템 특정. 그런 다음에 만 dd
파티션을 복제 할 수 있습니다 . 이상적으로, 당신의 원본 파티션의 새 크기가되어야한다 동일한 대상 파티션의 크기 (뿐 아니라 작거나 같은 ), 또는 다른 사람이 복제 한 후 대상 파티션에 일부 할당되지 않은 공간으로 끝날 것입니다.
또한 당신이해야 있습니다 하지 단순히 (그 문제에 대해, 반대 또는 그)가 작은 드라이브의 MBR에 더 큰 드라이브의 MBR을 복사합니다. 크기가 512 바이트이고 하드 드라이브의 첫 번째 섹션 인 MBR에는 하드 드라이브 레이아웃에 대한 정보가 포함되어 있습니다.
- 446 바이트-부트 스트랩.
- 64 바이트-파티션 테이블.
- 2 바이트-서명.
(주의하십시오 446+64+2=512
.)
MBR 복제를 주장하는 경우 다음과 같이 처음 446 바이트 만 복제하십시오.
dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1
… 예를 들어, 소스 및 대상 하드 드라이브의 장치 이름을 바꾸 /dev/source
거나 /dev/target
씁니다 (예 : /dev/sda
및 /dev/sdb
). ( 자세한 내용은 여기를 참조하십시오. )
그러나 올바른 방법은 새 하드 드라이브에서 새로 설치 한 Grub 재설치 (또는 MBR에있는 모든 것)를 수행하는 것입니다.
요약하면, 더 큰 드라이브를 더 작은 드라이브로 복제하려면 다음과 같이 진행하십시오.
-
소스 드라이브에서와 같이 파티션이 많은 대상 드라이브에 파티션 테이블을 배치하십시오. 대상 드라이브의 파티션이 소스 드라이브의 해당 파티션보다 작을 수 있다는 점을 제외하고 소스 드라이브의 파티션과 대상 드라이브의 파티션간에 일대일 대응 관계가 있어야합니다.
fdisk
또는 같은 도구를 사용하십시오cfdisk
. -
소스 드라이브의 해당 파티션보다 작은 대상 드라이브의 각 파티션에 대해 대상 드라이브의 파티션 크기와 일치하도록 소스 드라이브의 해당 파티션 크기를 줄이십시오.
gparted
그 와 같은 도구를 사용하십시오 . -
소스 드라이브의 각 파티션에 대해 다음 명령을 실행하십시오
dd if=/dev/sdaX of=/dev/sdbY
…
/dev/sdaX
소스 드라이브/dev/sdbY
에서 대상 드라이브 의 해당 파티션 으로 파티션을 복제하려면 (물론 장치 이름을 적절히 바꾸십시오.) -
MBR 복제도 필요로하는
dd
경우이 게시물에서 추가로 작성된 두 가지 명령 (/tmp/mbr.bak
물건 과 함께 )을 사용하십시오. 그러나 깨끗한 Grub을 다시 설치하는 것이 좋습니다.
답변
Malte Skoruppa가 이미 게시 한대로 정확한 복제가 불가능합니다. 그러나 더 큰 디스크가 꽉 차지 않은 경우 clonezilla는이 작업을 수행 할 수 있습니다 (Malte는 이미 언급 함).
기본적으로 고급 옵션을 활성화하고 더 작은 디스크에 대한 경고 메시지를 “무시”해야합니다. 스크린 샷에 대한 자세한 내용 은 Clonezilla 문서 를 참조하십시오 . 160GB HDD의 백업을 64GB SSD로 복원 할 때도 같은 문제가있었습니다. 나를 위해 이것은 잘 작동했습니다.
원하는 결과가되어야하는 또 다른 솔루션은 동일한 크기의 디스크로 복원하고 새 파티션 스키마를 더 작은 디스크에 맞추기 위해 다시 파티션하는 것입니다. 이에 대한 자세한 내용 은 jsm-techblog.blogspot.de 를 참조하십시오 .
답변
Gparted 는 일을해야한다
-
gparted로 크기를 조정 한 후 드라이브에서 부팅하여 OS에서 Clonezilla로 이미징하기 전에 오류를 수정할 수있는 기회를 제공하십시오.
-
그런 다음 Clonezilla를 실행하고 필요한 하드 디스크 파티션의 사본을 만듭니다.
내가 찾은 또 다른 옵션 : MondoRescure
Mondo Rescue는 GPL 재해 복구 솔루션입니다.
백업 미디어, 다중 파일 시스템, LVM, 소프트웨어 및 하드웨어 RAID로 테이프, 디스크, 네트워크 및 CD / DVD를 지원합니다.
스크린 샷을 게시하겠습니다.
1 단계 백업 (그림 화면)
1. 지원되는 백업 미디어 유형 목록에서 선택하십시오.
2. CD / DVD- + R [W]로 백업하는 경우 Mondo는 CD 버너에 BurnProof 기술이 있는지, 랩탑 내부에 있는지, 아니면 편심인지 묻습니다. 테이프 스 트리머로 백업하는 경우이 메시지가 표시되지 않습니다
3. 얼마나 많은 압축을 원하십니까? 테이프 스 트리머에 내장 하드웨어 압축이있는 경우 없음 CPU가 엄청나게 빠른 경우 최대 값입니다. 대부분의 상황에서 평균은 잘 작동합니다.
4. 전체 컴퓨터 (/ sys, / run 및 / proc는 물론 / tmp 제외)를 백업하려면이 값을 기본값 인 /로 두십시오. 그렇지 않으면 각 경로 사이에 파이프를 배치하도록 하위 세트 (예 : / usr / local | / home)를 지정하십시오.
전체 컴퓨터를 백업하는 경우 / shared / MP3와 같은 특정 디렉토리를 제외 할 수 있습니다. ‘디렉토리 제외’대화 상자에서이를 지정하십시오. / shared / private | / scratch | / nfs | / windows와 같이 각 경로 사이에 파이프를 넣으십시오.
6. 커널이 제정신입니까? Red Hat, Mandrake, SuSE, Debian 및 Slackware 사용자는 일반적으로 신뢰할 수있는 커널을 생산하는 데 능숙하기 때문에 ‘예’라고 대답해야합니다. 젠투 또는 LFS를 사용하는 경우 커널이 표준이 아닐 수 있으며,이 경우 Mondo의 안전 장치 커널 (별도로 제공)을 사용하려면 ‘아니오’라고 말합니다.
7. 미디어에 기록한 후 아카이브를 확인하려면 여기에 ‘예’라고 말하십시오. 하드웨어와 Linux 배포판을 절대적으로 믿는다면 ‘아니요’라고 말하고 약간의기도를하십시오.
8. 계속 진행하고 싶다면“예 ”라고 말하고 Mondo가 컴퓨터를 백업하는 동안 다른 조치를 찾으십시오. ‘아니오’라고 말하면 쉘 프롬프트에 실수로 덤프됩니다. 🙂
9. 백업 프로세스가 시작됩니다. 사전 백업 작업을 먼저 수행해야하지만 백업은 기본적으로 진행 중입니다. 백업 프로세스를 단순화하기 위해 일련의 질문을 받았습니다. 다음에 원하는 경우 일련의 질문에 대답하는 대신 다양한 명령 줄 스위치로 mondoarchive를 호출하여 동작을 제어 할 수 있습니다. 자세한 내용은 매뉴얼 페이지를 참조하십시오.
10.Mondo는 백업 할 모든 파일의 카탈로그를 만듭니다. 최대 5 분이 소요될 수 있습니다. 파일 목록은 세트당 약 4MB (압축 전)의 파일 세트로 나뉩니다. 일반적으로 1 분이 걸립니다.
11. 몬도는 민디를 부른다. Mindi는 기존 Linux 배포 및 파일 시스템을 기반으로 부트 가능한 미디어 이미지 및 보조 데이터 디스크 이미지를 생성합니다. 이렇게하면 Mondo 도구가 기존 파일 시스템 및 바이너리와 호환 될 수 있습니다. Mondo 도구는 도구입니다. Mindi를 실행하는 데 최대 5 분이 걸립니다.
12. 마지막으로 Mondo는 컴퓨터 백업을 시작합니다. 이 프로세스는 보관하는 데이터의 양, CPU 속도, RAM 용량 등에 따라 몇 분 또는 몇 시간이 걸릴 수 있습니다. 일반 파일과 큰 파일 (약 32MB보다 큰 파일)을 백업합니다. 백업 확인을 선택한 경우 Mondo도 백업을 수행합니다.
2 단계 복원 (화살표)
1. 백업 미디어 유형을 선택하십시오. 실시간 복원 프로세스는 Mondo 미디어에서 부팅 한 후 매개 변수없이 mondorestore를 입력하면 경험할 수있는 것과 매우 유사합니다.
2. 테이프 / CD를 넣었을 때 ‘확인’을 누르십시오. 테이프 백업을 생성 한 경우 테이프 자체이면 충분합니다. CD 백업을 생성 한 경우 첫 번째 CD이면 충분합니다. 그렇지 않으면 부트 미디어가 필요할 수 있습니다.
3. 복원하려는 파일 및 디렉토리를 플래그 지정하십시오. 하위 디렉토리를 열고 닫으려면 ‘More’및 ‘Less’단추를 사용하십시오.
4. 파일을 복원 할 위치를 지정하십시오. 일반적으로 ‘/’가 적합합니다. 복원중인 최신 버전의 파일을 겹쳐 쓰지 않으려면 / tmp / BKP 또는 복원 경로와 유사한 것을 지정하십시오.
5. Mondorestore는 미디어에서 구성 정보를 검색합니다. (샘플 화면은 테이프 사용자 용입니다. CD 사용자에게는 다른 내용이 표시됩니다.)
6. 데이터가 하드 디스크에 복원됩니다. 먼저 일반 파일과 복원 세트의 큰 파일 (32MB 이상)이 필요합니다.
답변
더 큰 하드 드라이브를 더 작은 하드 드라이브로 “의사 복제”하려면 Clonezilla를 사용하면됩니다. 효과적으로 디스크 파티션을 저장하고 복원 할 수 있습니다. 다음 단계 (HDD에서 SSD로 전송을 위해 개발 됨)가 나타납니다.
-
첫 번째 요령은 Gparted를 사용하여 하드 드라이브의 파티션 크기를 조정하여 각 파티션을 축소하여 사용하지 않는 공간의 양을 줄입니다. 분명히 모든 파티션에 필요한 총 공간이 SSD 용량보다 작도록 파티션 크기를 조정해야합니다.
-
그런 다음 Clonezilla를 실행하고 개별 하드 디스크 파티션 (Saveparts 옵션 사용)을 복사하여 외부 USB 드라이브에 임시 저장합니다. 전체 디스크 (Savedisk)의 이미지를 만드는 대신 파티션 (Saveparts)을 저장해야합니다.
- 대상 컴퓨터에 SSD를 설치 한 경우 두 번째 방법은 파티션 관리자를 한 번 더 사용하여 SSD에 원하는 파티션 구조를 만드는 것입니다.
- 그런 다음 Clonezilla는 복원 파티션을 사용하여 저장된 파티션을 SSD에 복원하는 데 사용됩니다.
프로세스에 대한 자세한 내용과 참조 소스에 대한 여러 링크를 보려면 하드 드라이브를 더 작은 SSD 로 “복제” 하십시오 .
답변
위의 대부분의 예는 실제로 원래 드라이브의 크기를 조정하는 것을 제안하는 것으로 보이므로 실제로 사본을 만들기 전에 데이터를 수정하여 데이터를 위험에 빠뜨릴 수 있습니다.
내가 사용하는 매우 수동적이지만 덜 위험한 다른 방법이 있습니다. 무언가 실패하여 넘어지고 싶을 경우를 대비하여 소스 드라이브를 그대로 유지합니다.
또한 복제 / 크기 조정을 사용하면 디스크 스왑을 수행하는 동안 새 드라이브로 이동하는 동안 최신 파일 시스템으로 전환 할 수 없습니다. 아래 절차에 따라 대상 드라이브에 원하는 파일 시스템 만 작성하면됩니다.
원본 드라이브와 함께 새 대상 드라이브를 컴퓨터에 설치하십시오.
- 우분투 라이브 CD에서 컴퓨터를 부팅합니다.
- 대상 드라이브에서. gparted create 사용 : ext4 (또는 전환하기로 결정한 새로운 빠른 파일 시스템) (볼륨 및 스왑 볼륨 및 스왑-파일 시스템
- gparted에서 새 볼륨에 bootflag를 설정하십시오.
내 예제에서 소스 (원래 드라이브)는 / dev / sda이고 대상 (새 작은 드라이브)은 / dev / sdb입니다. 설정에 따라 다를 수 있습니다
/ mnt / source에서 src를 읽기 전용으로 마운트
- mkdir / mnt / source; mount -o ro / dev / sda / mnt / souce
/ mnt / destination 아래에 대상 드라이브를 마운트
- 마운트 / dev / sdb1 / mnt / destination /
다음을 사용하여 src 파일 시스템을 대상 파일 시스템으로 복사하십시오.
- rsync -log /mnt/destination/rsync-copy.log –progress -avr –exclude = / mnt / source / dev / -A -H -X –numeric-ids / mnt / source / * / mnt / destination /
ubuntu는 장치 이름 대신 uuid를 사용하여 새 디스크가 있으므로 드라이브를 찾아 마운트합니다. 대상 fstab을 변경하여 새 드라이브 uuid를 사용하여 디스크를 마운트하려고합니다
-
ls -la / dev / disk / by-uuid
이제 / uunt / destination / etc / fstab에서 uuid를 변경하고 스왑하십시오. 원래 드라이브와 다른 것으로 변경하기로 결정한 경우 마운트 지점의 파일 시스템을 변경하는 것을 잊지 마십시오
grub이 동일한 버전이어야한다는 것이 중요한 경우, 원래 디스크를 다시 부팅하고 아래 명령을 실행하여 새 드라이브에 grub을 설치하십시오.
- grub-install / dev / dev / sdb
이제 컴퓨터에서 소스 드라이브를 제거하고 대상 드라이브를 부팅하십시오. grub은 완전히 부팅되지 않고 grub 복구 셸에서 복구 셸로 종료됩니다.
필요한 GRUB 모듈을로드하는 방법-insmod ext2-insmod linux에 디스크 장치가 나열 됨-LS
적절한 장치를 선택하십시오 (예에서는 hd0, msdos1입니다)
- root = (hd0, msdos1) 설정
vmlinuz-xxx 및 initrd-xxx의 정확한 이름을 찾아 grub을 사용하도록 구성하십시오.
-
ls / boot /
위의 ls에서 얻은 vmlinuz 및 initrd의 올바른 이름을보고 사용하고 아래에서 사용하는 예제 버전 대신 사용하십시오.
-
리눅스 /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda 단일
/ dev / sda가 장치 인 경우 다음에 dst 디스크만으로 시스템을 재부팅 할 때 드라이브는 rootfs 디스크가됩니다.
-
initrd /boot/initd.img-2.6.32-5-amd64
- 신병
이것은 컴퓨터를 성공적으로 부팅 했어야합니다. 마지막으로 새 디스크 uuid를 사용하도록 grub을 업데이트하면 매번이 수동 절차를 반복 할 필요가 없습니다.
- 업데이트-그럽
답변
Clonezilla 및 GParted를 사용하여 데이터를 더 작은 드라이브로 전송할 수 있습니다 .
GParted Live CD를 사용하면 새로운 드라이브에 맞도록 파티션을 축소 할 수 있습니다. 빈 (회색) 공간이 드라이브의 끝 / 오른쪽에 오도록 파티션을 이동하십시오. 첫 번째 파티션 전에 빈 공간이 이미 있으면 부팅 또는 기타 숨겨진 정보가 포함될 수 있으므로 해당 공간을 비워 두십시오.
Clonezilla를 사용하여 device-device
복제하십시오. 고급 옵션을 선택하고 -icds
디스크 크기 검사를 건너 뛰는 옵션을 활성화하십시오 . 복제를 진행하고 이전 드라이브를 제거한 다음 새 드라이브에서 부팅을 시도하십시오. -fsck-src-part
오류가 발생하면 소스 디스크의 오류를 복구하는 데 도움이 되는 옵션을 시도하십시오 .
로부터 Clonezilla 워드 프로세서 :
이미지의 모든 데이터가 더 작은 디스크에 맞을 수 있다고 확신하는 경우 (즉, 잘못된 디스크 공간에 기록되지 않는 경우) “-icds”옵션을 확인할 수 있습니다. 이 옵션을 선택하려면 수행중인 작업을 알아야합니다.
내가 읽은 한 가지 FAQ 는 Clonezilla와 함께 옵션 -icds
과 -k1
옵션을 모두 사용하는 것이 좋지만 나에게 도움이되지 않았습니다. 다른 사람들은 GParted를 사용하여 파티션을 복사 할 수 있지만 모든 파티션 유형을 복사 할 수는 없으며 해당 방법을 사용한 후 시스템을 부팅 할 수 없었습니다. 파티션 사이에 숨겨진 정보가 복사되지 않았기 때문일 수 있습니다.
답변
질문에 대한 정답이 아닐 수도 있지만 비슷한 문제를 해결 하려고이 페이지에 도착합니다.
나는 오래된 256Mb 컴팩트 플래시 카드를 버스트 된 32Mb 카드로 복제하고 싶었습니다. 플래시 카드에는 작은 스프링 코일을 제조하는 작은 Linux 어플라이언스가 포함되어 있습니다.
이 방법으로 해결 :
(물론 256Mb에 사용 된 유효 공간은 <32Mb 였으므로 잘 맞습니다)
-
‘dd’로 256Mb 플래시 카드의 이미지를 만듭니다 (즉, 카드가 / dev / sdb에 마운트되어 있다고 가정).
dd if=/dev/sdb of=image256.iso
-
unetbootin 을 사용 하여 ‘image256.iso’ISO (Diskimage 옵션)를 읽으십시오.
-
32Mb 카드가있는 USB 드라이브를 선택하고 32Mb 카드에 이미지를 덤프하십시오.
32Mb 카드가 내 컴퓨터를 다시 성공적으로 시작했습니다.
HTH