실행환경:ubuntu 20.04 lts
SD카드 이미지를 만들려고 하는데 64기가 정도 필요했습니다.
그런데 현재 제 노트북에는 20GB 밖에 남지 않아 고민하던중 USB에 이미지를 저장할 수 없을까 해서
시도한 끝에 성공해서 포스팅 남깁니다. (여러개 USB는 아직 안됨)
[1. usb에 이미지 파일 만들어 저장하기]
1)우선 SD카드리더기에 이미지를 뜰 SD카드를 넣고 연결해줍니다.
2)그리고 이미지가 저장될 usb도 연결해줍니다.
(저장 공간이 충분한 경우 2번 과정 후에 4-1로 가주시면 됩니다.)
연결된 장치를 아래 명령어로 확인합니다.
sudo parted -l
현재 /dev/sdc 에는 sd카드가 /dev/sdd 에는 usb가 연결된것을 확인할수 있습니다.
그 후에 sd카드를 umount 시켜줍니다.
*여기서 /dev/sdc는 제 노트북에서의 위치이므로 각자 확인해보시고 각자의 위치로 하면 됩니다.
sudo umount /dev/sdc
저같은 경우는 애초에 마운트 되지 않아서 저런 메시지가 뜨네요.
3)연결된 usb 마운트 시키기
그리고 mount를 해줍니다.먼저 mount 시킬 디렉토리를 만들어줍니다. 저는 nblusb라는 폴더에 마운트를 해보겠습니다.
mount /dev/sdd /home/nblusb/
이미 마운트 되었다고 나오네요.
다음 명령어로 마운트 위치를 알아냅니다.
df -h
저는 media/hy1이라는 곳에 마운트가 되어있네요.
4)sd카드 이미지를 usb에 생성하고 저장하기(복사x)
그리고 dd 명령어를 사용해서 /dev/sdc에 있는 sd카드를 아까 마운트 시킨 usb에 gzip을 이용하여 이미지를 만들어봅니다.
(media/hy1/1E.. 로 끝나는 디렉토리 뒤에 저장될 형태의 파일명을 정해주면 됩니다. 저는 nbl_image 라고 했습니다)
시간이 30분정도 소요됩니다.
sudo dd if=/dev/sdc conv=sync,noerror bs=64K | gzip -c > /media/hy1/1E6B-EEE8/nbl_image.img.gz
*명령어 간단 해석
dd는 복사하거나 파일 변환을 할때 쓰는 명령어입니다. 저는 이미지파일을 만들것이므로 이 명령어를 씁니다.
dd if=/dev/sdc 는 /dev/sdc의 내용을 읽고
conv=sync 는 파일을 변환하는 옵션입니다. inpit크기와 output크기가 차이가 있을때 null 문자로 변환한다는 의미입니다.
(읽어들이는것과 출력으로 내는 것 크기가 차이가 있을 때 크기를 맞추기 위한 설정 같습니다)
noerror은 파일을 읽으면서 오류가 발생해도 계속 작업을 진행하는 것을 의미합니다.
bs=64K는 한번 읽어들일 사이즈 64킬로바이트로 설정하는 것을 의미합니다.
| 는 파이프라인으로 and로 생각하시면 됩니다.
gzip은 리눅스에서 압축을 할때 씁니다.
-c 옵션은 원본파일은 그대로 둔다.
> /media/hy1/.. 는 어디에 파일을 출력할지(압축할지) 경로를 정해줍니다.
nbl_image.img.gz 는 gz 앞 img 파일 형식으로 압축할 것을 의미합니다.
https://bigsun84.tistory.com/312
완료후 아까 usb가 마운트된 위치로 가 확인해보면 이미지가 하나 생긴것을 볼 수 있습니다.
*여기는 usb가 아닌 저장공간에 이미지를 생성할 경우 입니다.
4-1)sd카드 이미지를 usb에 생성하고 저장하기(복사x)
(여기서 gzip -c > ~/ 으로 디렉토리를 설정했는데 원하는 디렉토리가 있다면 ~ 대신 그 디렉토리를 적어주셔도 됩니다.)
sudo dd if=/dev/sdc conv=sync,noerror bs=64K | gzip -c > ~/nbl_image.img.gz
[2.복사된 이미지를 새로운 sd카드에 복사하기]
1.먼저 usb리더기에 복사본을 넣을 새로운 sd카드를 넣고 연결해줍니다.
2. mount된 위치 확인하기
(저는 2개의 sd카드 리더기를 연결했습니다. 위치는/dev/sdc/ 와 /dev/sde로 되어 있네요.)
sudo parted -l
그리고 복사를 하려면 root권한이 필요하기에
저는 그냥 관리자모드로 바꿔서 진행했습니다.(sudo를 붙이면서 진행하셔도 됩니다.)
sudo su
그리고 연결된 마운트된 sd카드 위치로 복사해줍니다.
(저는 2개의 sd카드를 연결했기에 파이프라인 | 2개 사용했습니다만
1개만 사용해주세요.저렇게 했을땐 맨앞 1개만 복사가 되네요. 추후 방법을 알아내면 추가하겠습니다.)
시간은 리더기에 따라 소요시간이 다르며 저같은 경우는 40분이 걸렸습니다.
gunzip -c /media/hy1/1E6B-EEE8/nbl_image.img.gz | dd of=/dev/sdc bs=64K
*/media/hy1은 아까전 이미지를 저장해둔 위치(usb) 입니다.
본체 저장공간에 이미지가 있다면 그 디렉토리를 적어주면 됩니다.
[참고사이트]
https://scent2d.tistory.com/65
https://deep-eye.tistory.com/76
https://dongle94.github.io/ubuntu/ubuntu-sdcard-copy/
'오늘의 공부 > ubuntu' 카테고리의 다른 글
아파치 웹서버 자동시작 종료하기 (서비스관리) (0) | 2024.11.14 |
---|---|
ubuntu20.04 tty clock 설치하기 (0) | 2021.07.13 |
ubuntu 20.04 hostname 변경:hostnamectl 사용 (0) | 2021.03.31 |
우분투 20.04 anaconda navigator not found (0) | 2021.03.30 |
ubuntu20.04에서 docker-compose 설치하기 (0) | 2021.02.03 |