맥OS에서 USB 메모리 파티션 초기화(diskpart clean처럼)

By | 2018-11-11
맥OS만으로 USB 메모리나 SD카드의 파티션을 단일 볼륨으로 초기화하는 방법이 필요하다면?
(그때마다 윈도를 실행하고 cmd 창을 열어서 dispart clean 명령을 써 왔다면, 맥OS만으로 할 수 있는 방법이다.)

사용하던 USB 메모리나 SD 카드를 맥OS에 연결해서 포맷을 하려다 보면, 맥에 연결하면 16GB ~ 32GB 대용량인데도 45MB나 200MB밖에 안 보이면서 전체 용량에 대한 파티션 초기화를 할 수 없는 경우가 있다.

맥OS만 있어도 다음과 같이 하면, 전체 용량을 초기화할 수 있는 방법을 찾았다.

제1 단계

  1. 초기화할 USB 메모리나 SD 카드를 맥에 연결한다.
  2. 터미털을 연다. $ 프롬프터가 나타난다.
  3. $ 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
  4. 초기화하려는 디스크는 “0, 1, 2” 중 세번째인 disk2라는 것을 알 수 있다.
    (“디스크 유틸리티] 어플에서는 전체 16GB 중 극히 일부인 45.3MB 크기만 선택할 수 있으므로, 전체 용량 초기화를 할 수 없다.)
  5. disk2에 대하여 파티션 초기화 명령을 내린다:
    $ diskutil eraseDisk JHFS+ 16gb_msd disk2
    특히 이 명령은, 맥OS에서나 윈도10에서 외장 디스크의 파티션 초기화가 안 되는 문제가 있을 때 이 명령을 내리면 파티션 초기화가 안 되던 외장 디스크의 파티션이 맥OS에서 수정할 수 있는 상태가 되므로 유용할 때가 있다.
     
  6. [참고] 맥만 사용하고 윈도는 다른 주변 기기에서 사용할 일이 없다면, “디스크 유틸리티” 프로그램을 실행해서 16gb_msd를 선택하고, 원하는 파티션이나 포맷을 하면 된다다.하지만, 윈도나 다른 주변 기기에서 이 외장 메모리를 사용하려면, 두 단계를 더 수행해 주어야 MS Windows의 cmd 명령으로 “diskpart”에 들어가서 “clean”을 해 준 것과 동일한 결과를 얻을 수 있다.

제2 단계

  1. 한번에 끝났으면 좋으련만, $ 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
  2. $ diskutil unmountDisk /dev/disk2
  3. $ sudo fdisk -i /dev/disk2
  4. $ 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 단계

  1. [디스크 유틸리티] 프로그램을 실행한 후 “disk2s2″를 선택하고, [지우기] 아이콘을 누른 후 “포맷:MS-DOS(FAT)”로 선택하고 지우기를 실행한다.
  2. 계속 이어서 “USB Storage Device Media” 선택하고, [지우기] 아이콘을 누른 후 “포맷:MS-DOS(FAT)”와 “설계:마스터 부트 레코드”를 선택하여 지우기를 실행한다.
  3. 이제 $ 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 명령에 대한 더 자세한 사례는 여기에

6 thoughts on “맥OS에서 USB 메모리 파티션 초기화(diskpart clean처럼)

  1. 내가사장이다

    덕분에 USB 클리닝 잘 했습니다. 감사합니다.

    Reply
  2. 쿠헬헤

    좋은 글 감사합니다.

    오타가 있습니다.

    $ diskutkl list 로 써 주셨는데

    diskutil 이 맞을듯합니다.

    행복한 하루되세요.

    Reply
    1. 호박 Post author

      오타 지적해 주셔서 수정했습니다. 고맙습니다~

      Reply

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다