더 작은 하드 디스크로 복제하는 방법?


42

작은 크기의 하드 디스크로 복제하는 방법

  1. Clonezilla는 훌륭하지만 그러한 기능을 지원하지 않습니다.
  2. 또한 ddPartImage는이 요구를 지원하지 않습니다.
  3. rsync MBR은 파일이 아니므로 MBR을 복사하지 않습니다.

백업을하지 않으려면 HDD를 복제해야하므로 rsync적절한 대답이 아닙니다.

어떤 제안?


2
단 하나의 질문, 왜 클론이어야합니까? UUID 용인 경우 dd 복사를 수행하기 전에 파일 시스템을 축소 하시겠습니까? 축소가 마음에 들지 않으면 resize2fs를 실행하여 파일 시스템을 대상 디스크보다 작은 위치로 가져온 다음 dd 복사하십시오. 다른 쪽에서 resize2fs를 다시 실행하여 새 디스크를 확장하고 채 웁니다.
darkdragn

답변:


36

공간이 충분하지 않기 때문에 더 큰 파티션을 더 작은 파티션 (사용 등)으로 복제 할 수 없습니다 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에있는 모든 것)를 수행하는 것입니다.

요약하면, 더 큰 드라이브를 더 작은 드라이브로 복제하려면 다음과 같이 진행하십시오.

  1. 소스 드라이브에서와 같이 파티션이 많은 대상 드라이브에 파티션 테이블을 배치하십시오. 대상 드라이브의 파티션이 소스 드라이브의 해당 파티션보다 작을 수 있다는 점을 제외하고 소스 드라이브의 파티션과 대상 드라이브의 파티션간에 일대일 대응 관계가 있어야합니다. fdisk또는 같은 도구를 사용하십시오 cfdisk.

  2. 소스 드라이브의 해당 파티션보다 작은 대상 드라이브의 각 파티션에 대해 대상 드라이브의 파티션 크기와 일치하도록 소스 드라이브의 해당 파티션 크기를 줄이십시오. gparted그 와 같은 도구를 사용하십시오 .

  3. 소스 드라이브의 각 파티션에 대해 다음 명령을 실행하십시오

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... /dev/sdaX소스 드라이브 /dev/sdbY에서 대상 드라이브 의 해당 파티션 으로 파티션을 복제하려면 (물론 장치 이름을 적절히 바꾸십시오.)

  4. MBR 복제도 필요로하는 dd경우이 게시물에서 추가로 작성된 두 가지 명령 ( /tmp/mbr.bak물건 과 함께 )을 사용하십시오. 그러나 깨끗한 Grub을 다시 설치하는 것이 좋습니다.


2
MBR은 파일이 아니기 때문에 rsync는 MBR을 복사하지 않으므로 rsync는 복제 용이 아닙니다. 백업을하지 않고 하드 디스크를 복제해야합니다.)
Maythux

2
그렇습니다 rsync. 복제는 아닙니다. 그것이 바로 내가 말한 내용입니다. 내 게시물을주의 깊게 읽으십시오. ;) MBR뿐만 아니라 모든 파티션을 복제하는 방법을 설명하기 위해 게시물을 편집했습니다. 잘하면 이것은 당신이 원하는 것에 더 가깝습니다.
Malte Skoruppa

1
누군가는 어떻게 Grub을 새로 설치합니까?
Ken Sharp

1
@KenSharp 여기를 참조하십시오 (예 : help.ubuntu.com/community/Grub2/ 설치
Malte Skoruppa

1
@gerrit 1 단계에 parted/ gparted를 사용하는 것은 완벽합니다. 종종 그렇듯이 목표를 달성하는 방법은 여러 가지가 있습니다. fdisk/ cfdisk는 "기본"도구이며 위의 설명에서 단순히 작업을 수행하는 가장 기본적인 도구를 참조하려고했습니다.
Malte Skoruppa

14

Malte Skoruppa가 이미 게시 한대로 정확한 복제가 불가능합니다. 그러나 더 큰 디스크가 꽉 차지 않은 경우 clonezilla는이 작업을 수행 할 수 있습니다 (Malte는 이미 언급 함).

기본적으로 고급 옵션을 활성화하고 더 작은 디스크에 대한 경고 메시지를 "무시"해야합니다. 스크린 샷에 대한 자세한 내용 은 Clonezilla 문서 를 참조하십시오 . 160GB HDD의 백업을 64GB SSD로 복원 할 때도 같은 문제가있었습니다. 나를 위해 이것은 잘 작동했습니다.

원하는 결과가되어야하는 또 다른 솔루션은 동일한 크기의 디스크로 복원하고 새 파티션 스키마를 더 작은 디스크에 맞추기 위해 다시 파티션하는 것입니다. 이에 대한 자세한 내용 은 jsm-techblog.blogspot.de 를 참조하십시오 .


@DennisNolte Clonezilla에서 어떤 고급 옵션을 활성화해야합니까? 문서 읽기 -k1대상 디스크에서 파티션 테이블을 비례 적으로 생성하고 파티션 -r의 파일 파일 시스템 크기를 자동으로 조정하는 옵션 을 설정합니다. 이 올바른지?
프로 백업

나는 더 이상 100 % 확신하지 못하지만, 똑같은 일을 다시하면 내가 시도하는 옵션이 될 것입니다. 그러나 제대로 작동 할 때까지 2 ~ 3 번의 시도가 필요했으며 슬프게도 고급 옵션을 사용하는 것 외에 어떤 단계를 수행했는지 기억하지 못했습니다.
Dennis Nolte

k1옵션을 사용 하여이 작업을 수행 할 수 없었지만 옵션 이 저에게 효과적 -icds이었습니다. 자세한 내용으로 답변을 게시하겠습니다.
bbodenmiller

askubuntu.com/a/504778/310789 에서 어떻게 작동하는지에 대한 세부 정보를 추가 했습니다 .
bbodenmiller

Clonezilla는 디스크 간 복사를 통해이 작업을 수행 할 수 있지만 전문가 모드 (-icds 매개 변수)에서만 가능합니다. @ProBackup은 -k1 사용을 알고 있습니다. 제 경우에는 segfault (Clonezilla Live 20160627)를 생성합니다. 대신, 복제 전과 후에 Gparted를 사용하여 필요한만큼 할당되지 않은 공간을 남겨두고 회수 한 다음 디스크 공간 검사 (-icds)를 건너 뛰어 복제하십시오. 여기에 작은 디스크로 복제 하는 단계를 나열했습니다 (Linux 만있는 경우 MBR에 대한 Win7 부분 생략).
chirale

7

Gparted 는 일을해야한다

  1. gparted로 크기를 조정 한 후 드라이브에서 부팅하여 OS에서 Clonezilla로 이미징하기 전에 오류를 수정할 수있는 기회를 제공하십시오.

  2. 그런 다음 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 이상)이 필요합니다.

여기에 이미지 설명을 입력하십시오


흥미로운 것 같습니다. 시도해보고 결과를 다시 보내 드리겠습니다
Maythux

결과에 대한 @Maythux 피드백?
Highmastdon 2016 년

먼저 모든 것을 디스크에 굽어 야합니까?
Ken Sharp

바로 들어가서 몬도를 작동시키기 위해 노력하고 싶은 사람들은 MondoRescue에서 최신 버전의 lib-projectbuilder-perl, libmondorescue-perl, mindi-busybox, mindi 및 mondo를 다운로드하여 설치해야합니다 불만족스러운 종속성을 피하기 위해 위의 링크를 순서대로 설치하십시오. 사용 가능한 .deb 패키지가 있으므로 원치 않는 경우 소스에서 모두 컴파일 할 필요는 없습니다.
Geek

현재 버전에는 여기에 나열된 버전 (1.5)의 UI가없는 것으로 보이며 마음 챙김 테스트가 부팅되지 않았습니다.
Geek

4

더 큰 하드 드라이브를 더 작은 하드 드라이브로 "의사 복제"하려면 Clonezilla를 사용하면됩니다. 효과적으로 디스크 파티션을 저장하고 복원 할 수 있습니다. 다음 단계 (HDD에서 SSD로 전송을 위해 개발 됨)가 나타납니다.

  1. 첫 번째 요령은 Gparted를 사용하여 하드 드라이브의 파티션 크기를 조정하여 각 파티션을 축소하여 사용하지 않는 공간의 양을 줄입니다. 분명히 모든 파티션에 필요한 총 공간이 SSD 용량보다 작도록 파티션 크기를 조정해야합니다.

  2. 그런 다음 Clonezilla를 실행하고 개별 하드 디스크 파티션 (Saveparts 옵션 사용)을 복사하여 외부 USB 드라이브에 임시 저장합니다. 전체 디스크 (Savedisk)의 이미지를 만드는 대신 파티션 (Saveparts)을 저장해야합니다.

  3. 대상 컴퓨터에 SSD를 설치 한 경우 두 번째 방법은 파티션 관리자를 한 번 더 사용하여 SSD에 원하는 파티션 구조를 만드는 것입니다.
  4. 그런 다음 Clonezilla는 복원 파티션을 사용하여 저장된 파티션을 SSD에 복원하는 데 사용됩니다.

프로세스에 대한 자세한 내용과 참조 소스에 대한 여러 링크를 보려면 하드 드라이브를 더 작은 SSD"복제" 하십시오 .


3

위의 대부분의 예는 실제로 원래 드라이브의 크기를 조정하는 것을 제안하는 것으로 보이므로 실제로 사본을 만들기 전에 데이터를 수정하여 데이터를 위험에 빠뜨릴 수 있습니다.

내가 사용하는 매우 수동적이지만 덜 위험한 다른 방법이 있습니다. 무언가 실패하여 넘어지고 싶을 경우를 대비하여 소스 드라이브를 그대로 유지합니다.

또한 복제 / 크기 조정을 사용하면 디스크 스왑을 수행하는 동안 새 드라이브로 이동하는 동안 최신 파일 시스템으로 전환 할 수 없습니다. 아래 절차에 따라 대상 드라이브에 원하는 파일 시스템 만 작성하면됩니다.

원본 드라이브와 함께 새 대상 드라이브를 컴퓨터에 설치하십시오.

  • 우분투 라이브 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을 업데이트하면 매번이 수동 절차를 반복 할 필요가 없습니다.

  • 업데이트-그럽

3

ClonezillaGParted를 사용하여 데이터를 더 작은 드라이브로 전송할 수 있습니다 .

GParted Live CD를 사용하면 새로운 드라이브에 맞도록 파티션을 축소 할 수 있습니다. 빈 (회색) 공간이 드라이브의 끝 / 오른쪽에 오도록 파티션을 이동하십시오. 첫 번째 파티션 전에 빈 공간이 이미 있으면 부팅 또는 기타 숨겨진 정보가 포함될 수 있으므로 해당 공간을 비워 두십시오.

Clonezilla를 사용하여 device-device복제하십시오. 고급 옵션을 선택하고 -icds디스크 크기 검사를 건너 뛰는 옵션을 활성화하십시오 . 복제를 진행하고 이전 드라이브를 제거한 다음 새 드라이브에서 부팅을 시도하십시오. -fsck-src-part오류가 발생하면 소스 디스크의 오류를 복구하는 데 도움이 되는 옵션을 시도하십시오 .

로부터 Clonezilla 워드 프로세서 :

이미지의 모든 데이터가 더 작은 디스크에 맞을 수 있다고 확신하는 경우 (즉, 잘못된 디스크 공간에 기록되지 않는 경우) "-icds"옵션을 확인할 수 있습니다. 이 옵션을 선택하려면 수행중인 작업을 알아야합니다.

내가 읽은 한 가지 FAQ 는 Clonezilla와 함께 옵션 -icds-k1옵션을 모두 사용하는 것이 좋지만 나에게 도움이되지 않았습니다. 다른 사람들은 GParted를 사용하여 파티션을 복사 할 수 있지만 모든 파티션 유형을 복사 할 수는 없으며 해당 방법을 사용한 후 시스템을 부팅 할 수 없었습니다. 파티션 사이에 숨겨진 정보가 복사되지 않았기 때문일 수 있습니다.


1

질문에 대한 정답이 아닐 수도 있지만 비슷한 문제를 해결 하려고이 페이지에 도착합니다.

나는 오래된 256Mb 컴팩트 플래시 카드를 버스트 된 32Mb 카드로 복제하고 싶었습니다. 플래시 카드에는 작은 스프링 코일을 제조하는 작은 Linux 어플라이언스가 포함되어 있습니다.

이 방법으로 해결 :

(물론 256Mb에 사용 된 유효 공간은 <32Mb 였으므로 잘 맞습니다)

  1. 'dd'로 256Mb 플래시 카드의 이미지를 만듭니다 (즉, 카드가 / dev / sdb에 마운트되어 있다고 가정).

    dd if=/dev/sdb of=image256.iso
  2. unetbootin 을 사용 하여 'image256.iso'ISO (Diskimage 옵션)를 읽으십시오.

  3. 32Mb 카드가있는 USB 드라이브를 선택하고 32Mb 카드에 이미지를 덤프하십시오.

32Mb 카드가 내 컴퓨터를 다시 성공적으로 시작했습니다.

HTH


0

두 단계로 먼저 시스템 복제본을 희소 이미지로 만들려고 시도 할 수 있습니다 (더 많은 항목을 추가하면 이미지가 커짐) 이제이 이미지에서 두 번째 작은 디스크로 복원하십시오.


0

라이브 CD를 사용하면 큰 디스크에서 마지막 파티션 (/ dev / sdc3 등)의 lvm (있는 경우)보다 파일 시스템 (resize2fs)을 축소하여 작은 디스크에 맞출 수 있습니다.

fdisk를 사용하면 작은 파티션으로 마지막 파티션 (/ dev / sda3)을 삭제하고 다시 만들 수 있으므로 큰 디스크의 마지막 섹터는 작은 디스크의 마지막 섹터와 동일한 값을 갖습니다.

공간이 부족해질 때까지 # dd if = big of = small bs = 10M보다하세요.

하나의 잘못된 값으로 인해 데이터 손실이 발생할 수 있으므로 축소하는 동안 추가주의가 필요합니다.


0

GParted를 사용하여 더 큰 디스크에서 파일 시스템을 축소 한 후 미러링 모드에서 두 개의 디스크를 RAID 케이스에 넣었습니다. 여기서 큰 디스크는 소스이고 작은 디스크는 대상입니다. 복제를 시작하기 위해 케이스 내부의 재설정 버튼을 클릭해야했습니다 (예 : Raid 1을 Raid 0으로 변경하지 마십시오). 완벽하게 일했습니다! :) GW3.5AX2-SU3 / MB Raid 케이스를 사용했습니다.


0

250GB (sda)의 부팅 디스크를 120gb (sdc) 디스크로 축소 한 경험을 게시했습니다.

sda는 2 개의 파티션을 포함합니다 :

  • sda1-> / boot (ext3)
  • sda2-> lvm2 : / (245gb) 및 스왑 (5gb)

그래서 나는 :

  • dd sda mbr받는-사람 sdc
  • fdisk sdc 및 변경 사항을 작성하여 sdc에 구조를 작성합니다.
  • dd sda1에서 sdc1

내 gpart가 lvm과 작동하지 않습니다.

복구 디스크에서 :

  • 첫 번째 Umount VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK (사용 된 공간보다 1GB가 더 큼)
  • lvreduce -L xxxxxxxxxK VG / LV00 (FS 공간보다 1GB 더 많이 제공)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (나는 ​​LV 공간보다 1 기가 더 큽니다) (여기에 오류가 있습니다 ... 그래서 :

    • pvs -v --segments / dev / sda2 (세그먼트를 보려면)
      • pvmove --alwhere / dev / sda2 : segment_min-segment_max (디스크의 "오른쪽"에서 본 세그먼트에서)

그러나 FS-LV-VG 만 축소하기 때문에 여전히 파티션이 컸습니다.

fdisk로 파티션을 다시 만듭니다.

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

그런 다음 다음에 다시 부팅 할 때까지 이전 파티션 테이블을 사용하라는 메시지가 표시됩니다. 그러나 나는 재부팅하고 이미지를하는 것을 잊었다.

dd if = / dev / sda2 of = / dev / sdc2 bs = 4096 (이 시점에서 파티션 테이블이 새로운 sda2의 끝을 반영하지 않기 때문에 무언가 잘못되었다고 생각하고 sdc로 부팅 할 수 없음)

그러나 모두 정상이었고 재부팅 후에도 시스템 은 부팅 할 sdc 파티션을 선택합니다 (중복 PV, LV 및 / boot에 대해 불평합니다)

나는 운이 좋은지 또는 불필요한 단계를 수행하는지 모르겠습니다 ... 모든 의견을 부탁드립니다.


이것이 답변입니까, 질문입니까?
세스

내가 추측하는 두 가지 ...
oso_togari

0

면책 조항 : 나는 WereSync의 최초 저자입니다

이것은 WereSync를 사용하여 가능합니다 . WereSync는 Malte의 일반적인 답변 프로세스를 따르지만 여러 명령이 아닌 하나의 명령 만 필요합니다. 또한 클론을 백업으로 사용하는 경우 백엔드에서 rsync를 사용하므로 백업을 증분 업데이트 할 수 있습니다.

WereSync를 설치하려면 pip를 사용하십시오.

pip install weresync

거기에서 간단히 WereSync 명령을 사용할 수 있습니다

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

위 명령은 / dev / sda에서 / dev / sdb로 데이터를 복사합니다. -C두 개의 드라이브에 파티션이 해당하는 경우 플래그 표시는 WereSync 확인해야하고, 그렇지 않은 경우 WereSync이는 / dev / sda를에는 / dev / SDB에서 파티션을 복사해야하고 그들이 맞게 있도록 그 크기를 조정합니다. 새 파티션의 UUID가 다릅니다. 파티션이 유효한지 테스트하는 데 사용되는 시스템은 까다로울 수 있으므로 첫 번째 백업 후에는이 플래그를 생략하는 것이 좋습니다.

-g-E명령은 생략 할 수 있지만, 부트 로더 설치가 거의 확실하게 그 경우에 실패합니다.

-g "그럽 파티션"또는 파티션 그럽이 설치되어 있어야합니다. 일반적으로 이것은 /에 마운트 된 파티션입니다. 따라서 / dev / sda2가 /에 마운트되어 있으면 -g 2위의 예와 같이 WereSync에 전달 됩니다. 이것이 생략되면 WereSync는 자체적으로 적절한 파티션을 시도하고 발견하지만 오류가 발생하기 쉽습니다. 플래그를 전달하는 것이 좋습니다.

-EEFI 파티션을 나타냅니다. EFI 파티션이 / dev / sda1에 -E 1있는 경우 위 명령에서와 같이 WereSync에 전달 하십시오.

/ boot 폴더에 대한 별도의 파티션이있는 경우 WereSync에 알려야합니다. / dev / sda3에있는 경우 -B 3WereSync 로 전달 하십시오.

이 명령의 가능한 플래그에 대한 자세한 내용은 WereSync 명령 설명서를 참조하십시오 .


livecd를 추가 할 수 있습니까?
Tal

0

이 문제가 발생하여 재부팅 후 1607의 Win 10 업데이트가 중단됩니다. NVMe (Samsung 950 Pro)가 인식되지 않아 NVMe를 다른 (더 큰) 내부 드라이브 (내 경우 "Toshiba")로 복제했습니다. , Win 10을 업데이트하고 시스템을 NVMe로 다시 복원했습니다.

이를 수행하기 위해 수행해야 할 단계는 다음과 같습니다 (복원 부분이 -icds작동하지 않음).

도구 :

  • Windows 10 1607 DVD (현재 OS에 따라 비트 심도 및 언어)
  • 클론 질라 라이브 DVD ( 2.4.5 + )
  • 또는 BIOS에서 UEFI 세트로 ​​부팅 할 수 있으므로 Clonezilla Live DVD ( 20160203-xenial + )
  • (선택 사항) GParted Live DVD ( 0.27.0-1 )

예비:

  1. CD / DVD에 모든 도구 굽기
  2. Clonezilla를 실행하고 NVMe를 이미지로 복제 (드라이브-이미지) (예 : 외부 드라이브)

노트 :

안정 브랜치에서 Clonzila를 사용한 경우 CD에서 부팅하려면 BIOS에서 레거시 부팅 모드로 전환해야합니다. 그렇지 않으면 대체 브랜치에서 다운로드를 사용하는 경우 UEFI 부팅을 지원해야합니다.

기권:

자신의 책임에 따라 가이드를 따르십시오. 여기에서 단계와 명령을 확인하고 다시 확인하지만 오타로 인해 데이터가 손실되거나 하드웨어 오류가 발생할 수 있으므로 먼저 수행중인 작업을 배우고 올바른 단계를 향한 힌트로 이러한 단계를 수행하십시오.

절차:

  1. Clonezilla를 실행하고 NVMe를 Toshiba에 복제 (드라이브 구동) (내 경우에는 사전에 정리 / 백업 한 다른 내부 드라이브)
  2. 첫 번째로 NVMe가 여전히 Windows 부팅 정보를 가지고있는 Windows에서 약간의 충돌이 있다고 생각합니다. 이번에는 Toshiba에 대한 초기 복제 직후 (따라서 UEFI 부팅으로 전환하기 전에) NVMe 드라이브의 모든 파티션을 삭제했습니다.

    ~ 삭제는 다음을 사용하여 Clonezilla 쉘에서 쉽게 수행됩니다.

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    ~ 또는 GParted로 부팅하여 시각적으로 수행

  3. (BIOS에서 UEFI 부팅으로 전환)

  4. 부팅 (도시바가 사용됩니다)
  5. Win 10 1607 install DVD를 실행하고 설치를 선택하고 업데이트 다운로드를 확인한 다음 앱 및 데이터 유지를 선택하십시오. 도시바를 최신 버전의 Win 10으로 업그레이드해야합니다.
  6. (Clonezilla를 통해) Toshiba를 이미지로 백업하는 경우를 대비하여 (BIOS에서 레거시 부팅으로 전환)
  7. MBR을 복사해도 아무런 효과가 없었으므로이 이야기에서 GPT가 중요하므로 (Clonezilla) 셸에 들어가서 Toshiba에서 NVMe로 GPT를 복사하십시오.

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    ( 설명 )

  8. Clonezila (전문가 스위치 -icds를 사용하더라도)는 파티션 복원을 거부하기 때문에 다시 쉘에 들어가서 다음을 수행하십시오.

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    ( 더 많은 정보 )

  9. Tosiba MBR 및 GPT를 백업하십시오.

    sgdisk --backup=sda.gpt /dev/sda
    
  10. 백업을 안전한 장소에 복사합니다 (6 단계에서 수행 한 전체 드라이브 이미지가 아니라 복원 할 수 있음)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. 도시바 파티션 정보를 지우면 Windows와 충돌하지 않습니다.

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (BIOS에서 UEFI 부팅으로 전환) Windows 10 (1607) DVD에서 부팅하고 복구> 문제 해결> 명령 프롬프트를 선택하고 다음을 모두 실행하십시오.

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    ( 더 많은 정보 )

  13. NVMe 디스크에서 Windows 1607로 재부팅

  14. 승리!
  15. (디스크 관리에서 Toshiba를 다시 초기화하십시오)
  16. (선택 사항) 업데이트 된 NVMe 디스크 백업 (Clonezilla를 사용하여 이미지에 복제)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.