원시 디스크 이미지를 어떻게 확장합니까?


13

제공된 공식 이미지는을 사용하여 만들 수있는 원시 디스크 이미지 dd입니다.

이미지를 더 크게 만들려면 어떻게합니까? 이미 / (루트) 파티션의 크기어떻게 조정할 수 있습니까? .


확장하여 무슨 뜻인지 정확히 알지 못합니다. 디스크에 복사 하기 전에 이미지에서 '파티션 크기 조정'을 수행 하려고합니까?
Joost

이것이 한 가지 목표이지만이를 위해서는 디스크 이미지를 확장해야합니다.
Alex Chamberlain

답변:


13

이 질문 에서 설명했듯이 이미지를 확장하는 두 가지 방법이 있습니다. 다음은 파일을 1KB 확장하는 두 가지 예입니다.

DD는 스파 스가 아닌 파일을 만듭니다.

dd if=/dev/zero bs=1k count=1 >> myimage.img

잘림은 스파 스 파일을 만듭니다.

truncate -s +1024 myimage

잘림을 사용하고 싶을 것입니다. 스파 스 파일은 실제로 블록을 작성하는 대신 사용하는 블록의 메타 데이터 만 작성합니다. 이렇게하면 파일을 더 빨리 만들 수 있습니다 (실제로 0을 디스크에 쓸 필요가 없으므로) 디스크 공간을 절약합니다.

참고 Apple의 HFS + 파일 시스템은 스파 스 파일을 지원하지 않습니다.


HFS +가 POSIX를 준수하지 않습니까? linux.die.net/man/2/truncate
Alex Chamberlain

POSIX에 스파 스 파일을 지원 해야하는 경우 필요하지 않습니다. 다음은 HFS +와 ext (추측 치) stackoverflow.com/a/193015/689893 의 차이점에 대한 훌륭한 데모입니다 . 외관상으로는 파일을 생성하지만 스파 스 파일 대신 일반 파일처럼 디스크 공간을 사용합니다.
Joost

아니요, 오해 한 것 같습니다!
Alex Chamberlain

당신이 경우 스파 스 파일, 그것은 여전히 잘 될 것인가? dd
Alex Chamberlain

스파 스 파일에는 데이터가 포함되어 있으므로 0을 추가 할 수 있다고 생각합니다. 해당 부분을 스파 스가 아닌 것으로 처리합니다.
Joost

10

이미지 크기를 조정하는 매우 쉬운 방법은 qemu이라는 도구 중 하나를 사용하는 것입니다 qemu-img. 이것은 물론 qemu설치 한 사실에 달려 있습니다 (알렉스를 이미 알고 있음).

명령은 다음과 같습니다.

qemu-img resize filename [+|-]size[K|M|G|T]

filename이미지 파일은 어디에 있고 size는 이미지를 확대 (또는 축소)하려는 크기입니다.

예를 들어, 이미지 archarm.img를 2GB 로 확장하려면 다음을 실행하십시오.

qemu-img resize archarm.img +2G

맨 페이지를 참조하여 디스크 이미지를 축소하기 위해이 명령을 사용하기 전에 VM 내에서 파일 시스템 및 파티션 도구를 사용하여 할당 된 파일 시스템 및 파티션 크기를 줄여야합니다. 그렇지 않으면 데이터가 손실됩니다!
AntonioK
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.