Jak zdefragmentować plik MFT na dysku NTFS?

28

Jakiś czas temu prawie zapełniłem mój dysk twardy, znacznie więcej niż zalecane maksimum 85% pojemności. Uważam, że NTFS zaczął przechowywać pliki w przestrzeni zarezerwowanej dla Master File Table (MFT) i MFT musiał fragmentować gdzie indziej w miarę wzrostu.
Wyczyściłem miejsce na dysku twardym, ale MFT najwyraźniej pozostaje rozdrobniony, a dostęp do dysku jest bardzo powolny nawet w przypadku bardzo prostych operacji, takich jak otwarcie folderu lub małego pliku. To zabija wydajność. Pamiętam, że standardowy defragmentator dysków systemu Windows nie defragmentuje MFT, ponieważ MFT jest używany, gdy system operacyjny jest uruchomiony. Korzystam z systemu Vista Ultimate, a jego narzędzie do defragmentacji ma bardzo niewiele funkcji raportowania, mniej niż starsze wersje.

Podejrzewam, że rozwiązaniem może być uruchomienie z dysku optycznego za pomocą podstawowego systemu operacyjnego („Live CD”) i uruchomienie z niego narzędzia do defragmentacji. Czy ktoś może mi powiedzieć, jakiego programu użyć lub jak zdefragmentować MFT?

Dzięki!

WBT
źródło
1
To nie jest darmowe, ale wiem, że Disckeeper sobie z tym poradzi.
Zoredache

Odpowiedzi:

35

Możesz użyć narzędzia Sysinternals Contig :

contig.exe c:\$mft
Dmitri Sologoub
źródło
2
Nie działało dla mnie. UltimateDefrag pokazuje, że $ MFT z partycji innej niż system jest pofragmentowany, ale contig mówi: „Wszystkie pliki zostały już zdefragmentowane lub nie można ich zdefragmentować”. W każdym razie naprawdę nie wiem, dlaczego jest tam $ MFT.
Jurij Ghensev,
15

Auslogics Disk Defrag Pro zrealizuje to za Ciebie. Chociaż nie jest to darmowy program, możesz pobrać bezpłatną wersję próbną, a jeśli zdecydujesz się na zakup, licencja jest dostępna do użytku na maksymalnie trzech komputerach.

Ultradefrag to bezpłatne i wydajne narzędzie do defragmentacji FOSS dla platformy Windows. Może defragmentować dowolne pliki systemowe, w tym gałęzie rejestru i plik stronicowania. Obejmuje optymalizację MFT, która przetwarza tylko MFT.

Szymon, Szymek
źródło
3
+1 Ultradefrag zrobił mi cuda za pomocą upartego $ MFT, którego nawet Contig(który otrzymał tak wiele głosów poparcia) nie był w stanie pokonać
BornToCode
@BornToCode Czy jest jakiś sposób, aby Ultradefrag nie przenosił plików na koniec partycji podczas optymalizacji MFT?
RockPaperLizard
1
@RockPaperLizard - nie wiem, ale alternatywą dla nie przeniesienia tych kilku plików na koniec jest przesunięcie każdego innego pliku na dysku. Możesz spróbować uruchomić zwykły Windows Defrag lub Diskeeper po Ultradefrag; pamiętaj jednak, że uporządkowanie każdego pliku według liczby jego użycia będzie działaniem długotrwałym, które rozpadnie się przy następnym uruchomieniu przeglądarki internetowej.
KeithS
Pamiętaj, że musisz teraz skorzystać z łącza pobierania do „starych wersji”, ponieważ bieżąca wersja 8 nie jest już FOSS.
trlkly
6

Jak dotąd najlepszym narzędziem był stary JKdefrag, teraz Mydefrag. Defragmentuje MFT. Ponadto jest bezpłatny.

Oryginalna witryna nie działa, ale można ją pobrać, aby pobrać najnowszą wersję: https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

edytować

Windows Defrag API , używany przez MyDefrag, obsługuje defragmentację MFT.

Poniżej przedstawiono typy plików systemowych, strumieniowych i strumieniowych obsługiwane przez FSCTL_MOVE_FILE w formacie „nazwa_pliku: nazwa_pliku: $ nazwa_typu”.

$ MFT :: $ DANE $ MFT :: $ ATTRIBUTE_LIST $ MFT :: $ BITMAP

A dokumentacja skryptu 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.

Chociaż nie będzie działać na Live CD, będzie działał na Bart PE lub Ultimate Windows BootCD .

Ale żadne nie jest konieczne do defragmentacji MFT.

surfasb
źródło
Tak, to. Uważam, że interfejs API defrag został zmieniony w systemie Vista, więc nawet nie trzeba go ponownie uruchamiać.
Hydaral
1
MyDefrag działa tylko w systemie Windows; nie można go uruchomić z LiveCD typu open source. Twierdzi, że usuwa tylko pliki z zarezerwowanej przestrzeni MFT, a nie defragmentuje MFT, jeśli jest już pofragmentowany. Czy istnieje inny program [do opublikowania jako inna odpowiedź], który może defragmentować MFT?
WBT
Mylisz się. Nie jest to jednoznaczne, ponieważ Defrag API obsługuje defragmentację MFT. Dodatkowo możesz sprawdzić skrypty MyDrag.
surfasb
strona jest teraz: mydefrag.net
Randall Flagg
jkdefrag i mydefrag są teraz martwe - mydefragGUI nadal można pobrać z mydefrag.net, jak pokazuje powyższy komentarz, ale od 2009 roku nie było żadnej aktualizacji
thomasrutter
5

Te kroki zadziałały dla mnie:

  1. Uruchom MiniXP w Hiren's BootCD .
  2. Wyłącz hibernację , pamięć wirtualną i zrzut pamięci jądra.
  3. Postępuj zgodnie z instrukcjami opisanymi w tym linku (użyj fsutil).
  4. Uruchom MyDefrag w MiniXP z opcją „Konsoliduj wolne miejsce”.
  5. Uruchom ponownie system Windows, a teraz możesz zmniejszyć partycję.
gagallo7
źródło
-1

jest opcja na ultimatedefrag, która zapewnia defragmentację czasu rozruchu, jednak nie działało to dla mnie, ale mam nadzieję, że zadziała dla ciebie

ultimatedefrag> narzędzia> ustawienia ...> czas uruchamiania

wybierz dysk, który chcesz, analiza dysku zajmuje chwilę. po zakończeniu analizy możesz dostosować lokalizację pliku mft, ale zalecam pozostawić go takim, jaki jest (jeśli go zmieniłeś, jest przycisk, aby przywrócić go do wartości domyślnych). następnie przełącz opcję Uruchom podczas następnego rozruchu i po prostu uruchom ponownie komputer

dla mnie układa się na poziomie 24% za każdym razem, a następnie uruchamia system Windows bez uszkadzania pliku, ale mam nadzieję, że zadziała. podziel się także swoją wiedzą

przystojny przystojniak
źródło