Bagaimana Anda mendefrag MFT pada disk NTFS?

28

Beberapa waktu yang lalu, saya hampir memenuhi hard drive saya, lebih dari kapasitas maksimum yang direkomendasikan yaitu 85%. Saya percaya bahwa NTFS mulai menyimpan file di ruang yang disediakan untuk Master File Table (MFT) dan MFT harus terpecah-pecah di tempat lain saat ia tumbuh.
Saya telah membersihkan ruang pada hard drive, tetapi MFT tampaknya tetap terfragmentasi, dan ada banyak akses disk yang lambat untuk operasi yang sangat sederhana seperti membuka folder atau file kecil. Ini mematikan kinerja. Saya ingat bahwa defragmenter disk standar Windows tidak mendefrag MFT karena MFT sedang digunakan ketika sistem operasi sedang berjalan. Saya menjalankan Vista Ultimate dan utilitas defragmentnya sangat sedikit dalam hal pelaporan, kurang dari versi yang lebih lama.

Saya menduga bahwa suatu solusi mungkin melibatkan booting dari cakram optik dengan OS dasar ("Live CD") dan menjalankan utilitas defragmentasi dari sana. Adakah yang bisa memberi tahu saya program apa yang digunakan, atau bagaimana cara defrag MFT saya?

Terima kasih!

WBT
sumber
1
Ini tidak gratis, tetapi saya tahu Disckeeper dapat menangani ini.
Zoredache

Jawaban:

35

Anda dapat menggunakan alat Sysinternals Contig :

contig.exe c:\$mft
Dmitri Sologoub
sumber
2
Tidak bekerja untuk saya. UltimateDefrag menunjukkan $ MFT dari partisi non-sytem terfragmentasi, tetapi contig mengatakan "Semua file sudah didefragmentasi atau tidak dapat didefragmentasi." Pokoknya saya benar-benar tidak tahu mengapa ada $ MFT di sana.
Yuri Ghensev
15

Auslogics Disk Defrag Pro akan melakukan ini untuk Anda. Meskipun bukan program gratis, Anda dapat mengunduh uji coba gratis, dan jika Anda memutuskan untuk membeli lisensi tersedia untuk digunakan pada hingga tiga PC.

Ultradefrag adalah alat defragmentasi FOSS gratis dan kuat untuk Platform Windows. Ini dapat mendefrag file sistem apa pun termasuk kumpulan registri dan file paging. Ini termasuk optimasi MFT, yang memproses MFT saja.

Simon
sumber
3
+1 Ultradefrag melakukan mukjizat kepada saya dengan $ MFT yang keras kepala yang bahkan Contig(yang mendapat begitu banyak upvotes di sini) tidak dapat mengalahkan
BornToCode
@BornToCode Cara apa pun untuk mendapatkan Ultradefrag agar tidak memindahkan file ke akhir partisi saat mengoptimalkan MFT?
RockPaperLizard
1
@RockPaperLizard - Saya tidak tahu, tetapi alternatif untuk tidak memindahkan beberapa file ke akhir adalah dengan menggeser setiap file lainnya pada disk. Anda dapat mencoba menjalankan Windows Defrag atau Diskeeper biasa setelah Ultradefrag; Ingatlah, bahwa memesan setiap file dengan berapa kali digunakan akan menjadi operasi yang berjalan lama yang akan berantakan ketika Anda meluncurkan browser web berikutnya.
KeithS
Perhatikan bahwa Anda sekarang harus mengikuti tautan unduhan ke "versi lama," karena versi 8 saat ini tidak lagi FOSS.
trlkly
6

Alat terbaik sejauh ini adalah JKdefrag lama, sekarang Mydefrag. Akan mendefrag MFT. Juga gratis.

Situs asli sedang down tetapi orang dapat sumber untuk mendapatkan versi terbaru ada di sini: https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

sunting

Windows Defrag API , digunakan oleh MyDefrag, mendukung defragging MFT.

Berikut ini adalah jenis file sistem, aliran, dan aliran yang didukung oleh FSCTL_MOVE_FILE dalam format "filename: streamname: $ typename".

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

Dan dokumentasi skrip 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.

Walaupun itu tidak akan berjalan pada Live CD, itu akan berjalan pada Bart PE atau Ultimate Windows BootCD .

Tetapi tidak ada yang perlu untuk defrag MFT.

surfasb
sumber
Yap, ini. Saya percaya defrag API diubah dengan Vista, jadi Anda bahkan tidak perlu reboot.
Hydaral
1
MyDefrag hanya berjalan di Windows; Anda tidak dapat menjalankannya dari LiveCD open-source. Ia mengklaim hanya menghapus file dari ruang MFT yang dicadangkan, bukan untuk mendefrag MFT jika sudah terfragmentasi. Apakah ada program lain [yang akan diposting sebagai jawaban yang berbeda] yang dapat mendefrag MFT?
WBT
Anda salah. Itu tidak eksplisit karena API Defrag mendukung defraging MFT. Plus, Anda dapat memeriksa skrip MyDrag.
surfasb
situsnya sekarang: mydefrag.net
Randall Flagg
jkdefrag dan mydefrag sekarang mati - mydefragGUI masih dapat diunduh di mydefrag.net seperti yang ditunjukkan oleh komentar di atas tetapi belum ada pembaruan sejak 2009
thomasrutter
5

Langkah-langkah ini berhasil bagi saya:

  1. Jalankan MiniXP di Hiren's BootCD .
  2. Nonaktifkan Hibernasi , Memori Virtual, dan Memori Kernel.
  3. Ikuti instruksi yang dijelaskan dalam tautan ini (gunakan fsutil).
  4. Jalankan MyDefrag di MiniXP dengan opsi "Konsolidasi ruang kosong".
  5. Mulai Windows lagi dan sekarang Anda dapat menyusutkan partisi Anda.
gagallo7
sumber
-1

ada opsi pada ultimatedefrag yang menyediakan defrag waktu boot, namun itu tidak bekerja untuk saya tetapi saya harap ini berfungsi untuk Anda

ultimatedefrag> tools> settings ...> waktu boot

pilih drive yang Anda inginkan, perlu beberapa saat menganalisis drive. ketika selesai menganalisis Anda dapat menyesuaikan lokasi file mft tetapi saya sarankan untuk membiarkannya seperti itu (jika Anda mengubahnya ada tombol untuk mengembalikannya ke default). kemudian matikan opsi Run selama boot berikutnya dan cukup restart pc

bagi saya itu menumpuk di 24% setiap kali dan kemudian boot windows tanpa merusak file tetapi berharap itu berhasil untuk Anda. berbagi keahlian Anda juga

abbas tampan
sumber