dd는 iso의 파티션 하나만 hdd의 할당되지 않은 부분에 복사합니다.

dd는 iso의 파티션 하나만 hdd의 할당되지 않은 부분에 복사합니다.

내 질문은 dd/harddisk/iso-images의 맥락에서 더 일반적입니다. 자세한 내용은 다음과 같습니다.

/dev/loop1p1및 으로 마운트된 두 개의 파티션이 포함된 라이브 ISO 이미지가 있고 /dev/loop1p2끝에 할당되지 않은 빈 공간이 많은 HDD가 있습니다. 또한 USB 드라이브가 연결되어 있고(동일한 이미지가 기록됨) 내용은 /dev/sdb1, 및 에서 볼 수 있습니다 /dev/sdb2.

따라서 내 임무는 매우 기본적입니다.

/dev/sdb2USB(또는 마운트된 iso /dev/loop1p2)의 파티션을 HDD의 비어 있거나 할당되지 않은 공간에 복제합니다 .

dd나는 그것이 항상 그렇듯이 앞으로 나아가는 길이라고 믿습니다 .

if=옆:

dd전체 디스크( /dev/sdb) 또는 파티션( /dev/sdb1/dev/sdb2)을 첫 번째 인수로 허용 하더라도 HDD( )의 if=나머지 인수는 동질적이어야 하며 결정적인 측면인 것으로 보입니다.of=/dev/sda

of=옆:

of=명령 인수 에 전달하기 위해 HDD 측에 아직 생성된 파티션이 없습니다 dd. 전체 HDD를 설명 /dev/sda자로 사용하면 ofHDD의 기존 파티션이 손실되므로 이는 바람직하지 않습니다.

따라서 질문을 다시 말하면 다음과 같습니다.

특정 USB 드라이브를 HDD에 어떻게 복제합니까?

/dev/sdb2제쳐두고, HDD에 or 의 크기와 "정확한" 크기를 가진 새로운 빈 파티션을 만들고 /dev/loop1p2이를 인수로 사용하면 도움이 될까요 of=?

답변1

/dev/sdb2or 의 크기와 "정확한" 크기를 가진 새로운 빈 파티션을 hdd에 만들고 /dev/loop1p2이를 인수로 사용하면 도움이 될까요 of=?

, 이것이 아마도 가장 쉬운 방법일 것입니다. 크기가 정확히 같을 필요는 없으며 더 클 수도 있습니다. 엄밀히 말하면 적어도 내부 파일 시스템만큼 커야 합니다 /dev/loop1p2.5월자신 보다 훨씬 작아야 합니다 /dev/loop1p2. 특정 파일 시스템의 정확한 크기를 얻는 방법은 파일 시스템(ext, btrfs 등을 위한 다양한 도구)에 따라 다릅니다. 하지만 파일 시스템이 파티션보다 훨씬 작은 경우는 드뭅니다. 따라서 크기는 /dev/loop1p2적당하고안전한최저한의.

새 파티션이 파일 시스템에 비해 너무 작은 경우 일부 데이터 및/또는 메타데이터가 누락되어 비정상 파일 시스템 복제가 발생하게 됩니다. 적절한 fsck도구를 사용하면 복제본이 공식적으로 정상 상태가 될 수도 있고 그렇지 않을 수도 있지만 적합하지 않은 데이터는 복구되지 않습니다. 소스 파일 시스템의 여유 공간이 얼마나 되는지에 관계없이 데이터 손실이 발생할 수 있습니다.

새 파티션이 더 크면 아무 문제도 발생하지 않습니다. 에 있는 파일 시스템이 무엇이든 /dev/loop1p2대상 파티션이 더 큰지는 상관하지 않습니다. 나중에 전체 파티션을 차지하기 위해 파일 시스템을 확대할 계획이 아니라면 훨씬 더 큰 파티션을 만드는 것은 공간 낭비입니다.

그렇습니다. 크기는 /dev/loop1p2아마도 새 파티션에 가장 적합할 것입니다. 일부 도구는 파티션 유형에 주의를 기울일 수 있으므로 새 파티션의 ID를 올바르게 설정해야 합니다.MBR의 DOS 파티션 테이블그리고GUID 파티션 테이블).

새 파티션을 만들지 않고 복제할 수 있나요? 예, 하지만 그럴 가치가 없습니다.

같은 장치 노드는 미리 /dev/sdx3정의된 조각 /dev/sdx(이 조각 외부에는 아무것도 없음)에 액세스하는 데 유용한 추상화일 뿐입니다. 이는 대신에 다음 과 같이 dd of=/dev/sdx3실행할 수 있음 을 의미합니다.dd of=/dev/sdx적절한오프셋( obs=, seek=), 일반적으로 프래그먼트( ) 너머에 쓰지 않도록 주의하세요 count=. 번거롭지 /dev/sdb2만 파티션을 생성하지 않고도 대상 HDD의 할당되지 않은 공간에 복제하는 것이 완전히 가능합니다 . 하지만:

  • 오타나 계산 오류로 인해 건드리지 않으려는 대상 HDD의 일부가 덮어쓰일 수 있습니다(그러면 dd"데이터 파괴자"를 의미함을 알게 될 것입니다).
  • 작업하고 오프셋할 수 있는 도구는 거의 없지만 다음 /dev/sdx과 같은 파티션이 필요합니다 ./dev/sdx3편리하게실제로 복제된 파일 시스템을 사용하므로 조만간 생성하게 될 것입니다.
  • 파티션이 없으면 복제본이 차지하는 공간은 여유 공간으로 간주됩니다. 제정신의 도구는 자체적으로 이를 사용해서는 안 되지만점유된 조각의 정확한 크기나 그것이 점유되어 있다는 사실조차 잊어버릴 수 있습니다.

이러한 이유로 복제하기 전에 파티션을 생성하는 것이 옳은 일입니다. 일단 그것을 가지고 있으면 그것을 of=가리키는 올바른 방법입니다 .dd

관련 정보