2013-12-10 4 views
0

Windows에서 Java로 USB 드라이브 (> 32Gb)를 포맷하는 가장 좋은 방법은 무엇입니까?Windows에서 Fat32 USB 드라이브 포맷

Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:FAT32 /Q /X /Y"); 

그러나 드라이브의 크기는 32GB의 제한됩니다

은 내가 format 기능을 사용했습니다. 내 USB 드라이브는 100Gb보다 큽니다.

JNI를 사용하여 수행 할 수 있습니까, 아니면 32Gb로 제한됩니까?

라이브러리를 만들 라이브러리가 있습니까? fat32-lib을 찾았지만 안정적이지 않으며 문서가 없습니다.

감사

답변

1

당신이 format를 계속 사용하는 경우, 당신이 모든 Winnt는 기반 운영체제 (윈도우 2000 +)에 the 32 GB limit that Microsoft imposes on FAT32 방지 할 수 있습니다 생각하지 않는다 :

FAT16와 FAT32가 확장되지 않습니다를 잘. 볼륨이 커질수록 파일 할당 테이블이 커져 시스템을 다시 시작할 때 Windows 2000에서 부팅 볼륨에 얼마나 많은 여유 공간이 있는지 계산하는 데 소요되는 시간이 크게 늘어납니다.

이러한 이유로 포맷 유틸리티를 사용하여 32GB보다 큰 FAT32 볼륨을 생성 할 수 없습니다. 그러나 Windows 2000 Fastfat 드라이버를 사용하면 32GB보다 큰 FAT32 볼륨을 탑재하고 완벽하게 지원할 수 있습니다.

당신은 FAT32의 또 다른 구현을 사용하여이 제한을 피할 수 있습니다하지만 난 하나의 Windows 용 존재 모르겠어요 (나는 일을 조금 인터넷 검색을 찾을 수 없습니다). 또는 Windows 98 또는 Millenium Edition과 같은 WinNT 이전 Windows를 사용할 수도 있지만 좋은 생각이라고 생각하지 않습니다.

1

이 시도 :

http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm

이 32 기가 바이트 한도를 초과 FAT32 드라이브를 포맷하는 제 3 자 도구입니다. 그것은 명령 행과 GUI 모드를 모두 가지고 있습니다.

Windows에서 기본 "형식" 명령을 사용하여 32GB를 초과하는 FAT32 드라이브를 사용할 수 없습니다.

+0

나는 자바에서 그런 아무것도 놀랍군요 ... – Maxbester

+0

@Maxbester : 자바는 시스템 관리를 위해 설계되지 않았습니다 작업. –

1

이 시도

Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:NTFS /Q /X /Y"); 

이 문제를 sove합니다 .. NTFS