파다 평범일상

맥북에서 SD카드 복제, Clone SD Card 본문

컴퓨터 IT/얕은 컴퓨터 지식과 프로그래밍

맥북에서 SD카드 복제, Clone SD Card

파다 평범일상 2024. 5. 28. 14:41
반응형

진행 환경

HW

  • MacBook Pro (Apple M1 Pro, macOS Ventura)
  • Samsung 32G SD Card 2개

SW

  • Terminal
  • diskutil

실행할때 아래 모든코드블럭의 "//" 문은 설명을 위해 작성한 것이므로, 따라쓰지 않아도 된다.

SD 카드 이미지 생성하기

첫번째 SD 카드에서 두번째 SD 카드로 모든 데이터를 복제하려면, 첫번째 SD 카드의 이미지가 필요하다. 이제부터 이미지생성을 해볼것이다.

 

1.  첫번째 SD 카드를 MacBook에 연결하고 확인

user@-MacBookPro ~ % diskutil list

 

내가 연결한 첫번째 SD 카드의 정보가 다음과 같이 나왔으므로, 정상적으로 연결되었다.

/dev/disk7 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *32.0 GB    disk7

 

2.  첫번째 SD 카드의 이미지 생성

user@-MacBookPro ~ % sudo dd if=/dev/disk7 of=~/Desktop/image.dd bs=1m && sync && sync

 

이미지 생성 명령어의 각 부분은 다음과 같은 역할이니, 궁금하면 확인하기

  • "sudo"는 관리자(루트 사용자)로 실행하는 명령어이다.
  • "dd"는 Linux의 디스크 덤프 명령어이다.
  • "if"는 복사 하는 대상 또는 이미지를 만들 대상 (SD 카드의 경로)이다. diskutil list를 통해서 확인할 수 있다.
  • "of"는 복사한 결과를 적용하려는 대상 또는 결과물의 위치이다.
  • "bs"는 블록 크기를 설정하여 초당 복사되는 바이트 수를 결정하는 명령어이다. SD 카드의 읽기/쓰기 속도에 따라 블록 크기가 차이난다.
  • "sync"는 SD 카드에서 아직 캐시에 남아 있는 데이터를 플러시하는 명령어이다.

3.  진행상황 파악

이미지 생성하는 과정중에는 진행상황이 아무것도 나오지 않는다. 몇 프로 진행했는지 얼마나 남았는지 같은것들이 안나온다.

다음 커맨드를 이미지 생성하는 터미널에서 눌러보자.

control t

 

지금까지 옮긴 데이터량과 소요한 시간등이 표시된다.

load: 2.04  cmd: dd 56456 uninterruptible 0.04u 40.09s
17338+0 records in
17338+0 records out
18180210688 bytes transferred in 1898.682103 secs (9575174 bytes/sec)

 

SD 카드에  이미지 적용하기

첫번째 SD 카드에서 생성한 이미지를 두번째 SD 카드에 적용해서 이제 복제할 것이다. 

 

1.  두번째 SD 카드를 MacBook에 연결하고 확인

새로운 SD 카드를 맥북에 마운트를 시키고 마운트 "diskutil list" 명령어를 사용하여 현재 마운트 리스트를 확인해보자.

diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:             Apple_APFS_ISC Container disk1         524.3 MB   disk0s1
   2:                 Apple_APFS Container disk3         494.4 GB   disk0s2
   3:        Apple_APFS_Recovery Container disk2         5.4 GB     disk0s3

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +494.4 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            13.2 GB    disk3s1
   2:              APFS Snapshot com.apple.os.update-... 13.2 GB    disk3s1s1
   3:                APFS Volume Preboot                 9.8 GB     disk3s2
   4:                APFS Volume Recovery                1.6 GB     disk3s3
   5:                APFS Volume Data                    456.8 GB   disk3s5
   6:                APFS Volume VM                      20.5 KB    disk3s6

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.9 GB    disk4
   1:             Windows_FAT_32 NO NAME                 31.9 GB    disk4s1

 

"/dev/disk4 (external, physical)"이라는 이름으로 정상적으로 32GB의 SD 카드를 마운트된것을 확인할 수 있다.

 

2.  두번째 SD 카드 포맷하기위해 언마운트 (Unmount) 하기

이미지를 복사하기 전에는 깨끗한 상태로 진행하는게 좋기 때문에 포맷부터 진행할 예정이다. 다음을 참고하여 언마운트부터 해보자.

diskutil unmountDisk /dev/disk4
Unmount of all volumes on disk4 was successfu

 

언마운트 (Unmount)가 정상적으로 되었다면 위 예제같이 성공했다는 로그를 출력하며, "diskutil list" 명령어를 사용했을때 사라졌을 것이다.

3.  두번째 SD 카드 포맷하기

sudo newfs_msdos -F 32 /dev/disk4
Password:
newfs_msdos: warning: /dev/disk4 is not a character device
512 bytes per physical sector
/dev/disk4: 62303488 sectors in 1946984 FAT32 clusters (16384 bytes/cluster)
bps=512 spc=32 res=32 nft=2 mid=0xf0 spt=32 hds=255 hid=0 drv=0x00 bsec=62333952 bspf=15211 rdcl=2 infs=1 bkbs=6

 

4.  두번째 SD 카드에 이미지 적용하기

sudo dd if=~/Desktop/image.dd of=/dev/disk4 bs=1m && sync && sync

 

 

Comments