На одной из тестовых виртуальных машин столкнулся с тем, что на системном диске C: стало заканчиваться свободное место. Я увеличил размер диска в настройках виртуальной машины и перешел в гостевую ОС (Windows 10) для расширения раздела системного диска за счет добавленного места. Открыв консоль диспетчер управления дисками (diskmgmt.msc), я обратил внимание, что на компьютере почему-то два раздела восстановления и неразмеченная область появилась после второго раздела восстановления (с меткой Windows RE). Т.е. в данной системе по какой-то причине раздел восстановления находится после основного раздела (C:), что не позволяет расширить основной том за счет добавленного пространства.
Удаление Recovery тома и расширение основного раздела на EFI компьютере
На моей ВМ Windows 10 установлена в режиме EFI (GPT разметка на диске).
Как вы видите на скриншоте ниже, кнопка “Расширить том” (Extend Volume) недоступна (серая). Вы можете расширить раздел средствами Windows, только если справа от него есть неразмеченная (Unallocated) область. В моем случае раздел C:, который нужно расширить, заблокирован разделом восстановления (Windows RE). Поэтому перед расширением системного тома, вам придется удалить данный раздел.
На скриншоте видно, что у меня имеется два раздела восстановления (Recovery и Windows RE). Чтобы понять, какой раздел используется Windows в качестве активного раздела восстановления, нужно назначить буквы дисков вашим разделам (например, E: и R:, через управление дисками или Diskpart: select disk 0
-> select part 1
-> assign letter r:
) и выполнить команду:
bcdedit /enum all
Обратите внимание на секции:
- 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 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 нам придется удалить раздел восстановления справа от раздела, который нужно растянуть, расширить диск и пересоздать раздел восстановления.
Для копирования файла на системный раздел и пересоздания конфигурации 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 (иногда свойства диска вообще не доступны), появится ошибка:
Virtual Disk Manager 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 удалить любой раздел независимо от его типа (будь то активный, системный или загрузочный раздел).
Теперь можно открыть диспетчер дисков и расширить основной раздел (опция Extend Volume теперь стала доступа). Если вы хотите пересоздать раздел восстановления (рекомендуется сохранить его или перенести на основной раздел как описано выше), оставьте на диске 500 мегабайт неразмеченного места. На скриншоте ниже я увеличиваю раздел с Windows на 1,5Гб и оставляют 500 Мб в конце диска.
После расширения основного раздела у нас осталось 500 Мб для нашего раздела восстановления со средой WinRE.
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
Теперь осталось скопировать файлы среды 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. Теперь при проблемах с загрузкой Windows ваша среда восстановления опять будет загружаться автоматически.
Удаление 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:
Теперь выполним перенос образа восстановления:
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 (описано выше) и успешно расширить ваш основной том.
Спасибо. Плохо знаю эту тему. Будет справочником
для уефи: непонятно зачем ты тогда сохранял на диск С «винре.вим» если ты брал его потом с инсталл.вима
и непонятно зачем ты оставил первый незадействованый раздел восстановления. в него смело можно было копировать нужный винре.вим(или даже оставить существующий), и реагентом указать на него, после чего удалить спокойно второй являвшийся активным на момент начала операций раздел восстановления вовсе.. и получить еще 600мб к диску С.
Для UEFI я привел два варианта действий, в первом случае, я переместил winre.wim на диск с системой, во втором создал новый раздел для восстановление. Что лучше делать, нужно решать в каждом конкретном случае (есть свои преимущества и доводы в пользу обоих вариантов), я показываю инструменты и особенности работы с ними.
В данном случае вы правы, можно было использовать и первый раздел восстановления для размещение WinRE, но это частный случай. Думаю решение можно оставить за админом по ту сторону монитора 🙂
Спасибо за коммент .