В данной статьи описан один из способов, как изменить/расширить размер корневого (системного или root) раздела на ОС Linux Ubuntu, Lubuntu, Raspbian, Debian и т.п. для использования не распределённой памяти на Raspberry Pi, Orange Pi, Banana Pi и т.п..
ВНИМАНИЕ!!! Лучше всего это сделать на «свежую» ОС, чтобы, в случае чего, не потерять данные или сделать резервную копию MicroSD карты памяти — это можно сделать с помощью утилиты Win32 Disk Imager, нажимая на кнопку Read.
Вывод таблицы разделов
Для начала выводим список разделов с помощью fdisk
, определим устройство, соответствующее SD.
sudo fdisk -l
Получаем примерно такой результат:
root@OrangePI:~# sudo fdisk -l Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0003c1e0 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 40960 172031 131072 64M b W95 FAT32 /dev/mmcblk0p2 172032 6547455 6375424 3G 83 Linux
В итоге мы имеем:
- Один диск (MicroSD накопитель) на 8 ГБ (
Disk /dev/mmcblk0: 7.4 GiB
); - И два раздела: один на 64 МБ (
/dev/mmcblk0p1 40960 172031 131072 64M b W95 FAT32
) и второй на 3 ГБ (/dev/mmcblk0p2 172032 6547455 6375424 3G 83 Linux
) — на этом разделе и установлена система.
Как изменить размер корневого раздела
Теперь переходим к расширению размера корневого раздела.
- Откроем инструмент разметки fdisk с устройством, соответствующим SD (mmcblk0):
sudo fdisk /dev/mmcblk0
результат:
root@OrangePI:~# sudo fdisk /dev/mmcblk0 Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
- Ещё раз выводим список разделов, вводим
p
:p
результат:
Command (m for help): p Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0003c1e0 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 40960 172031 131072 64M b W95 FAT32 /dev/mmcblk0p2 172032 6547455 6375424 3G 83 Linux Command (m for help):
Нам нужно сохранить сектор с которого партиция (раздел) начинается, в моём случае это 172032, он нам понадобится позже.
- Удаляем раздел, в котором находится файловая система (в этом случае есть только один, mmcblk0p1). Нажмите
d
, чтобы удалить раздел, потом введите2
, чтобы выбрать второй раздел:d
результат:
Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted. Command (m for help):
Раздел 2 был удален.
- Нажмите
n
, чтобы создать новый раздел:n
результат:
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p):
- Введите
p
, чтобы выбрать основной тип раздела:p
результат:
Select (default p): p Partition number (2-4, default 2):
- Нажимаем «
ENTER
» или2
, чтобы принять 2 в качестве номера раздела по умолчанию:2
результат:
Partition number (2-4, default 2): 2 First sector (2048-15523839, default 2048):
- Вводим номер сектора с которого партиция (раздел) начинается, в моём случае — это 172032, номер о котором было написано выше (пункт второй):
ВНИМАНИЕ!!! Если промахнёмся тут — значит всё, мы больше не сможем запустить ОС и прийдётся переустановить её.
172032
результат:
First sector (2048-15523839, default 2048): 172032 Last sector, +sectors or +size{K,M,G,T,P} (172032-15523839, default 15523839):
- Теперь нужно вводить номер сектора которым заканчивается раздел, оставляем параметр по умолчанию, для этого нажимаем «ENTER», таким образом будет выбрано всё свободное пространство. Результат:
Last sector, +sectors or +size{K,M,G,T,P} (172032-15523839, default 15523839): Created a new partition 2 of type 'Linux' and of size 7.3 GiB. Command (m for help):
- Нажмите
w
, чтобы записать новую таблицу разделов:w
результат:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8). root@OrangePI:~#
Он предупредит, что изменение таблицы невозможно (система активна).
- Перезагрузите систему, чтобы заставить ядро распознать новую таблицу разделов.
sudo reboot
- Теперь нужно изменить размер раздела, содержащего файловую систему (mmcblk0p1), на новый размер (максимальный размер SD):
sudo resize2fs /dev/mmcblk0p2
результат:
root@OrangePI:~# sudo resize2fs /dev/mmcblk0p2 resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/mmcblk0p2 is now 1918976 (4k) blocks long.
- Чтобы проверить, изменился ли размер корневого раздела, ещё раз выводим список разделов:
sudo fdisk -l
результат:
root@OrangePI:~# sudo fdisk -l Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0003c1e0 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 40960 172031 131072 64M b W95 FAT32 /dev/mmcblk0p2 172032 15523839 15351808 7.3G 83 Linux root@OrangePI:~#
Как мы видим теперь, размер корневого раздела почти 8 ГБ и мы можем использовать всю память.
Материалы
Banana Pi: resizing the SD card root partition on Lubuntu
Fdisk — wikipedia
Хорошая заметка, спасибо. Исследовал свою SD и обнаружил странное. По команде fdisk -l разглядел кроме 15 дисков /dev/ram1 … /dev/ram15. По 4 mb каждый. Предположительно — виртуальные диски !? Очень интересно. Среди смонтированных ( df) их нет.
Можете прокомментировать?
Я так полагаю, что у вас Raspbian, потому что я использую Ubuntu и в нём отсутствуют?
По поводу этих 16 разделов, это совершенно нормально в системах Linux. Это своего рода подготовительное пространство в случае, когда потребуются RAM. Каждый из них имеет размер, в зависимости от системы, от 4 до 64 МБ, что является очень низким значением. При необходимости размер будет увеличен автоматически.
https://askubuntu.com/questions/703576/fdisk-l-shows-16-ram-disks-dev-ram0-ram15
Спасибо.
Однако, для чего 15 дисков надо — не понятно. Я в качестве RAM диска использую /dev/shm. Может быть стоит использовать эти странные /dev/ram1 …?
Еще вопрос — и как уживается rapberry pi с ubuntu? Зачем? Какие преимущества вас привлекли? В и-нете на этот счет противоречиво
Почему именно столько — я не знаю, наверное создатели нашли «золотую середину» и это оптимальное количество с оптимальным размером. А использовать их — не думаю, что это хорошая идея, лучше оставить так как есть, иобо 1 ГБ оперативки уже маловато.
На второй вопрос я тоже не отвечу, мне просто удобно использовать Ubuntu, так как я уже привык (это первая моя ОС линукс), Raspbian я установил лишь несколько раз и не сдружились как-то 🙂 Если я не ошибаюсь, Raspbian быстрее и потребляет меньше ресурсов чем Ubuntu. Но тут опять — всё зависит от поставленных задач: для мультимедиа подойдёт Ubuntu, для работы — Raspbian (но это не точно, для rapberry pi возможно и обратное, у меня Orange Pi PC и Banana Pi M3).
Автор сей статьи огромное СПАСИБО это очень нужная информация, я сделал в точности по тутор алу и всё ваышло, до этого находил инструкции и что-то не работало, чтото выдавало ошибку. Ещё раз спасибо большое!!!)
Спасибо за инструкцию. Менял на orange pi по ней.
Поправка:
>Чтобы проверить, изменился ли размер корневого раздела… …fdisk -l
fdisk итак покажет новый размер сразу после w и ребута.
Так что, после resize2fs (изменения размера ФС) смотреть df -h
/dev/mmcblk1p1 7.3G 1.3G 5.9G 18% /
Спасибо. Всё получилось.
после 8 пункта программа сообщила, что нашла сигнатуру ext4 и спросила удалить ли? (да/нет). Выбрал нет и продолжил дальше.
Если вы искали где отремонтировать сломаную технику, обратите внимание — профи тех сервис новосибирск
Профессиональный сервисный центр по ремонту стиральных машин с выездом на дом по Москве.
Мы предлагаем: срочный ремонт стиральных машин в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: ремонт бытовой техники в казани
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание — профи ремонт
As a CNC technician, I’m always striving to refine my skills.
What are some frequent errors to steer clear of when CNC machining intricate advanced hydraulic component technology components?
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: сервисные центры по ремонту техники в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту игровых консолей Sony Playstation, Xbox, PSP Vita с выездом на дом по Москве.
Мы предлагаем: надежный сервис ремонта игровых консолей
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту компьютерных видеокарт по Москве.
Мы предлагаем: ремонт видеокарт
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту компьютероной техники в Москве.
Мы предлагаем: ремонт системного блока
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!