dd를 통한 512B ~ 4KiB (고급 형식) HDD 복제


1

dd기존의 섹터 당 512 바이트 HDD (특정 파티션이 아닌 전체 디스크)를 사용하여 최신 섹터 당 4 킬로바이트 Advanced Format드라이브 로 복제하는 가장 좋은 방법은 무엇입니까 ? 어떤 옵션을 사용해야합니까? 그들은 중요합니까?


다음은 읽고 싶은 관련 질문입니다. 또한 필요한 것보다 더 복잡하게 만들고 있습니다. 장치를 시작할 때 1MB 파티션을 만들면 정렬되고 나머지는 비워 둡니다. 장치의 펌웨어에 에뮬레이션이있을 수 있습니다. 여기에 더 추가 읽기
— Ramhound

나는 당신이 언급 한 질문 (및 대답)을 읽었지만 내 질문은 더 간단하고 구체적 dd입니다. 올바른 정렬을 위해 드라이브를 준비하는 방법을 묻지 않습니다. 알고 싶은 것은 전체 디스크 구조 (및 데이터)를 완전히 복사하는 방법입니다. 수정하지 않고.
— TranslucentCloud

답변:


1

어떤 종류의 고급 포맷 드라이브입니까? "AF"로고 (드라이브가 512 바이트 섹터를 인터페이스에 표시한다는 의미, 즉 실제로 "512e"드라이브 임) 또는 "4Kn"로고가 있습니까?

전자의 경우 특별한 작업을 수행 할 필요가 없습니다. 적절한 파티션 정렬이 좋은 생각이지만 (성능에 큰 차이를 만들 수는 있지만) 레거시 드라이브처럼 취급 할 수 있습니다.

후자의 경우 파일 시스템 메타 데이터가 변경되어야하므로 "수정없이"복사 할 수 없습니다 . 예를 들어 512e "4GB"드라이브는 0에서 약 7,812,500,000까지의 LBN을 가지지 만 실제 4K 기본 "4GB 드라이브"의 LBN은 최대 약 976,562,500에 불과합니다. 따라서 섹터 당 512 바이트 드라이브의 메타 데이터에있는 LBN은 4Kn 드라이브에서 의미가 없습니다.


해당 하드 드라이브는 WD30EZRX로, 512B 논리 섹터와 4KB 물리를 가지며 Advanced Format 드라이브로 판매됩니다.
— TranslucentCloud

그렇게 생각. 512e 드라이브입니다. 4Kn 드라이브는 "엔터프라이즈"시장 밖에서는 들리지 않으며 그에 따라 가격이 책정됩니다. 따라서 파티션 정렬 문제를 제외하고이를 섹터 당 512 바이트 드라이브로 취급 할 수 있습니다.
— Jamie Hanrahan

설명을 해주셔서 감사합니다.
— TranslucentCloud

1

좋아, 나는 내가 한 일을 답으로 게시하는 것이 가치가 있다고 생각한다.

다음 명령을 사용하여 드라이브를 복제했습니다.

dd if=/dev/sda of=/dev/sdb ibs=512 obs=4096

여기서 첫 번째 옵션 ibs은 한 번 dd에 512 바이트를 소스에서 읽고 한 번 obs에 4096 바이트를 대상에 쓰도록 지시합니다.

전체 절차는 아무런 문제없이 진행되었습니다. 완료된 후 이전 드라이브의 연결을 끊고 새 드라이브로 부팅을 시도했습니다. 부팅되었고 모든 파티션이 올바르게 표시되었습니다.

정렬이이 고급 포맷 드라이브에 적합한 지 확인하기 위해 WD AlignWestern Digital 웹 사이트에서 도구를 다운로드 했으며 모든 것이 올바르게 정렬되어 있음을 보여줍니다.

여기에 이미지 설명을 입력하십시오

추가 옵션이 이것에 사용되었는지는 모르겠습니다.


0

512e 드라이브를 사용하고 있기 때문에 dd 예제는 불필요합니다. dd if = / dev / sda of = / dev / sdb bs = 2M (사용하려는 경향이 있음)을 간단히 사용할 수 있습니다. 실제 문제는 512n에서 4Kn으로 진행되고 있으며 기본적으로 잘리지 않고 건조하지 않습니다. 대부분의 경우, 부트 로더 재구성 등을 포함하여 모든 파티션 및 cp -a를 다시 구성하는 것이 가장 좋습니다.

최소한의 비파괴적인 재 파티셔닝으로 512n에서 4Kn 사이에서 앞뒤로 이동할 수 있는지 여부는 파티션에 8의 512 배수 (512 * 8 = 4096)를 사용했는지 여부에 따라 다릅니다.

예:

512n partition under gdisk:

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  linux-bios
   2            4096        41943006   20.0 GiB    8E00  linux-lvm

4Kn translation after dd'ing (from 512 to 4096 physical and logical),
then re-repartitioning:

Number  Start (sector)    End (sector)  Size       Code  Name
   1             256             511   1024.0 KiB  EF02  linux-bios
   2             512        5242875.75 20.0 GiB    8E00  linux-lvm

으악! 소수점 (41943006 + 1 / 8)을 확인 하시겠습니까? 그것은 작동하지 않을 것입니다.

유일한 방법은 새 드라이브에 20.0 GiB 이상이 있고 추가 4kn 섹터 (5242875 + 1)를 추가 한 다음 기본 파일 시스템, lvm 등의 크기를 조정하는 것입니다.

이제 8의 배수를 사용하여 512n 드라이브를 분할 한 경우 위의 첫 번째 (512n) 파티션 테이블은 다음과 같습니다.

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  linux-bios
   2            4096        41942999   20.0 GiB    8E00  linux-lvm

And the proper 4Kn translation would look like this:

Number  Start (sector)    End (sector)  Size       Code  Name
   1             256             511   1024.0 KiB  EF02  linux-bios
   2             512         5242875   20.0 GiB    8E00  linux-lvm

(41942999 + 1) / 8 = 5242875

이야기의 교훈 : 미래에 4Kn 드라이브를 사용할 계획이라면 512n 드라이브를 8의 배수로 파티션하고 파티션 테이블을 적절하게 다시 작성하는 한 괜찮을 것입니다.

참고 : 디스크 식별자뿐만 아니라 파티션 GUID에 대해서도 가능한 GUID 복제를 잊지 마십시오.

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