Увеличить размер раздела, на котором установлена Ubuntu?

У меня на диске установлена Ubuntu. Проблема в том, что ему не хватает места на диске. Это установлено на vmware. Я расширил виртуальный диск и загрузился в ubuntu. Но когда я открыл gparted (sudo gparted), опция перемещения / изменения размера недоступна. Это раздел, на котором установлена Ubuntu, но мне нужно изменить его размер. Есть какие-нибудь идеи? Мне удобно использовать командную строку

На самом деле, вы мочь увеличивать корневая файловая система во время работы Ubuntu (я сам недавно узнал об этом здесь) - это звучит невероятно, но это правда :)

Вот список шагов для простого сценария, в котором у вас есть два раздела, /dev/sda1 является разделом ext4, с которого загружается ОС, и /dev/sdb2 это обмен. Для этого упражнения мы хотим удалить раздел подкачки с расширением /dev/sda1 на весь диск.

  1. Как всегда, убедитесь, что у вас есть резервная копия ваших данных - поскольку мы собираемся изменить таблицу разделов, есть вероятность потерять все ваши данные, например, если вы допустите опечатку.

  2. Бежать sudo fdisk /dev/sda

    • использовать p чтобы перечислить разделы. Обратите внимание на пусковой цилиндр /dev/sda1
    • использовать d к удалить сначала раздел подкачки (2) , а затем /dev/sda1 раздел. Это очень страшно, но на самом деле безвредно, поскольку данные не записываются на диск до тех пор, пока вы не запишете изменения на диск.
    • использовать n к творить новый основной раздел. Убедитесь, что его пусковой цилиндр точно такой же, как у старого /dev/sda1 раньше так и было. Для конечного цилиндра согласитесь с выбором по умолчанию, который заключается в том, чтобы сделать раздел охватывающим весь диск.
    • использовать a чтобы переключить загрузочный флаг на новом /dev/sda1
    • просмотрите свои изменения, сделайте глубокий вдох и используйте w чтобы записать новую таблицу разделов на диск. Вы получите сообщение о том, что ядро не смогло повторно прочитать таблицу разделов, потому что устройство занято, но это нормально.
  3. Перезагрузка с помощью sudo reboot. Когда система загрузится, у вас будет меньший файловая система живущий в более крупном раздел.

  4. Следующая волшебная команда - это resize2fs. Беги sudo resize2fs /dev/sda1 - в этой форме по умолчанию файловая система будет занимать все доступное пространство на разделе.

Вот и все, мы только что изменили размер раздела, на котором установлена Ubuntu, без загрузки с внешнего диска.

Два Метода

1. Протестировано на Ubuntu Server с 16.04 по 18.10

После расширения тома в VMware ESXi (завершение работы виртуальной машины, резервное копирование / экспорт виртуальной машины, удаление всех снимков, затем увеличение размера диска, сделайте снимок виртуальной машины еще раз, прежде чем выполнять следующие шаги, чтобы вы могли исправить ошибку / ошибку).

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

  1. ssh войдите в систему, переключитесь на root и запустите cfdisk
    # cfdиск

  2. enter image description here

  3. enter image description here

  4. enter image description here

  5. enter image description here

  6. enter image description here

  7. enter image description here

  8. enter image description here

  9. enter image description here

  10. enter image description here

  11. enter image description here

  12. enter image description here

  13. После выхода из cfdisk

     # fdisk -l /dev/sda  Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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: 0xc8b647ff Device     Boot    Start      End  Sectors  Size Id Type /dev/sda1  *        2048   999423   997376  487M 83 Linux /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****) /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
  14. Перезагрузите систему перед следующим шагом (иначе вы можете получить Device /dev/sda3 not found (or ignored by filtering))

     # shutdown now -r
  15. Инициализируйте новый том

     # pvcreate /dev/sda3   Physical volume "/dev/sda3" successfully created
  16. Получить имя тома для расширения

     # vgdisplay   --- Volume group ---   VG Name               linuxetc1-vg (***** this is vg i'm extending*****)   System ID                Format                lvm2   Metadata Areas        1   Metadata Sequence No  3   VG Access             read/write   VG Status             resizable   MAX LV                0   Cur LV                2   Open LV               2   Max PV                0   Cur PV                1   Act PV                1   VG Size               7.52 GiB   PE Size               4.00 MiB   Total PE              1925   Alloc PE / Size       1925 / 7.52 GiB   Free  PE / Size       0 / 0     ...
  17. Расширить группу томов

     # vgextend linuxetc1-vg /dev/sda3   Volume group "linuxetc1-vg" successfully extended
  18. Расширить корень

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root   Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).   Logical volume root successfully resized. Or if you only wanted to give 5 more GB to root # lvextend -L +5g /dev/linuxetc1-vg/root
  19. Получите имя файловой системы для следующего шага

     # df -h Filesystem                      Size  Used Avail Use% Mounted on udev                            477M     0  477M   0% /dev tmpfs                           100M  4.6M   95M   5% /run /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****) tmpfs                           497M     0  497M   0% /dev/shm tmpfs                           5.0M     0  5.0M   0% /run/lock tmpfs                           497M     0  497M   0% /sys/fs/cgroup /dev/sda1                       472M  105M  343M  24% /boot tmpfs                           100M     0  100M   0% /run/user/1000
  20. Расширение файловой системы

     # resize2fs /dev/mapper/linuxetc1--vg-root resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
  21. Посмотрите на увеличенный размер

     # df -h Filesystem                      Size  Used Avail Use% Mounted on udev                            477M     0  477M   0% /dev tmpfs                           100M  4.6M   95M   5% /run /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****) tmpfs                           497M     0  497M   0% /dev/shm tmpfs                           5.0M     0  5.0M   0% /run/lock tmpfs                           497M     0  497M   0% /sys/fs/cgroup /dev/sda1                       472M  105M  343M  24% /boot tmpfs                           100M     0  100M   0% /run/user/1000

2. Более быстрый метод, протестированный в Ubuntu Server 18.04.3 LTS

Этот метод немного быстрее, чем первый. Это связано с новой опцией в cfdisk меню вызывается "Изменение размера" это экономит некоторые шаги.

После расширения тома в VMware ESXi (завершение работы виртуальной машины, резервное копирование / экспорт виртуальной машины, удаление всех снимков, затем увеличение размера диска, сделайте снимок виртуальной машины еще раз, прежде чем выполнять следующие шаги, чтобы вы могли исправить ошибку / ошибку).

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

  1. ssh войдите в систему, переключитесь на root и запустите cfdisk.

  2. Выберите раздел для расширения и выберите "Изменить размер".enter image description here

  3. Установите "Новый размер".enter image description here

  4. После нажатия enter вы увидите экран со следующей пометкой "Изменен размер раздела [someNumber]".:enter image description here

  5. Далее вам нужно будет "Записать" (сохранить) свои изменения:enter image description hereenter image description hereenter image description here

  6. Выйти cfdisk. При выходе вы можете увидеть сообщение "синхронизация дисков".enter image description hereenter image description here

  7. На данный момент я перезагрузил свою систему, но, возможно, в этом нет необходимости. Теперь вы можете перейти к шагу 19 из первого метода (повторяется ниже).

  8. (19) Получить имя файловой системы для следующего шага

     # df -h Filesystem                      Size  Used Avail Use% Mounted on udev                            477M     0  477M   0% /dev tmpfs                           100M  4.6M   95M   5% /run /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****) tmpfs                           497M     0  497M   0% /dev/shm tmpfs                           5.0M     0  5.0M   0% /run/lock tmpfs                           497M     0  497M   0% /sys/fs/cgroup /dev/sda1                       472M  105M  343M  24% /boot tmpfs                           100M     0  100M   0% /run/user/1000
  9. (20) Расширение файловой системы

     # resize2fs /dev/mapper/linuxetc1--vg-root resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
  10. (21) Смотрите увеличенный размер

     # df -h Filesystem                      Size  Used Avail Use% Mounted on udev                            477M     0  477M   0% /dev tmpfs                           100M  4.6M   95M   5% /run /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****) tmpfs                           497M     0  497M   0% /dev/shm tmpfs                           5.0M     0  5.0M   0% /run/lock tmpfs                           497M     0  497M   0% /sys/fs/cgroup /dev/sda1                       472M  105M  343M  24% /boot tmpfs                           100M     0  100M   0% /run/user/1000

Статьи:
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm

Вы почти на месте.
Вы не может измените размер раздела с помощью GParted во время работы Ubuntu.
Вам нужно будет прикрепить ISO-файлы GParted в виде компакт-диска к виртуальной машине и перезагрузить компьютер, чтобы GParted был загружен вместо Ubuntu (я думаю, вы можете загрузиться с виртуального компакт-диска, нажав F12 сразу после запуска машины).
Как только вы загрузитесь в GParted, опция перемещения / изменения размера будет включена, поскольку Ubuntu в данный момент не запущена.

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

Device     Boot    Start       End  Sectors Size Id Type/dev/sda1  *        2048  33556477 33554430  16G 83 Linux/dev/sda2       33556478  41940991  8384514   4G  5 Extended/dev/sda3       41940992 125829119 83888128  40G 83 Linux/dev/sda5       33556480  41940991  8384512   4G 82 Linux swap / Solaris

В приведенном выше случае, если вы хотите объединить /dev/sda3 с /dev/sda1, вам нужно будет удалить /dev/sda1, /dev/sda2, и /dev/sda3d команду) и повторно добавьте /dev/sda2 и обновите его тип (с помощью n и t команды).

Я заметил, что у моей виртуальной машины ubuntu был LVM, который просто не использовал все выделенное пространство.Итак, чтобы добавить места в мой LVM, это было довольно просто: https://wiki.ubuntu.com/Lvm глава: "изменение размера разделов".

Например: Быстрый способ узнать, есть ли у вас LVM, - это сделать df -hи посмотрите на эту строку:

/dev/mapper/ubuntu--vg-ubuntu--lv  689G   20G  639G   3% /

И... видите ли, на самом деле это не классический тип точки монтирования "/dev/sda1".

Затем запустите команды расширения для этого раздела.

sudo lvextend -L +500g /dev/mapper/ubuntu--vg-ubuntu--lvsudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

Еще одна быстрая подсказка, которая напомнила мне проверить наличие LVM, заключалась в том, что я заметил, когда посмотрел на разделы fdisk и увидел, что у меня есть большой раздел / dev / sda3, который на самом деле нигде не был смонтирован. (т.е.: когда я проверил с помощью команды монтирования).

"более быстрый" метод jtlindsey работает на LVMS, но в нем отсутствуют некоторые шаги. df -h не будет отображаться дополнительное пространство.

  1. Продолжайте до шага 9.
  2. Бежать sudo lsblk чтобы определить имя вашего раздела (у меня было sda3).
  3. Бежать sudo pvresize /dev/sda3
  4. Бежать sudo lvextend -L +76G /dev/mapper/ubuntu--vg-ubuntu--lv (замена размера и названия на ваши собственные)
  5. Вернитесь к его методу и завершите оставшиеся шаги.

Источник: https://askubuntu.com/a/1047512/393368

Мне удалось увеличить свой основной раздел ext4, используя описанную методологию здесь.

Несколько заметок из моего личного опыта:

  • Пример ссылки предназначен для уменьшения размера раздела, следовательно, порядок сначала resize2fs, а затем fdisk. При увеличении раздела (как в моем случае) порядок должен быть следующим: сначала fdisk, перезагрузка, а затем изменение размера 2fs. Кроме того, при использовании fdisk основные, а также расширенные разделы должны быть удалены и переопределены.
  • Я загрузил Ubuntu с другого диска, а затем работал на этом диске, который на самом деле был зеркалом (с использованием dd) старого диска. Сделал его загрузочным с помощью GParted
  • Текущая версия resize2fs (я использую Ubuntu 12.04LTS) поддерживает ext4 - нет необходимости выполнять действия, описанные в ссылке, чтобы изменить его на ext2.

Вы можете увидеть, как они это делают, в “raspi-config” для Raspberry Pi, где расширение корневой файловой системы - это то, что вы делаете почти каждый раз, когда настраиваете новый Raspberry Pi. raspi-config/raspi-config at 9895c6cfc897339887a471b8ee891d606c3ed79b · RPi-Distro/raspi-config · GitHub

Я нашел учебник на YouTube, который может быть хорошим ответом на этот вопрос, он начинается с этой позиции: Big Blue Button installation - YouTube