Как изменить размер моего /(корневого) раздела?
Несмотря на то, что моя SD-карта составляет 16 ГБ, изображение, которое я на нее набросило, было всего 2 ГБ, и теперь я могу видеть только 2 ГБ дискового пространства.
Как изменить размер изображения, чтобы у меня было больше места на моем корневом разделе?
5 ответов
Предполагая, что вы используете Debian.
Краткая версия:
- Резервное копирование вашей системы
- Удалите основной раздел и свопинг (оставив только загрузочный раздел)
- Восстановите основной раздел, чтобы использовать оставшееся место на диске (исключая загрузочный partiton). Обязательно повторите использование того же начального сектора, что и исходный корневой раздел.
- перезагрузите систему.
- измените размер нового загрузочного корневого раздела, чтобы использовать полный размер раздела.
Пошаговые инструкции
Сначала сделайте резервную копию вашей SD-карты, используя инструкции, найденные здесь в случае, если что-то пойдет не так.
В командной строке или в окне терминала введите
sudo fdisk /dev/mmcblk0
затем введите p
, чтобы перечислить таблицу разделов
вы должны увидеть три раздела. если вы посмотрите в последнем столбце с надписью Система , вы должны иметь
- W95 FAT32
- Linux
- 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:
Используя образ бета-версии 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-картами без проблем.
Если вам не очень удобно работать с командной строкой, как и у Стива Робилларда, отличный ответ, есть некоторые графические приложения. В частности, gparted работает очень хорошо.
Я думаю, что он установлен по умолчанию на Ubuntu LiveCD, но не в установленной системе. Конечно, есть легкое решение для этого: apt-get install gparted
. Вы не можете сделать это на самом Pi, потому что для изменения размеров разделов их нужно размонтировать.
Рисунок ниже на голландском языке, но не позволяйте этому портить удовольствие. Он очень прост в использовании. Это макет дефианского изображения по умолчанию на SD-карте 8gb.
Щелкните правой кнопкой мыши разделы, чтобы отключить их, а затем щелкните правой кнопкой мыши, чтобы изменить размер или переместить раздел. Вы также можете создавать новые разделы и форматировать существующие. На рисунке ниже я удалил раздел подкачки, и теперь я могу изменить размер корневого раздела на все пространство справа от него. Не заполняйте его полностью, потому что вам все равно нужно добавить раздел подкачки.
Вы можете играть с макетом разделов, изменения записываются только в том случае, если вы применяете изменения (серый код «return» на первом снимке).
Очень легко перемещать разделы, но, как и в ответе Стива, я рекомендую полностью удалить раздел подкачки, а затем изменить размер корня, а затем воссоздать своп. Перемещение раздела может занять очень много времени, а своп не содержит данных, которые необходимо сохранить.
Если вы используете новый образ Debian Wheezy: http://www.raspberrypi.org/archives/1435 Сценарий загрузки позволяет вам изменять размер, чтобы автоматически заполнить SD-карту.
Я следил за этим видео, и он отлично работал для меня (у меня карта на 16 ГБ):