Короткий ответ — да, можно, но «простейшего» способа, гарантирующего отсутствие риска, нет: либо вы переместите/скопируете разделы (что может занять много времени и рискованно), либо удалите/пересоздадите промежуточные разделы. Самый удобный и безопасный инструмент — GParted (Live‑CD/USB) и предварительная полная резервная копия данных.
Ниже — варианты и пошаговые рекомендации.
Что важно понять
- Расширить ext4 можно только в пространство, смежное с его концом в таблице разделов (т. е. «справа» от раздела). Если свободное пространство находится слева, его надо сдвинуть (переместить сам раздел) или изменить границы соседних разделов.
- Перемещение начала раздела (менять его старт) рискованнее, чем расширение конца, и требует копирования всех данных.
- Если речь о корневом разделе — операции выполняются из Live‑системы (раздел должен быть отмонтирован).
- Всегда делайте полную резервную копию перед операциями с разделами.
Вариант A — если свободное пространство уже справа от sda1
1. Загрузитесь с Live USB (GParted Live или любой дистрибутив с GParted).
2. Если разделы используются: отключите swap: sudo swapoff -v /dev/sda5 (или соответствующий).
3. В GParted просто растяните sda1 вправо на неразмеченное пространство и примените.
4. GParted автоматически выполнит e2fsck/resize2fs при необходимости.
Вариант B — если свободное пространство НЕ смежно (например, между sda1 и свободной областью лежит sda2/sda5)
Два подхода:
- B1 (GUI, «перемещение»): в GParted постепенно двигаете/сжимаеете промежуточные разделы (сначала переместите/сожмите sda5, затем sda2 и т. д.), пока свободное пространство не станет смежным с sda1, затем расширяете sda1. GParted будет копировать данные — долго, но работает.
- B2 (удалить и пересоздать swap): самый простой и быстрый вариант — удалить swap‑раздел(ы) (sda5), сдвинуть/изменить extended (sda2) при необходимости и расширить sda1, затем заново создать swap. Ещё проще — не создавать swap‑раздел вовсе, а сделать swap‑файл после расширения.
Рекомендованные шаги (практическая последовательность)
1. Резервная копия (обязательно).
2. Подготовка Live‑USB и загрузка с него.
3. Отключить swap: sudo swapoff -a
4. Открыть GParted.
5. Если можно — удалить swap‑раздел(s) (sda5). Это освободит место быстро.
6. Если у вас extended (sda2), сдвиньте/измените его границы так, чтобы неразмеченное пространство оказалось рядом с sda1.
7. Расширьте sda1 на освободившееся пространство.
8. Примените операции и дождитесь завершения (может быть долго).
9. Запустить проверку файловой системы: sudo e2fsck -f /dev/sda1
10. Если swap был удалён, создайте swap‑файл или пересоздайте swap‑раздел и обновите /etc/fstab (UUID изменится).
11. При необходимости (если были сдвинуты разделы загрузчика) восстановите GRUB.
Команды, которые могут пригодиться (в Live‑сессии)
- swapoff: sudo swapoff -v /dev/sda5 или sudo swapoff -a
- проверка ext4: sudo e2fsck -f /dev/sda1
- увеличение FS если нужно вручную: sudo resize2fs /dev/sda1
(обычно GParted делает эти шаги сам)
Дополнительно
- Если хотите минимизировать операции с разделами — удалите swap и используйте swap‑файл. Тогда не нужно перестраивать swap‑раздел.
- Если у вас LVM — расширение проще: можно добавлять PV в VG и расширять LV без перемещения разделов.
- Если вы не уверены — сделайте образ диска (dd или Clonezilla) перед операциями.
Вывод
Удаление swap и использование GParted из Live‑USB — самый практичный и быстрый путь. Перемещение разделов возможно, но медленно и рискованно — всегда делайте резервную копию и отключайте swap перед операциями. Если хотите, пришлите точную текущую разметку (вывод sudo fdisk -l или lsblk -f), и я подскажу конкретную последовательность шагов для вашего случая.