/ (루트) 파티션의 크기를 어떻게 조정할 수 있습니까?


171

내 SD 카드가 16GB인데도 플래시 한 이미지는 2GB에 불과하며 이제 디스크에서 2GB의 저장 공간 만 볼 수 있습니다.

루트 파티션에 더 많은 공간을 확보 할 수 있도록 이미지 크기를 조정하는 방법은 무엇입니까?


감사합니다 .. 나를 위해 큰 일을하고 내 시스템을 탱크하지 않았다. 아직도 IRC와 아파치 웹 서버와 내 전체 8 기가 바이트 용량을 가지고

1
당신이 남아있는 무료 SD 카드 공간에 새 파티션을 만들 수있을 때 왜 루트 파티션의 크기를 조정 한 다음에 루트 파티션 내에서 마운트 /mnt/storage예를 들어. 이렇게하면 시스템과 데이터가 효과적으로 분리되고 유지 관리 및 백업이 쉬워집니다.
mbaitoff

2
@mbaitoff-기본 시스템 이미지에는 68MiB 여유 공간 만 있기 때문에 추가 소프트웨어를 추가 할 공간이 충분하지 않습니다.
Jules

@ Jules-왜 파티션 크기를 조정하고 싶은지 묻지 않았습니다. A는 왜 시스템 파티션 마운트 포인트에 추가 스토리지를 마운트하는 대신 시스템 파티션의 크기를 조정하여 시스템과 소프트웨어 / 데이터를 효과적으로 분리해야하는지 묻고있었습니다. 저장을 원할 /mnt/storage경우 프로그램 마운트를 원할 경우 남아있는 SD spcae를 에 마운트하십시오 /opt/software/.
mbaitoff

@mbaitoff 대부분의 프로그램은 / opt / software가 아니라 / usr에 설치됩니다. 사전 빌드 된 이미지는 루트 파티션에서 / usr의 내용을 갖습니다. 따라서 기본이 아닌 소프트웨어를 설치하려면 루트 파티션의 크기를 늘려야합니다.
Jules

답변:


158

데비안을 사용한다고 가정합니다.

짧은 버전 :

  1. 시스템 백업
  2. 메인 파티션과 스왑 파티션을 제거하십시오 (부팅 파티션은 그대로 두십시오)
  3. 부팅 파티션을 제외한 나머지 디스크 공간을 사용하도록 주 파티션을 다시 만드십시오. 원래 루트 파티션과 동일한 시작 섹터를 재사용하십시오.
  4. 시스템을 재부팅
  5. 전체 부트 크기를 활용하려면 새 부트 루트 파티션의 크기를 조정하십시오.

단계별 지침

먼저 문제가 발생할 경우 여기 에 설명 된 지침에 따라 SD 카드를 백업 하십시오 .

명령 행 또는 터미널 창에서 다음을 입력하십시오.

sudo fdisk /dev/mmcblk0

그런 다음 입력 p하여 파티션 테이블을 나열하십시오.

세 개의 파티션이 나타납니다. 당신이 표시된 마지막 열에서 보면 시스템 , 당신은해야한다

  1. W95 FAT32
  2. 리눅스
  3. 리눅스 스왑

partiton 2의 시작 번호를 기록해 두었다가 나중에 필요합니다. (아마도) 여전히 화면에있을 것입니다.

다음 유형 d으로 파티션을 삭제하십시오.

그런 다음 삭제할 파티션 번호를 묻는 메시지가 나타납니다. 위의 경우 Linux 및 Linux 스왑 파티션을 모두 삭제하려고합니다.

타입 2

그런 다음 d다시 입력 한 다음 입력 3하여 스왑 파티션을 삭제하십시오.

이제 주 파티션의 크기를 조정할 수 있습니다.

n새 파티션을 만들려면 입력하십시오 .

이 새 파티션은 기본 파티션이어야하므로 type을 입력하십시오 p.

2파티션 번호를 묻는 메시지가 나타나면 다음을 입력하십시오 .

이제 새 파티션의 첫 번째 섹터를 입력하라는 메시지가 표시됩니다. 이전 단계 의 시작 번호입력하십시오 (Linux 파티션)

다음으로 마지막 섹터를 입력 하라는 메시지가 표시되면 Enter 키를 눌러 나머지 디스크 공간을 활용할 기본값 을 적용 하십시오 .

w변경 사항을 저장하려면 입력 하십시오.

다음 명령으로 시스템을 재부팅하십시오 :

sudo reboot

시스템이 재부팅되고 명령 행으로 돌아 오면 다음 명령을 입력하십시오.

sudo resize2fs /dev/mmcblk0p2

참고 :이 작업은 시간이 오래 걸리고 (카드 크기 및 속도에 따라) 파일 시스템을 엉망으로 만들지 않고 처음부터 다시 시작해야합니다.

완료되면 다음 명령을 사용하여 시스템을 재부팅하십시오.

sudo reboot

이제 다음 명령을 입력하여 시스템이 SD 카드의 전체 용량을 사용하고 있는지 확인할 수 있습니다.

df -h

이것이 작동하는 이유 :

여기서 진정한 마법 은 루트 및 스왑 파티션을 삭제 한 다음 데이터를 디스크에 쓰기 전에 루트 파티션 만 다시 작성하는 것입니다 (원래 시작 섹터 사용) . 결과적으로 루트 파티션에서 기존 데이터를 지우지 않습니다.

스왑 파티션을 제거하면 루트 파티션 룸이 현재 크기보다 커지고 디스크의 사용되지 않은 부분을 채울 수 있습니다 (파티션 배치 때문에 루트 파티션은 부팅 파티션과 스왑 파티션 사이에 끼워져 있습니다). 스왑 파티션 만 남겨두고 크기를 조정하십시오.

그런 다음 새로운 루트 파티션의 모든 공간을 사용하도록 파일 시스템의 크기를 조정 (마운트 된 디스크에서 안전하게 실행)하십시오.

심판 :


1
@Jivings 올바르게 수행하면 아무것도 잃지 않지만 1 단계 백업을 한 이유입니다.
Steve Robillard 2016 년

2
의견에서 이것이 어떻게 작동하는지뿐만 아니라 작동 하는지 문서화 해야하는 것처럼 보입니다 .
Jivings 2016 년

1
@Jivings는 이것이 귀하의 우려를 해결하기를 바랍니다.
Steve Robillard 2016 년

9
크기를 조정하기 위해 파티션을 삭제해야하는 것은 매우 잘못된 것 같습니다.
Alex Chamberlain

5
@AwesomeUser Mac에서는하지 말고 pi 자체에서 해보십시오. 또한 raspbian을 실행중인 경우 pi를 부팅하고 명령 줄에서 sudo raspi-config 명령을 실행하고 루트 파티션 크기 조정 옵션을 선택하십시오.
Steve Robillard

102

Debian-Wheezy Beta 이미지를 사용하면 다음과 같은 구성 유틸리티가 내장되어 있습니다.

라는 유틸리티가 raspi-config있습니다. RPi에 직접 연결된 경우 첫 부팅시 실행됩니다. SSH를 사용하는 경우을 사용하여 수동으로 실행할 수 있습니다 $ sudo raspi-config. (언제든지 수동으로 도구를 다시 실행할 수 있다고 생각합니다).

다음의 파란색 대화 상자의 두 번째 옵션은 expand_rootfs"SD 카드를 채우기 위해 루트 파티션 확장" 이라는 설명과 함께 제목 입니다.

이 옵션을 선택하면 다음에 RPi를 부팅 할 때 루트 파티션의 크기가 조정되어 카드를 채 웁니다.

2015 년 업데이트!

나는 16GB SD 카드를 사용하고 있으며 사용중인 카드를 채우기 위해 파티션을 maxxing하여 잡혔습니다. 그렇게하면 새 카드로 전환 할 때 (16GB라고하더라도) 이전 카드보다 약 200MB 더 작은 문제가 발생했습니다.

v1에서 몇 가지 RPis를 마이크로 SD 카드를 사용하는 새로운 v2 모델로 전환했을 때 이것은 머리가되었습니다.

이제 약 1GB의 여유 공간을 확보하여 문제없이 이미지를 SD 카드간에 전환 할 수 있습니다.


이 프로세스는 Pi의 16GB 카드로 약 10 분이 걸렸습니다.
Der Hochstapler

5
이것은 최고 답변보다 훨씬 간단합니다. 이것이 사용하는 솔루션입니다.
James Skimming

@JamesSkimming : Debian-Wheezy Beta 이미지에 사용하는 솔루션입니다. 다른 사람에게는 해당되지 않습니다.
SF.

OBi 키트와 함께 제공되는 SD 카드의 NOOBS에서 설치된 Raspbian에서는 작동하지 않습니다. 당신이 실행하려고 할 때 그것이이 설정에 의해 지원되지 않는 것을 말한다하지만, 실행중인 noobs에 있기 때문에 아마 어쨌든 모든 공간을 사용하고 ... 문제는 내가 32 기가 바이트 카드에 8 기가 바이트 이미지를 재부팅 시도하고있다 옵션을 확장
에오 Campbell

Raspi-config는 Raspbian Wheezy의 루트 크기를 조정하는 방법을 모릅니다. 제안한대로 expand_rootfs로 인해 문제가 발생했습니다. 위의 답변은 라이브 시스템의 매력처럼 작동하며 "약 1GB를 그대로 두지"않아도됩니다.
GTodorov

28

Steve Robillards의 훌륭한 답변과 같이 명령 줄 작업이 매우 불편한 경우 사용 가능한 GUI 응용 프로그램이 있습니다. 특히 gparted는 매우 잘 작동합니다.

기본적으로 Ubuntu LiveCD에는 설치되어 있지만 설치된 시스템에는 설치되어 있지 않습니다. 물론 이것에 대한 쉬운 수정이 있습니다 : apt-get install gparted. 파티션 크기를 조정하려면 마운트를 해제해야하기 때문에 실제 Pi에서는이 작업을 수행 할 수 없습니다.

아래 그림은 네덜란드어이지만 재미를 망치지 마십시오. 사용하기 매우 쉽습니다. 8gb sdcard의 기본 데비안 이미지 레이아웃입니다.

GParted

부분을 ​​마우스 오른쪽 단추로 클릭하여 마운트를 해제 한 다음 마우스 오른쪽 단추를 클릭하여 파티션 크기를 조정하거나 이동하십시오. 새 파티션을 생성하고 기존 파티션을 포맷 할 수도 있습니다. 아래 그림에서 스왑 파티션을 제거했으며 이제 루트 파티션의 크기를 오른쪽의 전체 공간으로 조정할 수 있습니다. 여전히 스왑 파티션을 추가해야하므로 완전히 채우지 마십시오.

크기 조정

파티션 레이아웃으로 재생할 수 있으며 변경 사항을 적용한 경우에만 변경 사항이 기록됩니다 (첫 번째 그림에서 회색으로 표시된 'return'키).

파티션을 옮기는 것은 매우 쉽지만 Steve의 답변과 같이 스왑 파티션을 완전히 제거한 다음 루트의 크기를 조정하고 스왑을 다시 만드는 것이 좋습니다. 파티션을 이동하는 데 시간이 오래 걸리고 스왑에 보관해야 할 데이터가 없습니다.


1
이 방법을 사용했습니다. 매력처럼 작동합니다.
Alex Chamberlain

동의한다. 나는 정확하게이 작업을하기 위해 gparted를 사용했고 매우 쉽다
JayDev

VNC를 통해 연결하는 경우sudo -E gparted
forzagreen

gpartedWayland에서 실행중인 경우 다음 명령을 실행해야 할 수도 있습니다 (이러한 문제가 해결되었는지 확실하지 않음).xhost +SI:localuser:root
John Manko

11

최신 Debian Wheezy 이미지를 사용하는 경우 : http://www.raspberrypi.org/archives/1435 부팅 시간 스크립트를 사용하면 sdcard를 자동으로 채울 수 있도록 크기를 조정할 수 있습니다.


1
아치 리눅스를 사용하고 있습니다.
Jivings 2016 년

2
그래도 어떻게 그런 일을합니까?

2
이것은 최신 wheezy 이미지의 파티션 크기를 조정하는 가장 쉬운 방법입니다.
유발 아담

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.