Как изменить размер моего /(корневого) раздела?

Несмотря на то, что моя SD-карта составляет 16 ГБ, изображение, которое я на нее набросило, было всего 2 ГБ, и теперь я могу видеть только 2 ГБ дискового пространства.

Как изменить размер изображения, чтобы у меня было больше места на моем корневом разделе?

156 голосов | спросил Jivings 19 J0000006Europe/Moscow 2012, 13:15:47

5 ответов


147

Предполагая, что вы используете Debian.

Краткая версия:

  1. Резервное копирование вашей системы
  2. Удалите основной раздел и свопинг (оставив только загрузочный раздел)
  3. Восстановите основной раздел, чтобы использовать оставшееся место на диске (исключая загрузочный partiton). Обязательно повторите использование того же начального сектора, что и исходный корневой раздел.
  4. перезагрузите систему.
  5. измените размер нового загрузочного корневого раздела, чтобы использовать полный размер раздела.

Пошаговые инструкции

Сначала сделайте резервную копию вашей SD-карты, используя инструкции, найденные здесь в случае, если что-то пойдет не так.

В командной строке или в окне терминала введите

sudo fdisk /dev/mmcblk0

затем введите p, чтобы перечислить таблицу разделов

вы должны увидеть три раздела. если вы посмотрите в последнем столбце с надписью Система , вы должны иметь

  1. W95 FAT32
  2. Linux
  3. Linux Swap

запишите начальный номер для partiton 2, вам понадобится это позже. хотя он, вероятно, все еще будет на экране (на всякий случай).

следующий тип d , чтобы удалить раздел.

Затем вам будет предложено указать номер раздела, который вы хотите удалить. В приведенном выше примере вы хотите удалить разделы подкачки Linux и Linux.

Итак, введите 2

затем введите d и введите 3 , чтобы удалить раздел подкачки.

Теперь вы можете изменить размер основного раздела.

введите n , чтобы создать новый раздел.

Этот новый раздел должен быть основным разделом, поэтому введите p .

Затем введите 2 , когда будет предложено указать номер раздела.

Теперь вам будет предложен первый сектор для нового раздела. Введите начальный номер с более раннего этапа (раздел Linux)

Далее вам будет предложено указать последний сектор, который вы можете просто нажать enter, чтобы принять значение по умолчанию , которое будет использовать оставшееся место на диске.

Введите w , чтобы сохранить сделанные вами изменения.

Затем перезагрузите систему следующей командой:

sudo reboot

после перезагрузки системы и возврата в командной строке введите следующую команду:

sudo resize2fs /dev/mmcblk0p2

Примечание. Это может занять много времени (в зависимости от размера и скорости карты), чтобы он был терпелив и позволил ему закончить, чтобы вы не испортили файловую систему и должны начинать с нуля.

После завершения перезагрузки системы выполните следующую команду:

sudo reboot

Теперь вы можете проверить, что система использует полную емкость SD-карты, введя следующую команду:

df -h

Почему это работает:

Настоящая магия заключается в том, что вы удаляете разделы root и swap, а затем создавайте только корневой раздел (используя исходный сектор старта) перед записью данных на диск . В результате вы не удаляете существующие данные из корневого раздела.

Удалив раздел подкачки, вы разрешаете корневой комнате разделяться выше текущего размера и заполнять неиспользуемую часть диска (из-за размещения разделов - корневой раздел зажат между разделами загрузки и свопинга). не может быть просто изменена, оставив раздел подкачки в отдельности).

Затем вы изменяете размер (который безопасно запускать на смонтированном диске), чтобы файловая система использовала все пространство в новом корневом разделе.

ref:

ответил Steve Robillard 19 J0000006Europe/Moscow 2012, 14:04:34
93

Используя образ бета-версии Debian-Wheezy, есть встроенная утилита конфигурации, которая упрощает:

Существует утилита под названием raspi-config. Это выполняется при первой загрузке, если вы подключены непосредственно к RPi. Если вы закончили SSH, вы можете запустить его вручную, используя $ sudo raspi-config. (Я думаю, что вы можете повторно запустить инструмент вручную в любое время).

Вторая опция в следующем синем диалоговом окне называется expand_rootfs, с описанием «Разверните корневой раздел, чтобы заполнить SD-карту».

Выбор этого приведет к изменению размера корневого раздела для заполнения карты при следующем загрузке RPi.

Обновление до 2015 года!

Я возвращаюсь к этому ответу с осторожностью: я использую связку 16-Гбайт SD-карт, и меня заставил maxxing мой раздел заполнить карточку, которую я использовал. Это вызвало множество проблем при переключении на новую карту, которая (хотя и была заявлена ​​как 16 ГБ) была на 200 Мбайт меньше старой карты.

Это пришло в голову, когда я переключил пару RPis из v1 в новую модель v2, в которой используются карты Micro SD.

Теперь я оставляю около 1 Гб бесплатно, чтобы абсолютно убедиться, что мои изображения могут переключаться между SD-картами без проблем.

ответил Jon Egerton 5 J000000Thursday12 2012, 15:10:05
27

Если вам не очень удобно работать с командной строкой, как и у Стива Робилларда, отличный ответ, есть некоторые графические приложения. В частности, gparted работает очень хорошо.

Я думаю, что он установлен по умолчанию на Ubuntu LiveCD, но не в установленной системе. Конечно, есть легкое решение для этого: apt-get install gparted. Вы не можете сделать это на самом Pi, потому что для изменения размеров разделов их нужно размонтировать.

Рисунок ниже на голландском языке, но не позволяйте этому портить удовольствие. Он очень прост в использовании. Это макет дефианского изображения по умолчанию на SD-карте 8gb.

GParted

Щелкните правой кнопкой мыши разделы, чтобы отключить их, а затем щелкните правой кнопкой мыши, чтобы изменить размер или переместить раздел. Вы также можете создавать новые разделы и форматировать существующие. На рисунке ниже я удалил раздел подкачки, и теперь я могу изменить размер корневого раздела на все пространство справа от него. Не заполняйте его полностью, потому что вам все равно нужно добавить раздел подкачки.

Изменить размер

Вы можете играть с макетом разделов, изменения записываются только в том случае, если вы применяете изменения (серый код «return» на первом снимке).

Очень легко перемещать разделы, но, как и в ответе Стива, я рекомендую полностью удалить раздел подкачки, а затем изменить размер корня, а затем воссоздать своп. Перемещение раздела может занять очень много времени, а своп не содержит данных, которые необходимо сохранить.

ответил Joost 4 J000000Wednesday12 2012, 13:04:53
11

Если вы используете новый образ Debian Wheezy: http://www.raspberrypi.org/archives/1435 Сценарий загрузки позволяет вам изменять размер, чтобы автоматически заполнить SD-карту.

ответил popcornmix 20 J0000006Europe/Moscow 2012, 21:48:46
-3

Я следил за этим видео, и он отлично работал для меня (у меня карта на 16 ГБ):

http://www.youtube.com/watch?v=R4VovMDnsIE& функция = PLCP

ответил Mark Ingram 21 J0000006Europe/Moscow 2012, 21:14:23

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132