Загрузка данных


«Дефрагментация OK» и «неперемещаемые файлы» — это про разное. Дефраг никогда не трогает по-настоящему неперемещаемые файлы (pagefile, hiberfil, VSS-снимки, дамп памяти, метаданные NTFS вроде $MFT). Поэтому статус может быть «ОК», а один такой файл сидит ближе к концу тома и упирает `SizeMin` в большое значение. При 40 ГБ занятого из 200 ГБ вам мешает именно расположение такого файла, а не объём данных.

Разберём по порядку.

## 1. Убрать «активные» неперемещаемые файлы

Это решает большинство случаев. Всё с правами администратора:

```powershell
powercfg /h off                       # hiberfil.sys
```

Файл подкачки — временно в «Нет» (Свойства системы → Дополнительно → Быстродействие → Дополнительно → Виртуальная память → снять автовыбор, поставить «Без файла подкачки»).

Дамп памяти — тоже в «нет» и удалить готовый:
```powershell
# Параметры системы → Загрузка и восстановление → Запись отладочной информации → (нет)
Remove-Item C:\Windows\MEMORY.DMP -Force -ErrorAction SilentlyContinue
Remove-Item C:\Windows\Minidump\* -Force -ErrorAction SilentlyContinue
```

Теневые копии / точки восстановления:
```powershell
vssadmin delete shadows /all
Disable-ComputerRestore "C:\"
```

**Перезагрузка обязательна** — пока эти файлы «живые», они не исчезнут. После ребута проверьте предел заново:

```powershell
Get-PartitionSupportedSize -DriveLetter C
```

Если `SizeMin` упал до вменяемого — сразу ужимайте, потом вернёте pagefile/дамп на место.

## 2. Найти конкретного виновника, если всё ещё упирается

Самый надёжный способ узнать, какой именно файл мешает: попробовать сжать через `diskmgmt.msc` (правой кнопкой по тому → «Сжать»). После того как он ужмётся меньше ожидаемого, в журнале **Просмотр событий → Журналы Windows → Приложение** обычно появляется запись от источника `defrag`, где указан LCN последнего неперемещаемого файла. По LCN можно вычислить файл через `fsutil`.

Проще — визуально: поставить бесплатный **Defraggler** (Piriform) — он рисует карту тома и подсвечивает неперемещаемые кластеры, сразу видно, что и где. Либо `contig -a <файл>` из Sysinternals для проверки подозреваемых.

Типичные «сидельцы» в конце тома на Server: остаточный VSS-store (если `vssadmin delete shadows` не всё убрал — проверьте `vssadmin list shadowstorage`), файл подкачки, который не отключился, и Recovery/WinRE-раздел (но это уже отдельный раздел, а не файл внутри C:).

## 3. Если мешают метаданные NTFS ($MFT и подобные)

Их встроенный shrink Windows двигать не умеет — принципиально. Тогда два пути:

**Оффлайн через менеджер разделов.** Загрузиться с WinPE-флешки и утилитой, которая умеет перемещать системные структуры NTFS — AOMEI Partition Assistant, MiniTool Partition Wizard или Paragon. Они делают «resize with move» и сдвигают $MFT к началу. Windows своими средствами так не может.

**Клонирование на меньший диск (самый безопасный).** Добавить в VM второй диск нужного размера, склонировать раздел (Clonezilla или тот же менеджер), сделать загрузочным, старый удалить. Дольше, но без риска задеть метаданные и GPT.

---

Начните с пункта 1 и перезагрузки — в 9 случаях из 10 после отключения pagefile + hiberfil + дампа + VSS предел уходит вниз. Скиньте вывод `Get-PartitionSupportedSize -DriveLetter C` до и после — по разнице сразу будет видно, помогло или там реально засел $MFT, и тогда пойдём в оффлайн.