전체 우분투 시스템을 다른 하드 디스크로 어떻게 이동 (복사)합니까?


57

우분투를 설치 한 HDD가 고장납니다. 차라리 3 년 분량의 데이터, 사용자 지정 및 앱을 잃지 않을 것입니다. 전체 시스템 (SWAP 포함, 시스템을 새 SWAP 파티션에 다시 연결할 수 있는지 확실하지 않기 때문에)을 다른 HDD로 옮기는 방법을 찾고 있습니다. 그러나 완전한 HDD가 아닌 다른 HDD의 파티션으로 Ubuntu를 포함하는 파티션 만. 기본적으로 Windows 설치를 위해 Norton Ghost로 할 수 있었던 작업을 수행하고 싶습니다. Clonezilla 사용에 대해 생각했지만 GRUB에 문제가 있다고 생각합니다 (특히 conf 파일에있는 것과 다른 UUID에서 부팅하려고 시도합니다). 이 방법을 알고 있습니까?

추신 : 내 홈 디렉토리는 암호화되어 있지만 그 문제를 해결할 수 있기 때문에 실제로는 문제가되지 않습니다.

편집 : 설명을 명확하게 변경했습니다.

답변:


30

실제로 Live CD에서 Gparted를 사용했습니다. 파티션을 복사하여 다른 HDD의 할당되지 않은 공간에 붙여 넣었습니다. 그런 다음 blkid를 사용하여 UUID를 확인하고 fstab 파일을 편집했습니다. 매력처럼 일했다!


5
어떤 이유로 든 동일한 시스템 내에서 파티션을 이동하는 경우 (예 : 더 많은 공간이 필요한 경우) fstab을 변경하기 전에 새 파티션의 UUID를 변경해야합니다 . 원래 파티션과 동일한 UUID를 갖기 때문입니다 ( askubuntu 참조) . com / questions / 109938 / change-hdds-uuid )
Greg Kramida 2016 년

이것이 리눅스를 좋아하기 때문입니다.
deFreitas

이전 부팅 드라이브를 새 부팅 드라이브로 교체하는 경우 grub도 설치해야합니다. 새 드라이브를 추가하거나 데이터 드라이브를 교체하는 경우에는이 작업을 수행 할 필요가 없습니다.
David C.

9

글쎄, 방금 USB 스틱 + 우분투 라이브를 사용했습니다.

나는 우분투 13.10을 더 큰 hdd에서 더 작은 ssd로 옮기고 있었고, clonezilla는 대상 파티션이 소스 파티션보다 작기 때문에 이런 식으로 할 수 없다고 말했다.

그래서 우분투 라이브를 시작하고 두 하드 디스크를 마운트했습니다 (새 디스크는 물론 이전에 파티션되었으며 스왑을 잊지 마십시오).

cd /media/ubuntu/old-hdd-uuid/

그때:

sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/

위의 내용은 모든 디렉토리를 한 hdd에서 다른 hdd로 복사하는 것을 볼 수 있습니다. 모든 권한과 내용이 그대로 유지됩니다.

cd /media/ubuntu/new-hdd-uuid/

그런 다음 새 디스크의 루트 디렉토리에 두 개의 심볼릭 링크를 만들어야했습니다.

sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz
sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img

다음 단계는 grub을 설치하는 것입니다.

sudo grub-install --boot-directory=boot/ /dev/sdxy

여기서 x-장치, y-파티션 번호 (확실하지 않은 경우 cfdisk 또는 fdisk를 사용하여 파티션 테이블 인쇄 ...)

마지막 단계는 새 hdd의 uuid를 오래된 hdd에서 uuid로 변경하는 것입니다 (구성을 검색하고 수정하지 않고 grub 구성, fstab 또는 기타를 속이는 가장 쉬운 방법입니다)

sudo tune2fs /dev/sdxy -U OLD-UUID

장치를 다시 마운트하면 새 UUID가 표시됩니다. 이제 재부팅하고 모든 것이 정상이면 우분투가 시작됩니다 ...


4

dd를 사용하여 수행 할 수 있습니다. 자세한 정보는 사이트를 확인하십시오.

Ubuntu Live CD를 사용하여 하드 드라이브 복제

경고 dd 는 매우 강력한 저수준 도구이며 전체 디스크를 지우려면 한 번의 오타라도 충분합니다. 사용시주의를 기울이고 가능하면 더 높은 수준의 도구를 사용하십시오.
또한이 방법은 대상 디스크의 크기가 같거나 큰 경우에만 작동합니다


하드 드라이브 복제는 일반적인 유지 관리 작업입니다. 새로운 부팅 CD를 굽거나 새로운 소프트웨어를 지불하지 않아도됩니다. Ubuntu Live CD로 쉽게 할 수 있습니다.

Ubuntu Live CD로이 작업을 수행 할 수있을뿐만 아니라 추가 소프트웨어없이 바로 사용할 수 있습니다. 우리가 사용할 프로그램은 dd이며 거의 모든 Linux 배포판에 포함되어 있습니다. dd는 파일로 작업하는 대신 저수준 복사를 수행하는 데 사용되는 유틸리티로, 저장 장치의 원시 데이터에서 직접 작동합니다.

다음을 사용할 수도 있습니다.

무료 하드 드라이브 복제 소프트웨어 인 Clonezilla Clonezilla는 라이브 CD에서 실행되며 간단한 사용자 인터페이스를 제공합니다. 물론 현재하고있는 일을 알고 있어야하지만이 도구를 사용하면 단계별 분류를 통해 작업을 크게 단순화 할 수 있습니다.

여기에서 Clonezilla를 다운로드 할 수 있습니다

경고 시작하기 전에 Clonzilla 제한을 확인하십시오.

또한 Windows 용 Ghost를 사용 하고 Linux 용 Ghost 도 사용할 수 있다고 언급했습니다 .

출처 : http://www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/

출처 : http://www.makeuseof.com/tag/2-methods-to-clone-your-linux-hard-drive/


dd는 파티션 만 복사 할 수 있습니까? sudo dd of = / dev / sdb3 of = / dev / sda2에서와 같이
boywithaxe

두 드라이브를 모두 제공하는 것은 동일한 정확한 크기입니다. 그리고 명령은 귀하의 경우에 dd if = / dev / sd3 of = / dev / sd2
Mitch

그러나 파티션은 두 개의 다른 물리적 드라이브 인 / dev / sda와 / dev / sdb에 있습니다. 하나의 물리적 드라이브 내에서 sd3 및 sd2를 디스크립터 사본으로 사용하지 않습니까?
boywithaxe

드라이브의 크기가 같을 필요는 없습니다. 정보를 복사 할 드라이브가 복사 할 드라이브보다 더 크면됩니다.
Bruno Pereira

1
ddrescue하드 디스크에 결함이 있으므로 여기에서 더 나은 옵션이 될 것입니다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

4

몇 년 전이 도구를 사용하여 파티션을 "복제"했습니다 : G4L . 파티션 크기 조정 (다른 크기의 HD에서 파티션을 복제) 및 grub 재설치와 같은 설치 후 수정 작업이 모두 작동했습니다 (매우 간단합니다 .MBR에 다시 설치하려면 라이브 CD 만 있으면됩니다).

스왑 파티션을 무시하고 (두 번에 다시 만들 수 있음) 수동으로 편집 /etc/fstab하거나 명령 줄에서 스왑 파티션을 복제하여 나중에 활성화 할 수도 있습니다.

지난 몇 주 동안 나는 clonezilla를 사용하여 복제를 다시 수행했으며 동일한 복제 후 수정으로 모든 것이 정상적으로 진행되었습니다. 따라서 걱정하지 말고 시도해보십시오. 원래 HD의 아무것도 만지지 않습니다!

편집하다:

첫 번째 복제 프로세스를 설명하는 오래된 메일을 찾았습니다. 나는 다음과 같이 행동했다.

  • USB를 통해 연결된 새로운 HD를 이전 것과 정확히 분할
  • G4L을 사용하여 파티션을 원시 모드로 복제
  • Live CD로 부팅하고 resize2fs를 사용하여 파티션 크기를 조정했습니다
  • USB에서 HD를 분리하고 SATA / PATA에 마운트했습니다.
  • Live CD로 다시 부팅하고 새 디스크를 마운트했습니다.

    mkdir disk
    mount /dev/sda1 disk        (where sda1 contains boot and root partitions)
    mount /dev/sda2 disk/boot   (if you have a different boot partition) 
    mount --bind /dev/ disk/dev/
    mount -t proc none disk/proc
    chroot disk /bin/bash
    grub-install /dev/sda       (to install GRUB on sda MBR)
    
  • 다시 시작, 스왑 확인

  • 즐겨

3

@boywithaxe- Mitch의 답변 에 대한 의견과 관련하여 실제로 관련 파티션을 복사하면됩니다 dd if=/dev/sdb3 of=/dev/sda3. 실제로 가장 쉬운 부분입니다. 가장 까다로운 부분은 당신이 또한 새로 복사 된 파티션뿐만 아니라 다른 파티션의 부부를 탑재하고 GRUB를 (설치해야한다는 것입니다 grub-install /dev/sda() 그리고 당신이 복제하는 경우 (재부팅하기 전에 스왑 파티션을 추가 부팅 파티션)). 이 방법을 사용할 필요도 없습니다 resize2fs.

난 그냥이 나 자신을 할 수 있었다, 나는의 조합을 사용 우분투 14.04 (비 RAID)에서 Windows 업그레이드 후 부팅 수리재스민 대답 할 .

따라서 liveCD로 부팅 한 후 :

dd if=/dev/sdb3 of=/dev/sda3

완료되면

sudo mount /dev/sda3 /mnt 

여기서 sda3는 최근에 복사 한 부팅 및 루트 파티션을 포함합니다)

sudo mount --bind /dev/ /mnt/dev/

sudo mount -t /proc none /mnt/proc

sudo chroot /mnt

sudo grub-install /dev/sda 

이것은 sda3 가 아닌 sda입니다.

update-grub

exit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.