하드 디스크를 복제할 수 없습니다. dd에 공간이 없습니다.

하드 디스크를 복제할 수 없습니다. dd에 공간이 없습니다.

기본 운영 체제를 기본 하드 드라이브에서 외장 하드 드라이브로 이동하려고 합니다. 그래서 외장 하드 드라이브에서 기본 OS를 부팅하고 메인 하드 드라이브에 Windows 10을 설치할 수 있습니다.

휴버트 온슈퍼유저 스택 교환다음 명령을 사용하는 것이 좋습니다.

$ dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync

그러나 꽤 오랜 시간 동안 복사한 후 명령이 실패했습니다. 자리가 없다고 하더군요. 디스크를 다른 디스크로 복제하거나 여유 공간을 확보하는 것과 같습니다.

저는 더 큰 메인 하드 드라이브와 더 작은 외장 하드 드라이브를 가지고 있지만, 메인 하드 드라이브에 데이터가 거의 없습니다.

별

여기에 이미지 설명을 입력하세요.

답변1

dd입력을 출력으로 복사하면 됩니다. 입력이 디스크 이미지인 경우 출력은 동일한 크기의 디스크 이미지입니다. 디스크를 더 작은 디스크에 복사할 수 없습니다. 대신 대상 디스크에 더 작은 파티션을 만들고 해당 파티션에 더 작은 파일 시스템을 만든 다음 파일을 복사해야 합니다.

여기서 가장 쉬운 방법은 /home복사하려는 모든 항목이 대상 디스크에 맞도록 파일 시스템을 축소한 다음 이를 포함하는 파티션을 축소하는 것입니다. 나는 GParted가 이것을 할 수 있다고 생각합니다. 그렇지 않거나 명령줄 솔루션을 선호하는 경우 먼저 실행하여 resize2fs파일 시스템을 축소한 /dev/sda3다음(마운트 해제해야 함) 파티션을 /dev/sda3사용하거나 축소합니다 . 파티션 크기를 조정할 때는 매우 주의하십시오. 실수로 파티션을 파일 시스템보다 작게 만들면 파일 시스템을 사용할 수 없게 될 수 있습니다.partedfdisk

모든 파티션이 대상 디스크의 크기에 맞으면 직접 복사를 수행할 수 있습니다(- cat /dev/sda >/dev/sdb사용하지 마십시오 dd.느리게그리고발생하기 쉬운 오류).

답변2

귀하의 명령은 전체 디스크(if=/dev/sdX)를 외부 드라이브에 복사하려고 합니다. 내 생각엔 Linux 설치가 Windows 설치와 다른 파티션에 있는 것 같습니다. 따라서 이 파티션을 지정해야 합니다. 예를 들어 if=/dev/sda1. 외부 디스크에 대한 파티션을 지정할 필요는 없으므로 of=/dev/sdY괜찮을 것입니다.

파티션을 찾으려면 Linux 운영 체제를 부팅 df -h하거나 (루트로) fdisk -l파티션 정보가 제공됩니다.

관련 정보