
내가 찾고 있는 것은 Ubuntu OS 내부에 있는 동안 하드 드라이브(주로 Windows 파티션)를 복제하는 방법입니다. 부팅할 하드 드라이브에 파티션을 만들고 싶지 않으며 부팅 CD를 사용하고 싶지도 않습니다. 내가 생각할 수 있는 유일한 것은 Windows의 데스크톱에서 실행할 수 있는 32비트 버전의 ghost뿐입니다.
clonezilla일 필요는 없지만 이것이 제가 사용해 본 유일한 Linux 복제 소프트웨어이고 제가 발견한 이후로 거의 독점적으로 사용했습니다. 데스크톱에서 clonezilla를 사용할 수 없는 경우 대체 프로그램을 사용하겠습니다. 가장 중요한 것은 드라이브를 복제하고 Ubuntu 내에서 실행된다는 것입니다.
시간을 내주셔서 감사합니다.
답변1
Clonezilla는 dd
뒤에서 사용합니다.
디스크 및 파티션 정보
전체 디스크는 /dev/sda
. 이것은 첫 번째 디스크이고, 두 번째 디스크는 이고 /dev/sdb
, 세 번째 디스크 /dev/sdc
는 입니다. IDE 케이블을 통해 연결된 이전 디스크의 이름은 hda
, hdb
, ...와 같이 지정됩니다. 디스크는 와 같은 여러 파티션을 가질 수 있습니다 /dev/sda1
. 디스크의 두 번째 파티션은 /dev/sda
다음 /dev/sda2
과 같습니다. 이미지(문자 그대로의 바이트 복사본)는 파티션과 디스크 모두에서 만들 수 있습니다. 디스크의 처음 512바이트에는 MBR(마스터 부트 레코드)이 포함되어 있습니다.
이미지를 생성하거나 복원할 때 파티션을 마운트하면 안 됩니다. 그렇지 않으면 파티션에서 읽을 때(이미지 생성) 데이터 손실이 발생하거나 파티션에 쓸 때(이미지에서 복원) 예기치 않은 동작 및 데이터 손상이 발생할 수 있습니다.
아래 예에서는 /dev/sda1
이미지를 생성해야 하는 파티션입니다.
의 파티션과 디스크 장치는 /dev
슈퍼유저(루트)와 disk
그룹의 사용자만 쓸 수 있습니다. 나는 모든 것을 루트로 실행하는 것을 싫어하므로 안전을 위해(예를 들어 오타가 있는 경우) 그룹을 임시로 변경하여 읽고 쓸 수 있습니다.
sudo chgrp my_user_name /dev/sda1
위 명령을 건너뛰는 경우 아래 dd
명령 앞에 sudo
.
기초
파티션에서 이미지를 생성하는 기본 명령은 다음과 같습니다.
dd if=/dev/sda1 of=disk.img
if
"입력 파일"을 의미하고 of
"출력 파일"을 의미합니다. Linux의 모든 것은 파일입니다. 심지어 장치도 마찬가지입니다.
이러한 이미지를 복원하려면 다음을 실행하세요.
dd if=disk.img of=/dev/sda1
순서는 중요하지 않습니다. 위와 같이 작성할 수도 있습니다 dd of=/dev/sda1 if=disk.img
.
압축된 이미지
파티션은 일반적으로 크기 때문에 이미지에 쓰기 전에 데이터를 압축하는 것이 좋습니다.
dd if=/dev/sda1 | gzip > disk.img.gz
of
생략하면 출력이 압축 프로그램의 파이프인 "표준 출력"에 기록되기 때문에 작동합니다 gzip
. 그 출력은 에 기록됩니다 disk.img
.
이러한 압축된 이미지를 복원하려면 다음을 실행하세요.
gunzip -c disk.img.gz | dd of=/dev/sda1
여기에 gunzip
gzip의 반대 명령이 있습니다. 명령 -c
에 대한 파이프인 표준 출력에 출력이 기록되도록 합니다 dd
. if
에서는 가 생략되었기 때문에 dd
의 출력인 "표준 입력"에서 입력을 읽습니다 gunzip
.
복원하지 않고 이미지에서 읽기
압축되지 않은 이미지를 마운트하여 읽을 수 있습니다. 파티션 이미지를 압축한 경우 먼저 압축을 해제하세요( disk.img.gz
제거되고 disk.img
생성됩니다. 충분한 공간이 있는지 확인하세요!):
gunzip disk.img.gz
또는 이미지 자체를 건드리지 않고 이미지 압축을 해제합니다.
gunzip -c disk.img.gz > disk.img
이제 디스크를 마운트할 수 있는 디렉토리를 생성하고 이미지를 읽기 전용으로 마운트합니다( ro
).
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
이제 에서 파일을 볼 수 있습니다 /mnt/wind
. 완료되면 마운트를 해제하고 더 이상 사용되지 않는 마운트 지점을 제거합니다.
sudo umount /mnt/wind
sudo rmdir /mnt/wind
크기 감소, CPU 사용량 증가, 백업 및 복원 기간 연장
시간이 문제가 되지 않고 저장 공간이 많지 않은 경우 bzip2
압축 형식을 사용할 수 있습니다. 위의 내용을 gzip
로 간단히 바꾸세요 . bzip2 압축 파일에 확장자를 bzip2
사용하는 것이 일반적 이므로 그렇게 하십시오..bz2
답변2
한 하드 디스크를 다른 하드 디스크에 복제하시겠습니까? 이를 수행하는 방법에는 여러 가지가 있습니다. 나는 일반적으로 dd 명령을 선호합니다. 이 명령을 사용하려면 sudo 액세스 권한이 필요합니다.
하드 디스크 1을 하드 디스크 2로 복제하려면 하드 디스크 2는 하드 디스크 1보다 크기가 커야 합니다. 원본 하드 디스크가 sda이고 대상 하드 디스크가 sdb인 경우 다음을 사용하여 sda의 모든 내용을 sdb에 복사할 수 있습니다. 명령.
dd if=/dev/sda of=/dev/sdb
전체 하드 디스크 1을 이미지로 복제하려면 다음 명령을 사용하십시오. ~/disk1.img는 다른 디스크에 있어야 합니다.
dd if=/dev/sda of=~/disk1.img
단일 파티션을 이미지로 복제하려면 다음 명령을 사용하십시오. 이미지 파일은 동일한 파티션에 있어서는 안 됩니다.
dd if=/dev/sda1 of=~/drive1.img
이미지를 복원하려면 다음 명령을 사용하십시오.
dd if=drive1.img of=/dev/sda1 - For Partition dd if=disk1.img of=/dev/sda - For whole hard disk
이미지 파일을 압축하여 공간을 절약할 수도 있습니다.
gzip disk1.img - This will generate disk1.img.gz bzip2 disk1.img - This will generate disk1.img.bz2