2019/11/28

dd_하드디스크_용량_계산

디스크 용량이 같은 경우
# dd if=/dev/hdd of=/dev/ssd status=progress

dd 디스크 용량이 다를 경우
용량이 다를 경우 dd 명령어로 데이터 복사 후 파티션 정보 수정.

hdd 디스크 보다 용량이 적은 ssd 디스크 복사
용량차이 때문에 복사할 수 없음.

계산 필요.
fdisk -l hdd
/devhdd1 start: 2048
/dev/hdd3 end: 13635583

13635583 + 1 = 13635584 섹터를 복사해야 한다.
섹터 기본크기는 512byte로 디스크 복사는 아래의 명령어로 수행한다.
dd if=/dev/hdd of=/dev/sdd bs=512 count=13635584 status=progress

복사 속도 향상 옵션: bs : 512 * 8 = 4096, count : 13635584÷8 = 1704448
dd if=/dev/hdd of=/dev/ssd bs=4096 count=1704448 status=progress

테이블 수정
기존 디스크 파티션 테이블이 그대로 복산됨.
전체 디스크 용량이 다르기 때문에 /dev/ssd 디스크에 맞게 파티션 테이블 수정

파티션 테이블 저장.
sfdisk -d /dev/hdd > part_table.txt

cat part_table.txt
label: gpt
lable-id: ~~~
device: /dev/hdd
unit: sectors
first-lba: 34
last-lba: 2097486

last-lba 값 확인.
이 값은 아래와 같이 계산되어진다.
fisk -l 했을 때
disk /dev/hdd: 10 Gib, 10737418240 bytes, 20191520 sectors
정보가 나오면.
last-lba : (/dev/hdd의 20971520 sectors) – (first-lba, 34) = 20971486

동일한 방법으로 정보 수정
fdisk -l /dev/ssd
disk /dev/ssd: 8 Gib, 8589934592 bytes, 16777216 sectors

/dev/ssd 디스크 정보 수정
수정후 last-lba : (/dev/ssd의 16777216 sectors) – (first-lba, 34) = 16777182

파티션 테이블 변경 정보 적용
sfdisk /dev/ssd < part_table.txt

gparted 또는 fdisk 다시 포맷해준다.

댓글 없음:

댓글 쓰기