기본 운영 체제를 기본 하드 드라이브에서 외장 하드 드라이브로 이동하려고 합니다. 그래서 외장 하드 드라이브에서 기본 OS를 부팅하고 메인 하드 드라이브에 Windows 10을 설치할 수 있습니다.
휴버트 온슈퍼유저 스택 교환다음 명령을 사용하는 것이 좋습니다.
$ dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync
그러나 꽤 오랜 시간 동안 복사한 후 명령이 실패했습니다. 자리가 없다고 하더군요. 디스크를 다른 디스크로 복제하거나 여유 공간을 확보하는 것과 같습니다.
저는 더 큰 메인 하드 드라이브와 더 작은 외장 하드 드라이브를 가지고 있지만, 메인 하드 드라이브에 데이터가 거의 없습니다.
답변1
dd
입력을 출력으로 복사하면 됩니다. 입력이 디스크 이미지인 경우 출력은 동일한 크기의 디스크 이미지입니다. 디스크를 더 작은 디스크에 복사할 수 없습니다. 대신 대상 디스크에 더 작은 파티션을 만들고 해당 파티션에 더 작은 파일 시스템을 만든 다음 파일을 복사해야 합니다.
여기서 가장 쉬운 방법은 /home
복사하려는 모든 항목이 대상 디스크에 맞도록 파일 시스템을 축소한 다음 이를 포함하는 파티션을 축소하는 것입니다. 나는 GParted가 이것을 할 수 있다고 생각합니다. 그렇지 않거나 명령줄 솔루션을 선호하는 경우 먼저 실행하여 resize2fs
파일 시스템을 축소한 /dev/sda3
다음(마운트 해제해야 함) 파티션을 /dev/sda3
사용하거나 축소합니다 . 파티션 크기를 조정할 때는 매우 주의하십시오. 실수로 파티션을 파일 시스템보다 작게 만들면 파일 시스템을 사용할 수 없게 될 수 있습니다.parted
fdisk
모든 파티션이 대상 디스크의 크기에 맞으면 직접 복사를 수행할 수 있습니다(- cat /dev/sda >/dev/sdb
사용하지 마십시오 dd
.느리게그리고발생하기 쉬운 오류).
답변2
귀하의 명령은 전체 디스크(if=/dev/sdX)를 외부 드라이브에 복사하려고 합니다. 내 생각엔 Linux 설치가 Windows 설치와 다른 파티션에 있는 것 같습니다. 따라서 이 파티션을 지정해야 합니다. 예를 들어 if=/dev/sda1
. 외부 디스크에 대한 파티션을 지정할 필요는 없으므로 of=/dev/sdY
괜찮을 것입니다.
파티션을 찾으려면 Linux 운영 체제를 부팅 df -h
하거나 (루트로) fdisk -l
파티션 정보가 제공됩니다.