SagePtr
@SagePtr
Еда - это святое

Выполняет ли Windows 10 TRIM при изменении разделов штатными средствами?

Допустим, раздел занимал 250 гигов, его уменьшили до 200 через диспетчер дисков, через стандартную функцию "shrink volume". Будет ли при этом выполнен TRIM для хвостовой области в 50 гигов, или Windows 10 просто уменьшит размер в таблице GPT/MBR и поленится освобождать пространство под нужды накопителя?
А что касается удаления разделов через диспетчер дисков, место под удалёнными разделами освобождается, или оно остаётся занято навечно (до тех пор, пока на нём не создадут новый раздел)? Или после этого придётся какой-нибудь сторонней утилитой прогонять и TRIM делать?
К сожалению, не имею представления, как перехватывать ATA-команды между диском и самостоятельно проверить не могу.
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
SagePtr
@SagePtr Автор вопроса
Еда - это святое
Провёл эксперимент в VirtualBox с виртуальным носителем динамического размера, подключённым с опцией --discard on, на гостевой Windows 10 версии 1909 билд 18363.418.

И обнаружил следующее поведение: в Windows 10 TRIM выполняется только при операциях, задействующих файловую систему на томе. При операциях с самими томами непосредственно - TRIM не выполняется.

При создании нового тома - Windows форматирует этот том, а при форматировании, даже быстром, он пробегает по области тома и делает TRIM. Если создавать без форматирования - то очистка не выполняется.

При уменьшении размера тома - Windows сначала переносит файлы из уменьшаемого места в оставляемое, эти операции происходят средствами файловой системы - и место под этими файлами освобождается через TRIM (но только то, где лежат файлы, пустое не переосвобождается).

При увеличении размера тома, увы, присоединяемая область не подвергается обработке, когда я присоединял "грязную" часть носителя - то VirtualBox не получал команды на очистку этой части диска.

При удалении тома - место - не освобождается, диспетчер дисков просто удаляет запись из таблицы разделов в MBR/GPT, кладя болт на занимаемое разделом место. Потому если вы удаляете с SSD раздел средствами винды и планируете оставить место в будущем пустым - сначала отформатируйте этот том (достаточно и быстрого форматирования).

Потому самый гарантированный способ сделать TRIM - это загрузиться в Linux, создать на неразмеченных областях пустые разделы и выполнить над ними blkdiscard, затем удалить. Windows пока ещё слишком ленив, чтобы при работе с разделами посылать команды на очистку области под ними.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Jump
@Jump Куратор тега Windows
Системный администратор со стажем.
Да.
Файловая система работает с диском как с набором LBA адресов.
TRIM это уведомление диску, что информация на некоторых LBA адресах более не нужна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы