คุณจะจัดเรียงข้อมูล MFT บนดิสก์ NTFS ได้อย่างไร


28

เมื่อไม่นานมานี้ฉันเกือบเต็มฮาร์ดไดรฟ์ของฉันมากกว่าความจุสูงสุดที่แนะนำ 85% ของความจุ ฉันเชื่อว่า NTFS เริ่มจัดเก็บไฟล์ในพื้นที่ที่สงวนไว้สำหรับ Master File Table (MFT) และ MFT ต้องแยกส่วนที่อื่นเมื่อมันขยายตัว
ฉันได้ล้างพื้นที่บนฮาร์ดไดรฟ์ แต่ MFT ยังคงกระจัดกระจายและมีการเข้าถึงดิสก์ที่ช้ามากสำหรับการดำเนินการที่ง่ายมากเช่นการเปิดโฟลเดอร์หรือไฟล์ขนาดเล็ก นี่คือการฆ่าประสิทธิภาพ ฉันจำได้ว่าตัวจัดเรียงข้อมูลบนดิสก์มาตรฐานของ Windows ไม่ได้จัดเรียงข้อมูล MFT เนื่องจาก MFT ใช้งานอยู่เมื่อระบบปฏิบัติการกำลังทำงาน ฉันใช้ Vista Ultimate และยูทิลิตี้จัดเรียงข้อมูลมีวิธีการรายงานน้อยมากน้อยกว่ารุ่นเก่า

ฉันสงสัยว่าวิธีแก้ปัญหาอาจเกี่ยวข้องกับการบูตจากแผ่นดิสก์ออพติคอลด้วยระบบปฏิบัติการพื้นฐาน ("Live CD") และเรียกใช้ยูทิลิตี้จัดเรียงข้อมูลจากนั้น ใครช่วยบอกฉันว่าโปรแกรมที่จะใช้หรือวิธีการจัดเรียงข้อมูล MFT ของฉัน?

ขอบคุณ!


1
มันไม่ฟรี แต่ฉันรู้ว่าDisckeeperสามารถจัดการสิ่งนี้ได้
Zoredache

คำตอบ:


35

คุณสามารถใช้เครื่องมือ Sysinternals Contig :

contig.exe c:\$mft

2
ไม่ได้ผลสำหรับฉัน UltimateDefrag แสดง $ MFT จากพาร์ติชั่นที่ไม่ใช่ระบบมีการแยกส่วน แต่ contig บอกว่า "ไฟล์ทั้งหมดมีการจัดระเบียบแล้วหรือไม่สามารถจัดระเบียบได้" อย่างไรก็ตามฉันไม่รู้จริงๆว่าทำไมจึงมี $ MFT อยู่ที่นั่น
Yuri Ghensev

15

Auslogics Disk Defrag Proจะทำสิ่งนี้ให้คุณ ในขณะที่ไม่ใช่โปรแกรมฟรีคุณสามารถดาวน์โหลดรุ่นทดลองใช้ฟรีและหากคุณตัดสินใจซื้อลิขสิทธิ์สามารถใช้งานได้กับพีซีมากถึงสามเครื่อง

Ultradefragเป็นเครื่องมือการจัดระเบียบFOSSฟรีและทรงพลังสำหรับแพลตฟอร์ม Windows มันสามารถจัดเรียงข้อมูลไฟล์ระบบรวมถึงกลุ่มรีจิสทรีและไฟล์เพจจิ้ง มันรวมการเพิ่มประสิทธิภาพ MFT ซึ่งประมวลผล MFT เท่านั้น


3
+1 Ultradefragทำปาฏิหาริย์กับฉันด้วยเงินดอลล่าร์ MFT ที่แม้Contig(มี upvotes มากมายที่นี่) ก็ไม่สามารถเอาชนะได้
BornToCode

@BontToCode มีวิธีใดที่จะทำให้ Ultradefrag ไม่ย้ายไฟล์ไปยังจุดสิ้นสุดของพาร์ติชั่นเมื่อปรับ MFT ให้เหมาะสม?
RockPaperLizard

1
@RockPaperLizard - ฉันไม่รู้ แต่ทางเลือกที่จะไม่ย้ายไฟล์เหล่านี้ไปยังจุดสิ้นสุดคือการย้ายไฟล์อื่น ๆ บนดิสก์ คุณอาจลองเรียกใช้ Windows Defrag ธรรมดาหรือ 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.

ในขณะที่มันจะไม่ทำงานบนแผ่นซีดีสดก็จะทำงานในบาร์ต PEหรือที่ดีที่สุดของ Windows BootCD

แต่ไม่จำเป็นต้องทำการ Defrag MFT


ใช่สิ่งนี้ ฉันเชื่อว่า defrag API นั้นถูกเปลี่ยนด้วย Vista ดังนั้นคุณไม่จำเป็นต้องรีบูต
Hydaral

1
MyDefrag ทำงานบน Windows เท่านั้น คุณไม่สามารถเรียกใช้จาก LiveCD โอเพ่นซอร์ส มันอ้างว่าจะลบไฟล์ออกจากพื้นที่ MFT ที่สงวนไว้เท่านั้นไม่ใช่เพื่อทำการจัดเรียงข้อมูล MFT หากมีการแยกส่วนแล้ว มีโปรแกรมอื่น [ที่จะโพสต์เป็นคำตอบอื่น] ที่สามารถจัดเรียงข้อมูล MFT ได้หรือไม่?
WBT

คุณผิด. ไม่ชัดเจนเนื่องจาก Defrag API รองรับการลบล้าง MFT นอกจากนี้คุณสามารถตรวจสอบสคริปต์ MyDrag ได้
surfasb

เว็บไซต์อยู่ในขณะนี้: mydefrag.net
Randall Flagg

jkdefrag และ mydefrag ตอนนี้ตายแล้ว - mydefragGUI ยังคงสามารถดาวน์โหลดได้ที่ mydefrag.net ตามที่แสดงความคิดเห็นข้างต้น แต่ไม่มีการปรับปรุงตั้งแต่ 2552
thomasrutter

5

ขั้นตอนเหล่านี้ใช้ได้สำหรับฉัน:

  1. เรียกใช้ MiniXP ในดาวน์โหลดแอนตี้ไวรัส
  2. ปิดใช้งานการไฮเบอร์เนต , หน่วยความจำเสมือนและการถ่ายโอนข้อมูลหน่วยความจำเคอร์เนล
  3. ทำตามคำแนะนำที่อธิบายไว้ในลิงค์นี้(ใช้ fsutil)
  4. เรียกใช้ MyDefrag ที่ MiniXP ด้วยตัวเลือก "รวมพื้นที่ว่าง"
  5. เริ่ม Windows อีกครั้งและตอนนี้คุณสามารถลดขนาดพาร์ติชันได้

-1

มีตัวเลือกใน ultimatedefrag ที่ให้ defrag เวลาบูต แต่มันไม่ทำงานสำหรับฉัน แต่ฉันหวังว่ามันจะทำงานให้คุณ

ultimatedefrag> เครื่องมือ> การตั้งค่า ... > เวลาบูต

เลือกไดรฟ์ที่คุณต้องการใช้เวลาวิเคราะห์ไดรฟ์ เมื่อทำการวิเคราะห์เสร็จแล้วคุณสามารถปรับตำแหน่งไฟล์ mft ได้ แต่ฉันแนะนำให้ทิ้งไว้ว่ามันเป็นอย่างไร (ถ้าคุณเปลี่ยนมันจะมีปุ่มให้พักเป็นค่าเริ่มต้น) จากนั้นสลับตัวเลือก Run ในระหว่างการบู๊ตครั้งถัดไปและเพียงรีสตาร์ทพีซี

สำหรับฉันมันจะซ้อนกันที่ 24% ทุกครั้งจากนั้นบูทหน้าต่างโดยไม่ทำให้ไฟล์เสียหาย แต่หวังว่าจะได้ผลสำหรับคุณ แบ่งปันความเชี่ยวชาญของคุณด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.