mkntfs가 왜 그렇게 오래 걸리나요?

mkntfs가 왜 그렇게 오래 걸리나요?

FreeBSD 12.0에서 이 명령 mkntfs -Q /dev/da3s1(빠른 포맷 플래그 사용)은 여전히 ​​필요합니다.매우1TB 하드 드라이브의 경우 시간이 오래 걸립니다(몇 시간이 지나도 완료되지 않음).

다음과 같은 경고를 제공합니다.

The partition start sector was not specified for /dev/da3s1 and it could not be obtained automatically.  It has been set to 0.
The number of sectors per track was not specified for /dev/da3s1 and it could not be obtained automatically.  It has been set to 0.
The number of heads was not specified for /dev/da3s1 and it could not be obtained automatically.  It has been set to 0.
Cluster size has been automatically set to 4096 bytes.
To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
Windows will not be able to boot from this device.
Creating NTFS volume structures.

Windows와 유사한 빠른 포맷 속도를 얻는 방법은 무엇입니까?

답변1

ublio이는 라이브러리의 버그 로 인한 것입니다 (포트의 직접적인 종속성 sysutils/fusefs-ntfs). 열려 있는 포트가 있습니다.허점그것에 대해보고하십시오.

나는 최근에 같은 문제에 직면했고 내가 사용한 해결 방법은 우아하지 않았습니다. 다시 설치하고 지원을 sysutils/fusefs-ntfs비활성화했습니다 UBLIO. 그런 다음 실행하여 mkntfs장치를 포맷할 수 있습니다. 1TB에서는 빠를 것입니다. Windows의 로컬 실행과 어떻게 비교되는지는 확실하지 않지만 작업을 수행하며 무기한 중단에 비해 개선되었습니다!

FreeBSD에서 NTFS 장치를 설치하려면 다시 설치해야 sysutils/fusefs-ntfs하지만 UBLIO활성화해야 합니다. 그렇지 않으면 드라이브의 IO 성능이 매우 저하됩니다. 재설치 후에도 필요할 경우 계속 사용할 수 있도록 경로 어딘가에 다른 이름으로 mkntfs지원되지 않는 바이너리의 복사본을 만들 수 있습니다 .UBLIOUBLIO

답변2

솔루션(에서언급된 오류에 대한 마지막 의견)은 생성 시 파티션 크기를 명시적으로 설정하는 것입니다.

파티션/드라이브 보기:

gpart show

파티션/드라이브 삭제:

gpart destroy -F da3

GUID 파티션 구성표를 만듭니다.

gpart create -s GPT da3

파티션 유형(ntfs)을 생성하고 크기를 추가합니다(바이트, GB의 경우 "g" 사용).

gpart add -t ms-basic-data -s 4000g da3

누군가가 정확한 사용 가능한 크기를 얻는 방법을 알려줄 수 있다면 좋을 것입니다.

드라이브에는 NTFS 파일 시스템이 필요하며 빠른 포맷을 수행합니다.

mkntfs --verbose --fast --label 4TB_HD /dev/da3p1

이것은 나에게 효과적입니다

답변3

방금 이 문제가 발생했지만 퓨즈fs-ntfs-2017.3.23의 pkg-message에서 /usr/local/share/doc/ntfs-3g/README.FreeBSD를 읽도록 제안했습니다.

현재 구현에서는 크기가 UBLIO_BLOCKSIZE의 배수가 아닌 파티션을 올바르게 처리하지 않습니다(마지막 클러스터는 읽거나 쓸 수 없습니다). 예를 들어, 이러한 이유로 ntfs 파일 시스템을 생성하지 못할 수도 있습니다

UBLIO 레이어는 환경변수를 통해 구성됩니다.

NTFS_USE_UBLIO - 1. 이 기능을 비활성화하면 성능이 크게 저하됩니다.

UBLIO_BLOCKSIZE - 262144(256KB). 크기가 클수록 대용량 파일의 읽기/쓰기 속도가 빨라지고, 크기가 작을수록 파일 시스템 작업(생성, 삭제, 이동, 탐색(1))이 더 빠르게 수행됩니다.

따라서 가능한 해결책은 다음과 같습니다.

  1. UBLIO 레이어를 비활성화하고 NTFS 속도를 저하시킵니다. 아무것도 다시 컴파일할 필요가 없습니다. 그냥 해

    setenv NTFS_USE_UBLIO 0
    

    (csh) 또는

    NTFS_USE_UBLIO=0
    

    (sh/bash) 이 터미널에서 ntfs 도구를 실행하기 전에.

  2. -또는- UBLIO_BLOCKSIZE를 조정합니다. 파티션 크기는 UBLIO_BLOCKSIZE의 배수여야 합니다. 이 변수를 1과 같은 방식으로 설정합니다.

  3. -또는- 파티션 크기를 조정하십시오. 파티션 크기는 UBLIO_BLOCKSIZE의 배수여야 하며 기본값은 262144입니다. 그런데 최신 Windows(Vista+)에서 파티션된 미디어에서는 이 오류가 발생할 가능성이 없다고 생각합니다. Windows는 항상 1048576바이트의 배수 크기로 파티션을 생성하기 때문입니다.

관련 정보