Проблемы с разделами после обновления SD-карты

Проблемы с разделами после обновления SD-карты

Я пытаюсь обновить SD-карту моего Raspberry PI на большую. Я видел и пробовал такие руководства:https://raspberrypi.stackexchange.com/questions/499/how-can-i-resize-my-root-partition

Однако моя настройка немного отличается от той, что у них, и мне сложно понять, как это сделать правильно, не уничтожив при этом таблицу разделов.

Вывод fdisk:

Device         Boot    Start      End  Sectors  Size Id
/dev/mmcblk0p1          8192  2357421  2349230  1.1G  e W95 FAT16 (LBA)
/dev/mmcblk0p2       2357422 15523839 13166418  6.3G 85 Linux extended
/dev/mmcblk0p5       2359296  2424829    65534   32M 83 Linux
/dev/mmcblk0p6       2424832  2553855   129024   63M  c W95 FAT32 (LBA)
/dev/mmcblk0p7       2555904 14467069 11911166  5.7G 83 Linux
/dev/mmcblk0p8      14467072 15515647  1048576  512M 83 Linux

скриншот gparted:

введите описание изображения здесь

Может быть, кто-нибудь скажет мне несколько мудрых слов?

решение1

Если у вас есть Gparted, делайте все это с помощью Gparted. Так вам не придется запоминать точные номера или что-то еще. Второй совет: не меняйте местами разделы. Если вы хотите увеличить rootраздел, переместите его dataв конец свободного пространства и увеличивайте rootна месте. Это потому, что вы не можете быть уверены, что нет устаревшего кода, который ссылается на разделы по их номерам.

решение2

Я не вижу никаких проблем, если вы хотите изменить размер корневого раздела. Вам не нужно убивать разделы.

Прежде всего вам нужно изменить размер расширенного раздела /dev/mmcblk0p2. Вы можете сделать это через Gparted. Затем переместите /dev/mmcblk0p8раздел в конец диска. В конце измените размер корневого /dev/mmcblk0p7раздела на все свободное пространство.

Если вы Gpartedне хотите изменять размер расширенного раздела /dev/mmcblk0p2(я думаю, потому что он запущен внутри этого раздела), то у вас есть два способа:

  1. Пересоздайте все разделы от mmcblk0p2 до mmcblk0p8 в программе fdisk.
  2. Загрузите SystemRescueCD с USB-накопителя на компьютере и попробуйте еще раз использовать GParted на SystemRescueCD.

Будьте осторожны, когда будете использовать обе программы. Программа Fdisk не может перемещать разделы и данные внутри них. Не меняйте начальный сектор загрузочного раздела на /dev/mmcblk0p6и корневого раздела на /dev/mmcblk0p7, иначе вы восстановите загрузку установленного Linux.

Если вы выбрали первый способ, то вам нужно запомнить всю информацию обо всех разделах в секторах. Затем удалите mmcblk0p2раздел. Не записывайте результат на этом этапе, fdisk не применяет изменения немедленно. И если вы выйдете из fdiskили нажмете Ctrl+C, ничего не изменится. Затем создайте mmcblk0p2расширенный раздел (нажмите n, затем нажмите e) со старым номером начального сектора и новым номером последнего сектора. Затем пересоздайте другие логические разделы (нажмите , nзатем нажмите l) с /dev/mmcblk0p5по /dev/mmcblk0p8со старыми номерами начального и конечного секторов. Измените типы разделов, нажав tклавишу . Проверьте (нажмите p), все разделы будут иметь старые номера начального и конечного секторов, а типы исключают номер конечного сектора mmcblk0p2расширенного раздела. Если все хорошо, то запишите изменения на диск, нажав wклавишу . Перезагрузите сервер. Затем вы можете использовать , GPartedчтобы переместить последние два раздела в конец диска и изменить размер корневого раздела.

В дополнение:

Если fdisk не хочет пересоздавать разделы, попробуйте использовать parted:

$ sudo parted /dev/mmcblk0
(parted) unit s
(parted) print                                                            
(parted) resizepart 2 -1s                                                 
(parted) print                                                            
(parted) quit                                                            
$ sudo partprobe /dev/mmcblk0
$ sudo gparted /dev/mmcblk0

Удачи! И будьте осторожны.

решение3

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

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

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

Связанный контент