4K 에뮬레이트(512e) HDD 파티션 및 포맷

4K 에뮬레이트(512e) HDD 파티션 및 포맷

방금 Debian Buster 시스템의 USB A 3.0/C 3.1에 새 외장 하드 드라이브를 연결했습니다.

이 디스크는 다음과 같이 판매됩니다.LaCie 2.5인치 포르쉐 디자인 P'9227 2TB USB-C.

출력은 다음과 같습니다 fdisk -l /dev/sdc.

Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: P9227 Slim      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes

방금 4K 에뮬레이트 드라이브에 관한 기사를 읽었습니다(512e), 이렇게 되어야 합니다.

NTFS로 포맷하는 방법이 궁금합니다.

나는 내 두뇌를 사용하려고 노력했고 그 결과는 다음과 같습니다.

  • 파티션의 시작 섹터는 아마도 4096(?) 섹터에서 시작해야 합니다.

    그래서 다음과 같은 파티션을 만들었습니다 gdisk.

    Device     Start        End    Sectors  Size Type
    /dev/sdc1   4096 3907029134 3907025039  1.8T Microsoft basic data
    
  • 섹터 크기는 아마도 --sector-sizeI(?) 발행과 같아야 합니다.

    mkfs.ntfs --no-indexing --verbose --with-uuid --label EXTERNAL_2TB --quick --sector-size 4096 /dev/sdc1
    

편집 1:

완전히 업데이트된 Windows 10은 파티션을 인식하지 못하고 포맷하라고 요청했습니다. 저는 제가 가장 좋아하는 도구를 사용한 다음 Linux로 돌아갔습니다. 출력은 다음과 같습니다 fdisk -l /dev/sdc.

Device     Start        End    Sectors  Size Type
/dev/sdc1   2048 3907028991 3907026944  1,8T Microsoft basic data

그렇다면 왜 2048 섹터부터 시작해야 하는지 이해가 되지 않습니다.


편집 2:

Windows와의 호환성 측면에서 내가 뭘 잘못하고 있는지 이해할 수 없습니다. 다시 파티션을 나누거나 다시 포맷하고 Windows를 부팅하고 드라이브를 연결할 때마다 자동으로 포맷할 수 있습니다.

gdisk나는 + 내부의 모든 것을 시도했다고 확신합니다 mkfs.ntfs.

Windows에서 할 수 있는 것과 동일한 작업을 Linux CLI를 통해 수행할 수 없는 이유가 궁금합니다.


모든 질문과 의견은 내일 아침에 답변해 드리겠습니다.

나는 지금 달리고 있습니다 :

pv --progress --timer --eta --rate --average-rate --bytes -s 1953314876k < /dev/zero > /media/vlastimil/LACIE_2TB/zero

예상 속도는 123MiB/s입니다.

답변1

4096의 물리적 섹터 크기는 드라이브의 데이터가 4096바이트 단위로 배치된다는 것을 의미합니다. 즉, 디스크는 4096바이트의 연속적인 "파티션"으로 구성되어 있으며 원자적으로 작성되어야 합니다. 호환성상의 이유로 4096바이트 섹터가 있는 대부분의 디스크는 기존의 512바이트 "논리 섹터"를 갖는 것으로 나타납니다. 이는 주소 지정 단위가 512바이트 블록임을 의미합니다.

4096바이트 섹터의 기본 디스크를 사용하여 512섹터 드라이브를 에뮬레이트한다는 실제적인 의미는 잠재적인 성능 문제입니다. 단일 512바이트 섹터를 512e 디스크에 쓸 때 드라이브는 512바이트 섹터를 포함하는 전체 4096바이트 섹터를 읽어야 하며, 512바이트 섹터를 새 콘텐츠로 교체하여 RAM(디스크 컨트롤러의)을 수정해야 합니다. , 마지막으로 전체 4096 섹터를 디스크에 다시 씁니다. 4096 섹터 경계에 걸쳐 있는 여러 개의 인접한 512 섹터를 읽거나 쓰는 경우 상황은 더욱 악화됩니다.

파일 시스템은 일반적으로 데이터 구조를 매우 잘 배치합니다. 즉, 최소 4096바이트의 배수로 정렬되므로 더 큰 섹터 크기는 일반적으로 문제가 되지 않습니다. 그러나 파일 시스템 자체가 포함된 파티션이 제대로 정렬되지 않으면 이 모든 것이 중단됩니다. 512e 디스크의 경우 첫 번째 512바이트 논리 섹터 번호가 8의 배수가 되도록 파티션을 정렬해야 합니다.

답변2

이 외장하드를 오랫동안 사용하지 않았는데 지금은 필요해서 발급해야 할 올바른 명령(예)은 다음과 같습니다.

mkfs.ntfs --no-indexing --verbose --with-uuid --label Lacie_2TB --quick --sector-size 512 --cluster-size 4096 /dev/sdX1

노트:

  • 마지막으로 장치 및 파티션 번호를 조정하십시오.

  • 색인 생성을 원하거나 필요하면 생략하세요 --no-indexing.

  • Lacie_2TB원하는 대로 레이블을 조정합니다( ).

  • 머리 속에서 섹터 크기와 클러스터 크기를 전환했는데 그게 원인이었습니다.


파일 시스템을 생성 하려면 ext4다음을 권장합니다.

mkfs.ext4 -v -m 0 -E lazy_itable_init=0,lazy_journal_init=0,nodiscard -L Lacie_2TB /dev/sdX1

스위치 사용 시 주의 사항:

  • -v: 조금 더 깁니다.
  • -m 0: 공간을 예약하지 마세요root
  • -E lazy_itable_init=0,lazy_journal_init=0: 완전히 초기화되었으며 사용되지 않음lazy
  • -E nodiscard: SSD가 아니라 HDD라서...
  • -L Lacie_2TB: 운영 체제의 파일 시스템 레이블

관련 정보