리눅스에서는 내장 명령어인 dd 를 이용해 디스크 전체를 그대로 복사하거나 이미지 파일로 만들 수 있습니다.
운영체제 설치 USB를 만들거나, 중요한 디스크를 백업할 때 많이 사용하는 방법입니다.
이번 글에서는 dd로 디스크 이미지를 뜨는 방법과 활용 팁을 정리해보겠습니다.
1. dd 기본 개념
dd는 디스크 단위의 복사(copy and convert) 를 수행하는 유틸리티입니다.
파일 단위가 아니라 블록 단위로 읽고 쓰기 때문에, 파일 시스템이나 OS 종류에 상관없이 그대로 복제가 가능합니다.
명령어 기본 구조는 다음과 같습니다:
dd if=<입력 장치/파일> of=<출력 장치/파일> [옵션]
- if= : 입력 (Input File, 보통 디스크/이미지)
- of= : 출력 (Output File, 복사될 위치)
- bs= : 블록 크기 (복사 단위, 기본은 512바이트 → 보통 4M 정도 사용)
- status=progress : 진행률 표시 (새로운 dd 버전에서 지원)
2. 디스크 → 이미지 파일 만들기
예를 들어 USB 드라이브(/dev/sdb) 전체를 이미지 파일(usb_backup.img)로 저장하려면:
sudo dd if=/dev/sdb of=usb_backup.img bs=4M status=progress
※ 이 경우 파티션, 부트 섹터까지 그대로 저장되므로, 복원하면 완벽히 동일한 디스크가 됩니다.
3. 이미지 파일 → 디스크 복원하기
저장한 이미지를 다시 USB에 복구하려면:
sudo dd if=usb_backup.img of=/dev/sdb bs=4M status=progress
주의: of에 지정한 디바이스(/dev/sdb)는 덮어쓰기 되므로, 꼭 대상 장치가 맞는지 확인해야 합니다.
4. 디스크 → 디스크 직접 복사
두 개의 디스크가 있을 때, 그대로 복제할 수도 있습니다.
sudo dd if=/dev/sdb of=/dev/sdc bs=4M status=progress
→ /dev/sdb 내용을 /dev/sdc에 1:1로 복사합니다.
5. 부분 백업 (파티션 단위)
전체 디스크가 아닌 특정 파티션만 이미지로 뜰 수도 있습니다.
sudo dd if=/dev/sdb1 of=partition_backup.img bs=4M status=progress
6. 유용한 활용 예시
부트 섹터(512바이트)만 백업
sudo dd if=/dev/sda of=mbr_backup.bin bs=512 count=1
압축해서 백업하기
sudo dd if=/dev/sdb bs=4M | gzip > usb_backup.img.gz
압축된 이미지 복원하기
gunzip -c usb_backup.img.gz | sudo dd of=/dev/sdb bs=4M status=progress
7. 진행 상황 확인하기
최신 dd는 status=progress 옵션으로 진행률을 보여줍니다.
구버전에서는 kill -USR1 <dd 프로세스ID> 신호를 보내면 현재 복사 상태를 확인할 수 있습니다.
참고로 구버전 터미널에서 실행할 경우 아래와 같이 &를 붙여 백그라운드에서 실행해야 다른 작업을 할 수 있습니다.
sudo dd if=/dev/sdb of=usb_backup.img bs=4M &
dd 실행 및 진행 상태 보기 예)

8. 주의사항 !!
of= 에 잘못된 디바이스를 지정하면 데이터가 날아갑니다. 항상 lsblk 나 fdisk -l 로 장치를 확인하세요.
이미지 복사 시에는 입력(if)과 출력(of) 순서를 헷갈리지 않도록 주의하세요.
복사 속도는 장치 성능과 bs 값에 따라 달라집니다. 일반적으로 bs=4M 정도가 무난합니다.
dd는 단순하지만 강력한 툴입니다.
디스크 전체 백업부터 부트 섹터 추출, 운영체제 설치 USB 제작까지 다양하게 활용할 수 있습니다.
다만, 잘못 사용하면 순식간에 데이터가 사라질 수 있으니 반드시 장치를 정확히 확인한 후 실행하는 습관을 들이시길 권장합니다.
'공학속으로 > 운영체제' 카테고리의 다른 글
| [Linux] 우분투 전원 꺼짐 방지 (0) | 2026.01.07 |
|---|---|
| [Linux] 우분투에서 Notepad++ 설치하기 (0) | 2026.01.07 |
| 리눅스에서 디바이스 마운트하기 (0) | 2025.09.19 |
| [리눅스] VI 사용법 (0) | 2024.09.10 |
| raw vmdk 등 이미지 파일 포멧 변환 (0) | 2024.08.13 |
댓글