Не удается расширить диск в Windows из-за раздела восстановления

На одной из тестовых виртуальных машин столкнулся с тем, что на системном диске C: стало заканчиваться свободное место. Я увеличил размер диска в настройках виртуальной машины и перешел в гостевую ОС (Windows 10) для расширения раздела системного диска за счет добавленного места. Открыв консоль диспетчер управления дисками (diskmgmt.msc), я обратил внимание, что на компьютере почему-то два раздела восстановления и неразмеченная область появилась после второго раздела восстановления (с меткой Windows RE). Т.е. в данной системе по какой-то причине раздел восстановления находится после основного раздела (C:), что не позволяет расширить основной том за счет добавленного пространства.

В данной статье будут рассмотрены два разных способа удаления и пересоздания раздела восстановления для EFI и BIOS системы. Поэтому прежде, чем приступать к выполнению описанных шагов, разберитесь в каком режиме у вас работает компьютер. Также (крайне рекомендуется) создайте бэкап (снапшот) вашего диска перед изменением таблицы разделов.

Удаление Recovery тома и расширение основного раздела на EFI компьютере

На моей ВМ Windows 10 установлена в режиме EFI (GPT разметка на диске).

gpt таблица разделов на efi компьютере

Как вы видите на скриншоте ниже, кнопка “Расширить том” (Extend Volume) недоступна (серая). Вы можете расширить раздел средствами Windows, только если справа от него есть неразмеченная (Unallocated) область. В моем случае раздел C:, который нужно расширить, заблокирован разделом восстановления (Windows RE). Поэтому перед расширением системного тома, вам придется удалить данный раздел.

нельзя расширить диск с Windows из за раздела восстановления

На скриншоте видно, что у меня имеется два раздела восстановления (Recovery и Windows RE). Чтобы понять, какой раздел используется Windows в качестве активного раздела восстановления, нужно назначить буквы дисков вашим разделам (например, E: и R:, через управление дисками или Diskpart: select disk 0 -> select part 1 -> assign letter r:) и выполнить команду:

bcdedit /enum all

Обратите внимание на секции:

  1. Windows Boot Manager (в ней указан раздел, на котором хранится BCD загрузчик). В моем случае загрузчик находится на EFI разделе:
    Windows Boot Manager
    --------------------
    identifier {bootmgr}
    device partition=\Device\HarddiskVolume2
    path \EFI\Microsoft\Boot\bootmgfw.efi
    description Windows Boot Manager
    locale en-US
    inherit {globalsettings}
    default {current}
    resumeobject {dbaf5561-4424-11e9-b766-b7001b047795}
    displayorder {current}
    toolsdisplayorder {memdiag}
    timeout 30

    конфигурация Windows Boot Manager

  2. Теперь посмотрите на значения в секции Windows Boot Loader. В качестве wim файла среды восстановления используется образ Winre.wim на втором разделе с меткой тома Windows RE.
    Windows Boot Loader
    -------------------
    identifier {dbaf5563-4424-11e9-b766-b7001b047795}
    device ramdisk=[E:]\Recovery\WindowsRE\Winre.wim,{dbaf5564-4424-11e9-b766-b7001b047795}
    path \windows\system32\winload.efi
    description Windows RE
    locale en-us
    inherit {bootloadersettings}
    displaymessage Windows RE
    osdevice ramdisk=[E:]\Recovery\WindowsRE\Winre.wim,{dbaf5564-4424-11e9-b766-b7001b047795}
    systemroot \windows
    nx OptIn
    bootmenupolicy Standard
    winpe Yes

Чтобы расширить размер основного раздела Windows нам придется удалить раздел восстановления справа от раздела, который нужно растянуть, расширить диск и пересоздать раздел восстановления.

Вместо пересоздания раздела восстановления в большинстве случаев будет достаточно перенести файлы среды восстановления на системный диск C:. В этом случае вы можете полностью отказаться от отдельного 500 Мб раздела для WinRE. При этом файл среды восстановления winre.wim будет хранится на разделе, на который установлена Windows.

Для копирования файла на системный раздел и пересоздания конфигурации WinRE, выполните команды:

reagentc /disable
md c:\Recovery\WinRE
xcopy e:\Recovery\WindowsRE\Winre.wim c:\Recovery\WinRE /h
reagentc /setreimage /path c:\Recovery\WinRE /target C:\Windows
reagentc /enable

Если вы попробуете удалить раздел восстановления из графического интерфейса управления разделами, нажав на Delete Volume (иногда свойства диска вообще не доступны), появится ошибка:

Удалить раздел восстановления recovery в Windows

Virtual Disk Manager

Cannot delete a protected partition without the force protected parameter set.

Cannot delete a protected partition without the force protected parameter set.

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

DISKPART> rescan
DISKPART> list disk
DISKPART> select disk 0
DISKPART> list part
DISKPART> select part 5
DISKPART> delete partition override

DiskPart successfully deleted the selected partition.

DISKPART> Rescan

Параметр override разрешает diskpart удалить любой раздел независимо от его типа (будь то активный, системный или загрузочный раздел).

DISKPART - delete partition override

Теперь можно открыть диспетчер дисков и расширить основной раздел (опция Extend Volume теперь стала доступа). Если вы хотите пересоздать раздел восстановления (рекомендуется сохранить его или перенести на основной раздел как описано выше), оставьте на диске 500 мегабайт неразмеченного места. На скриншоте ниже я увеличиваю раздел с Windows на 1,5Гб и оставляют 500 Мб в конце диска.

Если на диске есть и другие разделы восстановления вендора, которые не дают вам расширить основной том, воспользуйтесь статьей: Удаление OEM разделов.

расширение системного диска в Windows

После расширения основного раздела у нас осталось 500 Мб для нашего раздела восстановления со средой WinRE.

диск расширен, оставили 500 мб для раздела recovery

Windows опознает раздел восстановления по специальным меткам: GUID — de94bba4-06d1-4d40-a16a-bfd50179d6ac и GPT атрибуту 0x8000000000000001

Создадим новый раздел и присвоим ему данные атрибуты:

DISKPART> create part primary
DISKPART> format quick fs=ntfs label="WinRE"
DISKPART> assign letter="R"
DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

DiskPart successfully set the partition ID

DISKPART> gpt attributes=0x8000000000000001

DiskPart successfully assigned the attributes to the selected GPT partition.

Exit

set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" gpt attributes=0x8000000000000001

Теперь осталось скопировать файлы среды WinRE с установочного диска (образа) Windows 10 на новый раздел восстановления.

Подключим файл install.wim из установочного образа Windows 10 и извлечем из него файл со средой WinRE (Winre.wim):

md C:\WinISO
md C:\WinISO\mount
dism /mount-wim /wimfile:F:\sources\install.wim /index:1 /mountdir:C:\WinISO\mount /readonly
md R:\Recovery\WinRE
copy C:\WinISO\mount\Windows\System32\Recovery\Winre.wim R:\Recovery\WinRE\
dism /unmount-wim /mountdir:C:\WinISO\mount /discard

Осталось перенести файл со средой WinRE на раздел восстановления и обновить информацию в загрузчике:

reagentc /disable
reagentc /setreimage /path R:\Recovery\WinRE /target C:\Windows
reagentc /enable

копирование среды восстановления winre.wim из установчного диска

Итак, мы пересоздали раздел восстановления и зарегистрировали путь к образу winRE. Теперь при проблемах с загрузкой Windows ваша среда восстановления опять будет загружаться автоматически.

При проблемах с загрузчиком и разделом EFI на компьютерах с UEFI воспользуйтесь статьями по ссылкам.

Удаление Recovery раздела и перенос загрузчика в системах с BIOS

Если на вашем компьютере используется BIOS (не EFI), перед удалением раздела восстановления вы можете переместить загрузчик и среду восстановления на системный диск C: следующим образом.

Сначала нужно перенести файлы BCD загрузчика с диска E: на диск C: (я назначил своему разделу восстановления именно эту букву):

Reg unload HKLM\BCD00000000
robocopy e:\ c:\ bootmgr
robocopy e:\boot c:\boot /s
bcdedit /store c:\boot\bcd /set {bootmgr} device partition=C:
bcdedit /store c:\boot\bcd /set {memdiag} device partition=C:

При проблемах с загрузчиком BCD вы всегда можете пересоздать его согласно инструкции.

Теперь выполним перенос образа восстановления:

reagentc /disable
md c:\Recovery\WinRE
xcopy e:\Recovery\WindowsRE\Winre.wim c:\Recovery\WinRE /h
reagentc /setreimage /path c:\Recovery\WinRE /target C:\Windows
reagentc /enable

Теперь вы можете удалить раздел восстановления через diskpart (описано выше) и успешно расширить ваш основной том.


Предыдущая статья Следующая статья


Комментариев: 3 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)