Как вы дефрагментируете MFT на NTFS-диске?


28

Некоторое время назад я почти заполнил свой жесткий диск, намного больше, чем рекомендуемый максимум 85% емкости. Я полагаю, что NTFS начала хранить файлы в месте, зарезервированном для главной таблицы файлов (MFT), и MFT пришлось фрагментировать в другом месте по мере роста.
Я освободил место на жестком диске, но MFT, очевидно, остается фрагментированным, и существует очень медленный доступ к диску даже для очень простых операций, таких как открытие папки или небольшого файла. Это убийственное выступление. Я помню, что стандартный дефрагментатор диска Windows не дефрагментирует MFT, потому что MFT используется, когда операционная система работает. Я использую Vista Ultimate, и ее утилита дефрагментации имеет очень мало способов создания отчетов, по сравнению с более старыми версиями.

Я подозреваю, что решение может включать загрузку с оптического диска с базовой ОС («Live CD») и запуск из него утилиты дефрагментации. Кто-нибудь может сказать мне, какую программу использовать, или как дефрагментировать мой MFT?

Благодарность!


1
Это не бесплатно, но я знаю, что Disckeeper может справиться с этим.
Zoredache

Ответы:


35

Вы можете использовать инструмент Sysinternals Contig :

contig.exe c:\$mft

2
Не работал для меня UltimateDefrag показывает, что $ MFT из несистемного раздела фрагментирован, но Контиг говорит: «Все файлы либо уже дефрагментированы, либо дефрагментированы не могут». Во всяком случае, я действительно не знаю, почему там $ MFT.
Юрий Генсев

15

Auslogics Disk Defrag Pro сделает это за вас. Хотя это и не бесплатная программа, вы можете загрузить бесплатную пробную версию, и если вы все же решите приобрести лицензию, она будет доступна для использования на трех компьютерах.

Ultradefrag - это бесплатный и мощный инструмент дефрагментации FOSS для платформы Windows. Он может дефрагментировать любые системные файлы, включая кусты реестра и файл подкачки. Он включает в себя оптимизацию MFT, которая обрабатывает только MFT.


3
+1 Ультрадефраг сделал мне чудеса с упрямым $ MFT, который даже Contig(который получил здесь столько голосов) не смог победить
BornToCode

@BornToCode Есть ли способ заставить Ultradefrag не перемещать файлы в конец раздела, когда он оптимизирует MFT?
RockPaperLizard

1
@RockPaperLizard - я не знаю, но альтернативой тому, чтобы не перемещать эти несколько файлов в конец, является смещение всех остальных файлов на диске. Вы можете попробовать запустить обычную дефрагментацию Windows или Diskeeper после Ultradefrag; имейте в виду, однако, что упорядочение каждого файла по тому, сколько раз он использовался, будет длительной операцией, которая развалится при следующем запуске веб-браузера.
KeithS

Обратите внимание, что теперь вам нужно перейти по ссылке на скачивание «старых версий», поскольку текущая версия 8 больше не является FOSS.
trlkly

6

Лучшим инструментом на сегодняшний день был старый JKdefrag, теперь Mydefrag. Будет дефрагментировать MFT. Кроме того, это бесплатно.

Оригинальный сайт не работает, но можно получить последнюю версию здесь: https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

редактировать

Windows Defrag API , используемый MyDefrag, поддерживает дефрагментацию MFT.

Ниже приведены системные файлы, потоки и типы потоков, поддерживаемые FSCTL_MOVE_FILE в формате «имя файла: имя потока: $ typename».

$ MFT :: $ DATA $ MFT :: $ ATTRIBUTE_LIST $ MFT :: $ BITMAP

И документация сценария MyDefrag :

Inode   Filename    Description
0   $MFT    Master File Table - An index of every file.
1   $MFTMirr    A backup copy of the first 4 records of the MFT.
2   $LogFile    Transactional logging file.
3   $Volume Serial number, creation time, dirty flag.
4   $AttrDef    Attribute definitions.
6   $Bitmap Contains volume's cluster map (in-use vs. free).
7   $Boot   Boot record of the volume.
8   $BadClus    Lists bad clusters on the volume.
9   $Quota  [Windows NT only] Quota information.
9   $Secure Security descriptors used by the volume.
10  $UpCase Table of uppercase characters used for collating.
11  $Extend A directory for: $ObjId, $Quota, $Reparse, $UsnJrnl.
$Extend\$ObjId  Unique Ids given to every file.
$Extend\$Quota  Quota information.
$Extend\$Reparse    Reparse point information.
$Extend\$UsnJrnl    USN Journal.
$Extend\$RmMetadata Transactional data.

Хотя он не будет работать на Live CD, он будет работать на Bart PE или Ultimate Windows BootCD .

Но ни то, ни другое не нужно для дефрагментации MFT.


Да, это. Я считаю, что API-интерфейс дефрагментации был изменен в Vista, поэтому вам даже не нужно перезагружаться.
Hydaral

1
MyDefrag работает только на Windows; Вы не можете запустить его с LiveCD с открытым исходным кодом. Он утверждает, что удаляет файлы только из зарезервированного пространства MFT, а не для дефрагментации MFT, если он уже фрагментирован. Есть ли другая программа [которая будет опубликована как другой ответ], которая может дефрагментировать MFT?
WBT

Вы неправы. Это не явно, потому что API-интерфейс Defrag поддерживает дефрагментацию MFT. Кроме того, вы можете проверить сценарии MyDrag.
Surfasb

сайт сейчас: mydefrag.net
Рэндалл Флэгг

jkdefrag и mydefrag теперь мертвы - mydefragGUI все еще можно загрузить с mydefrag.net, как показано в приведенном выше комментарии, но с 2009 года обновлений не было
thomasrutter

5

Эти шаги работали для меня:

  1. Запустите MiniXP в загрузочном CD Hiren .
  2. Отключить спящий режим , виртуальную память и дамп памяти ядра.
  3. Следуйте инструкциям, описанным в этой ссылке (используйте fsutil).
  4. Запустите MyDefrag на MiniXP с опцией «Объединить свободное пространство».
  5. Запустите Windows снова, и теперь вы можете уменьшить свой раздел.

-1

На UltimateDefrag есть опция, которая обеспечивает дефрагментацию при загрузке, однако она не работает для меня, но я надеюсь, что она работает для вас.

ultimatedefrag> инструменты> настройки ...> время загрузки

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

для меня это стек каждый раз на 24%, а затем загружает окна без дефрагментации файла, но надеюсь, что это сработает для вас. поделиться своим опытом тоже

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.