맥OS만으로 USB 메모리나 SD카드의 파티션을 단일 볼륨으로 초기화하는 방법이 필요하다면?
(그때마다 윈도를 실행하고 cmd 창을 열어서 dispart clean 명령을 써 왔다면, 맥OS만으로 할 수 있는 방법이다.)
(그때마다 윈도를 실행하고 cmd 창을 열어서 dispart clean 명령을 써 왔다면, 맥OS만으로 할 수 있는 방법이다.)
사용하던 USB 메모리나 SD 카드를 맥OS에 연결해서 포맷을 하려다 보면, 맥에 연결하면 16GB ~ 32GB 대용량인데도 45MB나 200MB밖에 안 보이면서 전체 용량에 대한 파티션 초기화를 할 수 없는 경우가 있다.
맥OS만 있어도 다음과 같이 하면, 전체 용량을 초기화할 수 있는 방법을 찾았다.
제1 단계
- 초기화할 USB 메모리나 SD 카드를 맥에 연결한다.
- 터미털을 연다. $ 프롬프터가 나타난다.
$ diskutil list
명령으로 맥에 연결되어 있는 전체 디스크를 나열하게 한다:/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *16.0 GB disk2 1: Windows_FAT_32 boot 45.3 MB disk2s1 2: Linux 16.0 GB disk2s2
- 초기화하려는 디스크는 “0, 1, 2” 중 세번째인 disk2라는 것을 알 수 있다.
(“디스크 유틸리티] 어플에서는 전체 16GB 중 극히 일부인 45.3MB 크기만 선택할 수 있으므로, 전체 용량 초기화를 할 수 없다.) - disk2에 대하여 파티션 초기화 명령을 내린다:
$ diskutil eraseDisk JHFS+ 16gb_msd disk2
특히 이 명령은, 맥OS에서나 윈도10에서 외장 디스크의 파티션 초기화가 안 되는 문제가 있을 때 이 명령을 내리면 파티션 초기화가 안 되던 외장 디스크의 파티션이 맥OS에서 수정할 수 있는 상태가 되므로 유용할 때가 있다.
[참고]
맥만 사용하고 윈도는 다른 주변 기기에서 사용할 일이 없다면, “디스크 유틸리티” 프로그램을 실행해서 16gb_msd를 선택하고, 원하는 파티션이나 포맷을 하면 된다다.하지만, 윈도나 다른 주변 기기에서 이 외장 메모리를 사용하려면, 두 단계를 더 수행해 주어야 MS Windows의 cmd 명령으로 “diskpart”에 들어가서 “clean”을 해 준 것과 동일한 결과를 얻을 수 있다.
제2 단계
- 한번에 끝났으면 좋으련만,
$ diskutil list
명령을 내려보면, 절반만 성공한 것을 알 수 있다:/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *16.0 GB disk2 1: EFI EFI 209.7 MB disk2s1 2: Microsoft Basic Data 16GB-MSD 15.7 GB disk2s2
$ diskutil unmountDisk /dev/disk2
$ sudo fdisk -i /dev/disk2
$ diskutil list
/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *16.0 GB disk2 1: Apple_Boot 8.4 MB disk2s1 2: Apple_HFS 16.0 GB disk2s2
제3 단계
- [디스크 유틸리티] 프로그램을 실행한 후 “disk2s2″를 선택하고, [지우기] 아이콘을 누른 후 “포맷:MS-DOS(FAT)”로 선택하고 지우기를 실행한다.
- 계속 이어서 “USB Storage Device Media” 선택하고, [지우기] 아이콘을 누른 후 “포맷:MS-DOS(FAT)”와 “설계:마스터 부트 레코드”를 선택하여 지우기를 실행한다.
- 이제
$ diskutil list
를 해 보면, 비로소 하나의 파티션으로 된 MicroSD 카드가 나온다. 즉 윈도 cmd 창에서 diskpart – clean을 한 것과 동일한 결과를 얻을 수 있다./dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *16.0 GB disk2 1: DOS_FAT_32 16GB_MSD 16.0 GB disk2s1
이 방법은 FAT32 포맷으로 초기화하는 방법이며, NTFS 포맷으로 초기화하는 방법은 PC에서 해야 한다.
[긁적긁적] 2단계나 3단계에서$ diskutil mergePartitions HFS+ 16GB_MSD disk2s1 disk2s2
등의 명령으로 좀더 쉽게 원하는 결과를 얻을 수 있는 방법이 있을 것 같지만, 컴알못이 좀 둘러가기로 서니 뭐가 문제겠나?
[참고] MS Windows에서는 cmd 창을 연 다음,
> diskpart > list disk > select disk (초기화할 디스크 번호) > clean > cre par pri (엔터) — 이 명령은 초기화한 디스크를 파티션을 만드는 것이므로, 불필요한 경우도 있음. > list disk > format quick fs=fat32 lable=fat32usb > list vol (엔터) — 포맷 결과 확인 > exit
라고만 하면, 하드 디스크든 USB 메모리든 완전 초기화가 된다.
diskpart 명령에 대한 더 자세한 사례는 여기에…
너무 훌륭하네요 감사합니다
도움이 되셨다니 기쁩니다.^^
감사합니다
덕분에 USB 클리닝 잘 했습니다. 감사합니다.
좋은 글 감사합니다.
오타가 있습니다.
$ diskutkl list 로 써 주셨는데
diskutil 이 맞을듯합니다.
행복한 하루되세요.
오타 지적해 주셔서 수정했습니다. 고맙습니다~