У меня на диске установлена Ubuntu. Проблема в том, что ему не хватает места на диске. Это установлено на vmware. Я расширил виртуальный диск и загрузился в ubuntu. Но когда я открыл gparted (sudo gparted), опция перемещения / изменения размера недоступна. Это раздел, на котором установлена Ubuntu, но мне нужно изменить его размер. Есть какие-нибудь идеи? Мне удобно использовать командную строку
На самом деле, вы мочь увеличивать корневая файловая система во время работы Ubuntu (я сам недавно узнал об этом здесь) - это звучит невероятно, но это правда :)
Вот список шагов для простого сценария, в котором у вас есть два раздела, /dev/sda1
является разделом ext4, с которого загружается ОС, и /dev/sdb2
это обмен. Для этого упражнения мы хотим удалить раздел подкачки с расширением /dev/sda1
на весь диск.
Как всегда, убедитесь, что у вас есть резервная копия ваших данных - поскольку мы собираемся изменить таблицу разделов, есть вероятность потерять все ваши данные, например, если вы допустите опечатку.
-
Бежать
sudo fdisk /dev/sda
- использовать
p
чтобы перечислить разделы. Обратите внимание на пусковой цилиндр/dev/sda1
- использовать
d
к удалить сначала раздел подкачки (2
) , а затем/dev/sda1
раздел. Это очень страшно, но на самом деле безвредно, поскольку данные не записываются на диск до тех пор, пока вы не запишете изменения на диск. - использовать
n
к творить новый основной раздел. Убедитесь, что его пусковой цилиндр точно такой же, как у старого/dev/sda1
раньше так и было. Для конечного цилиндра согласитесь с выбором по умолчанию, который заключается в том, чтобы сделать раздел охватывающим весь диск. - использовать
a
чтобы переключить загрузочный флаг на новом/dev/sda1
- просмотрите свои изменения, сделайте глубокий вдох и используйте
w
чтобы записать новую таблицу разделов на диск. Вы получите сообщение о том, что ядро не смогло повторно прочитать таблицу разделов, потому что устройство занято, но это нормально.
- использовать
Перезагрузка с помощью
sudo reboot
. Когда система загрузится, у вас будет меньший файловая система живущий в более крупном раздел.Следующая волшебная команда - это
resize2fs
. Бегиsudo resize2fs /dev/sda1
- в этой форме по умолчанию файловая система будет занимать все доступное пространство на разделе.
Вот и все, мы только что изменили размер раздела, на котором установлена Ubuntu, без загрузки с внешнего диска.
Два Метода
1. Протестировано на Ubuntu Server с 16.04 по 18.10
После расширения тома в VMware ESXi (завершение работы виртуальной машины, резервное копирование / экспорт виртуальной машины, удаление всех снимков, затем увеличение размера диска, сделайте снимок виртуальной машины еще раз, прежде чем выполнять следующие шаги, чтобы вы могли исправить ошибку / ошибку).
Следующий пример - расширение тома в корневом разделе в системе, которая уже использует LVM.
ssh
войдите в систему, переключитесь на root и запуститеcfdisk
# cfdиск-
После выхода из 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
-
Перезагрузите систему перед следующим шагом (иначе вы можете получить
Device /dev/sda3 not found (or ignored by filtering)
)# shutdown now -r
-
Инициализируйте новый том
# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created
-
Получить имя тома для расширения
# 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 ...
-
Расширить группу томов
# vgextend linuxetc1-vg /dev/sda3 Volume group "linuxetc1-vg" successfully extended
-
Расширить корень
# 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
-
Получите имя файловой системы для следующего шага
# 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
-
Расширение файловой системы
# 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.
-
Посмотрите на увеличенный размер
# 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.
ssh
войдите в систему, переключитесь на root и запуститеcfdisk
.Выберите раздел для расширения и выберите "Изменить размер".
После нажатия enter вы увидите экран со следующей пометкой "Изменен размер раздела [someNumber]".:
Далее вам нужно будет "Записать" (сохранить) свои изменения:
Выйти
cfdisk
. При выходе вы можете увидеть сообщение "синхронизация дисков".На данный момент я перезагрузил свою систему, но, возможно, в этом нет необходимости. Теперь вы можете перейти к шагу 19 из первого метода (повторяется ниже).
-
(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
Статьи:
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/sda3
(с d
команду) и повторно добавьте /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
не будет отображаться дополнительное пространство.
- Продолжайте до шага 9.
- Бежать
sudo lsblk
чтобы определить имя вашего раздела (у меня было sda3). - Бежать
sudo pvresize /dev/sda3
- Бежать
sudo lvextend -L +76G /dev/mapper/ubuntu--vg-ubuntu--lv
(замена размера и названия на ваши собственные) - Вернитесь к его методу и завершите оставшиеся шаги.
Источник: 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