Как безопасно увеличить размер раздела Linux на диске с Windows (MBR/Extended)
Кратко: у вас 2 ТБ диск с Windows 10 и Linux Mint. В Linux сообщение о нехватке места в корневом разделе (ext4, например /dev/sda7). При попытке создать/расширить раздел GParted и Диски предупреждают, что нельзя создать ещё один раздел — потому что на диске используется MBR (msdos) таблица разделов: максимум 4 первичных / 3 первичных + 1 extended. Ваша Linux-разметка находится внутри extended (/dev/sda4), а между ним и нераспределённым пространством стоит раздел Windows Recovery (/dev/sda3).
Что происходит простыми словами
- MBR-таблица ограничивает количество первичных разделов до 4. Для логических разделов используется один «extended» раздел, внутри которого могут быть несколько логических.
- Чтобы расширить логический раздел (например /dev/sda7) в сторону нераспределённого пространства, сначала нужно освободить этот путь — переместить или удалить разделы, которые находятся между.
- Перемещение/изменение размеров разделов — рискованная операция: всегда делайте резервную копию перед началом.
Варианты решения
Вариант 1 — самый простой и безопасный: почистить систему и/или создать отдельный data-раздел
Когда задача — освободить место для данных, часто проще не трогать системные разделы вообще:
- Проверьте, действительно ли корневой раздел занят настолько (du -sh /*, ncdu, или GUI-анализаторы). Часто много места занимает /home, кеши, старые ядра и т.п.
- Очистите систему: удалите старые ядра (оставьте 2–3), очистите кеши (apt, браузеры), проверьте каталоги Downloads, Videos, Backups.
- Создайте новый раздел в нераспределённой области и используйте его для данных. Формат ext4 — для Linux-only, NTFS — если нужно совместно использовать с Windows.
Если не удаётся создать новый раздел из-за ограничений MBR (четыре первичных), то следующее проще решение — расширить небольшую NTFS-разметку (например, 530 МБ) на свободное место и внутри неё создать пространство для общих данных, но это требует аккуратности.
Вариант 2 — сдвинуть/расширить разделы с помощью GParted Live (пошагово)
Когда хотите именно расширить /dev/sda7 (логический в extended):
- Резервная копия: обязательно сохраните важные данные и, по возможности, сделайте образ диска.
- Подготовка Windows:
- Создайте флешку с Windows Media Creation Tool (на случай, если потребуется восстановление).
- Отключите Windows Recovery Environment (WRE), потому что вы будете перемещать recovery-раздел. В Windows от имени администратора выполните:
diskpart select disk 0 select partition 1 active exit reagentc /info reagentc /disable reagebtc /info dir /a:h recovery
(Команды проверяют статус и отключают WRE; вывод показывает сохранённый Winre.wim.)
- Загрузитесь с GParted Live (или Live-USB с Linux Mint). Важно: нельзя редактировать разделы, которые смонтированы и используются — поэтому именно live-среда.
- Суть операций: переместить разделы, чтобы убрать препятствующий /dev/sda3 между extended (/dev/sda4) и нераспределённым пространством, затем расширить /dev/sda4 и внутри неё увеличить /dev/sda7 или создать новый логический.
- Типичный порядок действий в GParted (суммарно):
- Переместите /dev/sda4 (extended) вправо, не меняя его размера — это освобождает место слева для манипуляций.
- Расширьте /dev/sda3 вправо в доступное пространство (если цель — дать место Windows), или переместите /dev/sda3 в самый конец диска, если план — предоставить пространство Linux.
- Переместите отдельно логические разделы внутри extended (/dev/sda5,/dev/sda6,/dev/sda7 и т.д.) вправо, чтобы освободить смежное пространство у /dev/sda7.
- Когда путь освобождён — расширьте /dev/sda4, затем увеличьте /dev/sda7 по правому краю до нужного размера (или создайте новый логический раздел внутри extended).
- Примените операции (значок зелёной галочки). Эти операции могут длиться долго (чтение/запись больших объёмов) и рискованны при сбое питания.
Важно: не пытайтесь менять активный/монтированный раздел. Перезагрузки, проверка ошибок файловой системы (fsck), и проверка целостности — обязательны.
- После изменений: загрузитесь в Windows и заново включите WRE (если отключали):
diskpart select disk 0 list partition select partition 1 active select partition 5 set id=0b detail partition remove letter=f set id=ef exit reagentc /info reagentc /enable reagentc /info
Эти команды корректируют атрибуты и заново включают Windows Recovery.
Плюсы: можно оставить MBR/BIOS режим и не трогать UEFI. Минусы: много рискованных перемещений, длительно, требует live-USB и аккуратности.
Вариант 3 — конвертировать диск в GPT и перейти на UEFI (более долговременное решение)
Преимущества: GPT поддерживает большое число разделов (обычно до 128/255), упрощённая разметка, современная совместимость с UEFI. Минусы: требует аккуратности, иногда вмешательство в загрузчики, резервное копирование и возможная необходимость перестановки ОС (в некоторых случаях).
Краткий план конверсии (инструменты: GPT fdisk / sgdisk, diskpart, bcdboot, efibootmgr, grub-install):
- Убедитесь, что у вас в системе есть EFI-партиция и Linux умеет UEFI-загружаться (или готовьте её).
- В Windows отключите WRE и сохраните winre.wim (как выше).
- Скачайте GPT fdisk (sgdisk) и выполните в Windows:
%userprofile%\downloads\sgdisk32 --mbrtogpt 0:
Это конвертирует MBR в GPT «в памяти» и запишет GPT в таблицу разделов.
- Затем настройте MSR (Microsoft Reserved), атрибуты EFI-партиции и пометьте нужные разделы, назначьте временную букву EFI-разделу и создайте UEFI загрузочные файлы:
diskpart list disk select disk 0 list partition select partition 1 shrink desired=16 create partition msr size=16 list partition select partition 3 gpt attributes=0x8000000000000001 select partition 5 assign letter=s exit bcdboot c:\windows /s s: /f uefi
- Переключитесь в прошивку (BIOS/UEFI) и установите загрузку в режим UEFI вместо Legacy/BIOS.
- В Linux, если нужно, установите GRUB для UEFI:
sudo grub-install --target=x86_64-efi
И обновите конфигурацию:
sudo update-grub
- Если загрузчик не появляется, можно добавить запись через efibootmgr:
sudo efibootmgr -c -d /dev/sda -p 6 -L Ubuntu -l /EFI/ubuntu/shimx64.efi
- В Windows — снова включите WRE:
reagentc /info reagentc /enable reagentc /info
И при необходимости опубликуйте запись GRUB в порядке загрузки через bcdedit:
bcdedit /enum firmware bcdedit /set {fwbootmgr} displayorder {UUID_вашего_GRUB} /addfirst
Кодовые фрагменты, которые могут потребоваться (оставлены без изменений):
diskpart
select disk 0
select partition 1
active
exit
reagentc /info
reagentc /disable
reagebtc /info
dir /a:h recovery
diskpart
select disk 0
list partition
select partition 1
active
select partition 5
set id=0b
detail partition
remove letter=f
set id=ef
exit
reagentc /info
reagentc /enable
reagentc /info
%userprofile%\downloads\sgdisk32 --mbrtogpt 0:
diskpart
list disk
select disk 0
list partition
select partition 1
shrink desired=16
create partition msr size=16
list partition
select partition 3
gpt attributes=0x8000000000000001
select partition 5
assign letter=s
exit
bcdboot c:\windows /s s: /f uefi
sudo grub-install --target=x86_64-efi
sudo efibootmgr -c -d /dev/sda -p 6 -L Ubuntu -l /EFI/ubuntu/shimx64.efi
sudo update-grub
Риски и рекомендации перед началом
- Всегда делайте резервную копию важных данных и, по возможности, полный образ диска (dd, Clonezilla и т.п.) перед изменением таблицы разделов.
- Работайте из live-USB, чтобы не пытаться изменять смонтированные разделы.
- Отключите антивирус/блокировку диска в Windows и отключите Windows Recovery Environment перед перемещениями; затем снова включите.
- Операции с перемещением большие по объёму могут занять часы; убедитесь в надёжном источнике питания и отсутствии прерываний.
- Если вы не уверены, попросите помощи или репетицию на виртуальном диске/втором диске.
Какой вариант выбрать?
- Если нужно просто место для данных и вы не хотите рисковать — сначала почистите систему или создайте отдельный data-раздел в нераспределённой области (Вариант 1).
- Если обязательно нужно увеличить именно корневой раздел и вы готовы к рискам — используйте GParted Live и следуйте шагам по перемещению и расширению разделов (Вариант 2). Обязательно резервная копия и отключение WRE.
- Если вы хотите долгосрочно убрать ограничения MBR и перейти на современную разметку — планируйте конвертацию в GPT и переход на UEFI (Вариант 3). Это полезно, но требует тщательной подготовки и резервных копий.
Выводы
Самый безопасный и быстрый путь — сначала попытаться освободить место (удаление ненужных файлов, старых ядер) или использовать нераспределённое пространство под отдельный раздел для данных. Расширение корневого раздела требует перемещения разделов — это деликатная операция, требующая live-среды, отключения Windows Recovery и резервного копирования. Конвертация MBR→GPT решает проблему количества разделов, но сложнее и требует работы с загрузчиками (UEFI/GRUB) и внимательного выполнения команд.
Если нужен подробный пошаговый сценарий по одному из вариантов (GParted-перемещение или конверсия в GPT) — напишите, какой именно вы хотите выполнить, и я подготовлю пошаговую инструкцию под вашу конфигурацию.