วิธีการยกเลิกการทำเครื่องหมายคลัสเตอร์ NTFS ไม่ถูกต้อง


14

ฉันจะยกเลิกการทำเครื่องหมายกลุ่มไม่ดีใน NTFS ได้อย่างไร

พื้นหลัง

ฉันวิ่งผิดพลาด

>chkdsk /R

บน SSD ของฉันที่ไหน

/ R : ค้นหาเซกเตอร์ที่ไม่ดีและกู้คืนข้อมูลที่อ่านได้ (implies / F)
/ F : แก้ไขข้อผิดพลาดบนดิสก์

และตอนนี้ฉันมีกลุ่มที่ทำเครื่องหมายว่าไม่ดีในไดรฟ์ของฉัน ฉันต้องยกเลิกการทำเครื่องหมายว่าคลัสเตอร์นั้นแย่

หมายเหตุ : chkdskมีตัวเลือกในการประเมินคลัสเตอร์อีกครั้งและส่งคืนเพื่อใช้:

/ B : NTFS เท่านั้น: ประเมินกลุ่มที่ไม่ดีอีกครั้งบนไดรฟ์ข้อมูล (นัย / R)

น่าเสียดายที่ตัวเลือกนั้นจะยกเลิกการทำเครื่องหมายคลัสเตอร์หากไม่เลวอีกต่อไป ฉันต้องการให้คลัสเตอร์ยกเลิกการทำเครื่องหมายโดยไม่คำนึงถึง

ฉันจะยกเลิกการทำเครื่องหมายคลัสเตอร์ NTFS ได้อย่างไร

ทำไมคุณทำเช่นนี้?

ไม่สำคัญว่าทำไมฉันและคนอื่น ๆ อีกหลายร้อยคนกำลังถามคำถาม แต่ปัญหาคือมีเซกเตอร์เสียบนไดรฟ์ของฉัน ได้เวลาเปลี่ยนไดรฟ์ใหม่แล้ว วิธีที่จะทำคือการสะท้อน SSD ลงบน SSD อื่นโดยใช้ซอฟต์แวร์ Windows มิเรอร์

น่าเสียดายที่ข้อผิดพลาดที่รู้จักในการทำมิเรอร์ Windows NTFS ทำให้มิเรอร์ไม่เสร็จสมบูรณ์ดังที่บันทึกไว้ในKB325615 :

ไม่สามารถสร้างมิเรอร์ซอฟต์แวร์หากดิสก์มีบล็อกที่ไม่ดี

DMIO ทำงานใต้ระบบไฟล์และหากพบข้อผิดพลาด I / O ขณะอ่านจากเซกเตอร์บนดิสก์ต้นทางหรือในขณะที่พยายามเขียนข้อมูลไปยังดิสก์ปลายทางมันจะยกเลิกการดำเนินการมิเรอร์

วิธีแก้ปัญหาที่ชัดเจนคือการลดระดับเสียงของระบบปฏิบัติการเพื่อให้เซกเตอร์เสียมีระดับการจบของโวลุ่ม ใน Windows 7 เมื่อคุณพยายามลดขนาดวอลลุ่มเสียงมันจะทำการย้ายไฟล์โดยอัตโนมัติ

ป้อนคำอธิบายรูปภาพที่นี่

นี่เป็นสิ่งที่ดี ในสมัยก่อนหากคุณต้องการลดระดับเสียงคุณต้องใช้เครื่องมือจัดเรียงข้อมูลที่จะผลักไฟล์ทั้งหมดไปทางด้านหน้าของไดรฟ์ ออกจากพื้นที่หย่อนในตอนท้าย

แต่น่าเสียดายที่มีอยู่ในขณะนี้unmovable$BadClusไฟล์ในทางที่: การดำเนินการย่อขนาดDefrag จะบันทึกไฟล์ที่ไม่สามารถเคลื่อนย้ายได้ในบันทึกเหตุการณ์:

การวิเคราะห์การลดขนาดโวลุ่มเริ่มต้นบนโวลุ่ม OS (C :) ข้อมูลรายละเอียดรายการบันทึกเหตุการณ์นี้เกี่ยวกับไฟล์ unmovable ล่าสุดที่สามารถ จำกัด จำนวนไบต์ที่สามารถเรียกคืนได้สูงสุด

รายละเอียดการวินิจฉัย:

  • ไฟล์ unmovable สุดท้ายดูเหมือนจะเป็น: \ $ BadClus: $ Bad: $ DATA
  • คลัสเตอร์สุดท้ายของไฟล์คือ: 0xdc1ded
  • ลดขนาดเป้าหมายที่เป็นไปได้ (ที่อยู่ LCN): 0xa91bd9
  • แฟล็กไฟล์ NTFS คือ: -S - D
  • ขั้นตอนการหด: <วิเคราะห์>

ดังนั้น:

  • ฉันไม่สามารถทำมิเรอร์ระดับเสียงได้จนกว่าจะลบเซกเตอร์เสียออก
  • การหดตัวของปริมาณจะลบเซกเตอร์เสีย
  • ฉันไม่สามารถลดระดับเสียงจนกว่า$BadClusไฟล์จะกระจายได้
  • ฉันไม่สามารถเคลื่อนไหวได้$BadClusในขณะที่มันมีกลุ่มที่ไม่ดี
  • $BadClus จะใช้คลัสเตอร์ที่ไม่ดีในขณะที่ NTFS คิดว่าคลัสเตอร์นั้นไม่ดี

ฉันจะยกเลิกการทำเครื่องหมายคลัสเตอร์ว่าไม่ดีได้อย่างไร

สำหรับคนที่ขับผีได้เช่นกัน

วิธีแก้ปัญหาของฉันจะใช้กับกรณีที่พบบ่อยที่สุดด้วย:

มีคนขับผีที่มีเซกเตอร์เสียไปยังไดรฟ์ใหม่และไดรฟ์ที่ดียังคงมีกลุ่มที่ทำเครื่องหมายว่าไม่ดีแม้ว่าพวกเขาจะดี มันเกิดขึ้นที่พวกเขามีวิธีแก้ปัญหาสำหรับพวกเขา:

>chkdsk /B

ยกเว้นว่าจะไม่ทำงานในกรณีของฉัน (และแม้ว่าจะใช้งานได้ในกรณีของฉันมันไม่ใช่คำถามที่ฉันถาม)

โบนัสแช็ท

แน่นอนว่า Kingson SSD นั้นไม่ได้บำรุงรักษาอะไหล่ ถ้าเป็นเช่นนั้นมันสามารถแมปภาคอะไหล่ให้ฉันได้อย่างโปร่งใสและฉันจะไม่มี NTFS ที่พยายามคิดมากเกินไป

SpinRite

ฉันลอง SpinRite เป็นไดรฟ์ SS พบกลุ่มที่มีข้อบกพร่อง แต่ไม่สามารถรับค่าใด ๆ จากไดรฟ์:

══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183  │     data samples : 1,999  │  first uncertain bit : · · · · ·
  sector :    17  │   unique samples :     0  │   last uncertain bit : · · · · ·
    head :   187  │  discarded sples :     0  │   uncertain bit span : · · · · ·

จำนวนตัวอย่างข้อมูลนับได้สูงสุด 2,000 จากนั้นวนกลับเป็นศูนย์และดำเนินต่อไป

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากประมาณ 20 ลูป (ตัวอย่าง 40,000 ข้อมูล) ฉันยอมแพ้

โคลน

อีกครั้ง; ช่วยให้ไม่สับสนคำถามกับตัวอย่าง คำถามคือวิธีการยกเลิกการทำเครื่องหมายกลุ่มที่ไม่ดีใน NTFS นานหลังจากที่ฉันยอมแพ้และทิ้ง SSD คำถามจะยังคงอยู่ อย่าสับสนปัญหาของฉันสำหรับคำถาม ไม่ได้หมายความว่าฉันอาจพยายามแก้ปัญหาของฉันจริง:

DriveImageXMLถึงเซกเตอร์เสียและยกเลิก

GPartedไม่สามารถโหลดได้ หน้าจอบูตกราฟิกปรากฏขึ้นจากนั้นหน้าต่างคอนโซลเลื่อนข้อความตามด้วยหน้าจอสีดำไม่มีอะไร

Clonezillaปฏิเสธที่จะโคลน SSD ของฉัน:

ดิสก์นี้มีพาร์ติชัน GPT และ MGR ที่ไม่ตรงกัน: / dev / sdb
ซึ่งจะทำให้ Clonezill สับสนและอาจทำให้รูปภาพที่บันทึกไว้ไร้ประโยชน์หรือไม่สามารถโคลนดิสก์ได้

โปรดแก้ไขปัญหา htis จากนั้นเริ่ม Clonezilla อีกครั้ง
โปรแกรมถูกยกเลิก

ป้อนคำอธิบายรูปภาพที่นี่

ฉันจะยกเลิกการทำเครื่องหมายคลัสเตอร์ว่าไม่ดีใน NTFS ได้อย่างไร


คุณต้องการโซลูชัน Windows หรือจะใช้ Linux หรือไม่
โธมัสเวลเลอร์

2
@ThomasW ฉันไม่สนใจเครื่องมือการบูทตนเอง ใช้ OS อะไรก็ได้ที่มันชอบ แน่นอนว่าฉันต้องการเครื่องมือ GUI ฉันเบื่อที่จะใช้บรรทัดคำสั่งในปี 1990 ฉันเริ่มมองหาCreateFileเพื่อเปิดวอลลุ่มโดยตรง แต่รู้ว่าฉันจะต้องเริ่มต้นจากขั้นต้นแยกวิเคราะห์โครงสร้างข้อมูลที่ไม่มีเอกสารทั้งหมด ฉันเปิดวอลลุ่มโดยตรงสำหรับการแก้ไขในhex editor ที่ฉันโปรดปรานแต่มี down-down เหมือนกันโดยต้องวิเคราะห์โครงสร้าง hex ด้วยตนเอง
เอียนบอยด์

@ThomasW ทำไมถึงถามว่าคุณไม่สามารถหาวิธีแก้ไขใน linux ได้หรือไม่ หากสิ่งที่คุณต้องการจะพูดคือถ้าแก้ไขจาก linux live cd ก็โอเคแล้วคุณไม่รู้ว่าควรทำอย่างไร แต่เขาควรเพิ่มแท็ก linux
barlop

หากคุณใช้ MBR สำหรับพาร์ติชั่นดิสก์ sgdisk -z / dev / sdb จะทำการลบ GPT และ clonezilla จะทำการคัดลอก backup-utility.com/articles/…
cybernard

คำตอบ:


7

ฉันจะตอบคำถามชื่อไม่มีอะไรเพิ่มเติม 1

ก่อนอื่นโปรดทราบว่าหากภาคไม่ดีอย่างแท้จริงการยกเลิกการทำเครื่องหมายจะไม่สามารถอ่านได้ ดังนั้นซอฟต์แวร์โคลนของคุณน่าจะทำให้หายใจไม่ออกเมื่ออ่านแทน

ใน NTFS คลัสเตอร์จะถูกทำเครื่องหมายว่าไม่ดีโดยการกำหนดให้กับกระแสข้อมูลพิเศษ$BadClus:$Badซึ่งเป็นไฟล์กระจัดกระจาย

สิ่งที่คุณต้องการคือ

  • แก้ไขรายการเรียกใช้เพื่อลบบล็อกที่จัดสรรที่เกี่ยวข้อง
  • ทำเครื่องหมายคลัสเตอร์ที่สอดคล้องกัน (s) $Bitmapในขณะที่ฟรี

  • หากต้องการยกเลิกการทำเครื่องหมายบล็อกที่ไม่ดีทั้งหมดมีntfsfix -b -d( -b= ล้างรายการบล็อกที่ไม่ดี-d= ล้าง / ไม่ได้ตั้งค่าสถานะ "สกปรก") ( วิธีอื่นที่ntfstruncateทำแบบเดียวกัน2 )

    • มันอาจแนะนำความไม่สอดคล้องเล็กน้อยในข้อมูลเมตา (ในกรณีของฉันดัชนีไม่กี่ไม่ชัดเจน), ฉันไม่แน่ใจว่าทำไม, ดังนั้นทำงานchkdsk -fด้วยมือหรือละเว้น-dเพื่อเรียกใช้เมื่อเริ่มต้น Windows ถ้า / ในกรณีที่คุณได้รับข้อผิดพลาด FS
  • เพื่อที่จะเคลียร์เฉพาะบล็อกเป็นการยากมากตั้งแต่ฉันไม่พบซอฟต์แวร์ใด ๆ ที่มีอยู่ที่สามารถทำออกมาจากกล่องนี้3 การแก้ปัญหาที่ไม่ดีของระบบไฟล์ NTFS: The $ BadClus metafile - รหัสของ Katyอธิบายวิธีการ - โดยพื้นฐานแล้วมันแก้ไข runlist และ bitmap ด้วยมือ


1 เนื่องจากการจัดการเซกเตอร์ที่ไม่ดี + การโคลน NTFS + เป็นหัวข้อที่กว้างเกินไป ฉันยินดีที่จะตอบคำถามที่เกี่ยวข้องโดยตรงกับเรื่องนั้นโดยตรง
2 การตรวจสอบรหัสที่มาของ ntfsfix v2015.3.14
3 สำหรับคนที่ยืนหยัดเหล่านี้ไม่สามารถทำมันได้ntfscat(ไม่สามารถอ่านภาคอ่านไม่ได้) ntfscp(ไม่สามารถเขียนเพื่อชดเชย) ntfstruncate, ntfsfallocate, dd(ไม่สามารถเปิด$BadClus:$Badสำหรับการเขียน)


ควรเลือกให้เป็นคำตอบที่ดีที่สุด
Hashim

1

ฉันมีฮาร์ดไดรฟ์ที่พัฒนากลุ่มที่ไม่ดี ฉันแทนที่มันด้วยไดรฟ์ที่ดีที่รู้จัก กระบวนการกู้คืนกู้คืนข้อมูลคลัสเตอร์ที่ไม่ถูกต้องเช่นเดียวกับข้อมูลอื่น นี่คือในคอมพิวเตอร์ที่ใช้ Windows 7 Enterprise

ทางออกของฉันคือการเรียกใช้ "chkdsk d: / b" (ตามที่ได้รับการแนะนำก่อนหน้านี้) กระบวนการ / b แจ้งให้ทราบ (สำหรับ NTFS เท่านั้น) ทำการสแกนซ้ำกลุ่มที่ไม่ถูกต้องก่อนหน้านี้อีกครั้ง อย่างน้อยในกรณีของฉัน (และฉันจะสงสัยว่าทุกรุ่นที่สนับสนุน / b) จะล้างรายการคลัสเตอร์ที่ไม่ดีทันทีก่อนเริ่มการสแกนการอ่าน เมื่อคุณเห็นข้อความ "การลบ X กลุ่มออกจากไฟล์ Bad Clusters" คุณควรจะสามารถฆ่ากระบวนการ chkdsk (เพราะเป็นเพียงการอ่านข้อมูล)

หมายเหตุ: ความเป็นไปได้ที่จะเกิดขึ้นสำหรับ chkdsk ในการอัพเดทไฟล์กลุ่มที่ไม่ดีในทันทีที่คุณฆ่ากระบวนการถ้ามันเกิดขึ้นเพื่อค้นหาเซกเตอร์เสียที่จุดเริ่มต้นของไดรฟ์ ฉันรับความเสี่ยงและประสบความสำเร็จในการรีเซ็ตไฟล์กลุ่มที่ไม่ดีโดยไม่จำเป็นต้องดาวน์โหลดโปรแกรมอื่น ๆ ที่ต้องใช้ chkdsk แบบเต็มหลังจากนั้น YMMV


มันใช้งานได้จริง หลังจากขั้นตอนที่ 2 คุณเพียงปิดcmdหน้าต่าง แล้วรันchkdsk d: /fซึ่งจะพูดและทำตามCHKDSK discovered free space marked as allocated in the volume bitmap. Windows has made corrections to the file system.
Davor Josipovic

0

วิธีแรกที่ดีที่สุดคือการโคลนไดรฟ์ จากนั้นใช้chkdsk /Bกับไดรฟ์ทำงานใหม่

ตอนนี้ตราบใดที่ยังไม่มีการทำเครื่องหมายส่วนที่ไม่ดีจริงซึ่งเป็นเรื่องยุ่งยาก คุณสามารถใช้:

  • SpinRiteหรือ
  • mhdd (เปิดการแมปใหม่)

ผลิตภัณฑ์ควรทำการแมปเซกเตอร์เสียแล้ว CHKDSK / B ควรยกเลิกการทำเครื่องหมาย

ดาวน์โหลดgpartedหรือpartedmagic ISO บูตจากมันและลดขนาดพาร์ติชัน

สิ่งนี้จะทำงานได้เพราะ windows ไม่ทำงานดังนั้นซอฟต์แวร์นี้จะลดขนาดพาร์ติชันไม่ว่าจะเกิดอะไรขึ้น จากนั้นchkdsk /Bจะจัดการส่วนที่เหลือ

หากสิ่งเหล่านี้ล้มเหลวคุณก็เข้าสู่เส้นทางแห่งความเจ็บปวดที่น่าเกลียด คุณต้องได้รับตัวแก้ไขเซกเตอร์และแก้ไขระบบไฟล์ด้วยตนเอง น่าเสียดายที่มันเกินขอบเขตความรู้ของฉันสำหรับ NTFS สำหรับ FAT หรือ FAT32 มันง่ายมาก


ในฐานะที่เป็น SSD ไม่มีส่วนอะไหล่ที่ต้องทำการแมปใหม่ นั่นคือเหตุผลที่สมาร์ทของไดรฟ์ยังคงบันทึก a Pending Sector CountและReallocated Sector Count0
Ian Boyd

Katy Coeมีบล็อกที่ยอดเยี่ยมที่เริ่มเจาะลึกความกล้าหาญของ NTFS แต่สายตาของฉันจ้องมองเมื่อฉันต้องเริ่มคำนวณออฟเซ็ต, หมายเลขคลัสเตอร์ลอจิคัล, หมายเลขคลัสเตอร์เสมือนและความจริงที่ว่า $ BadClus เป็นไฟล์สำรองที่จริงแล้วมีขนาดเท่ากับปริมาตรทั้งหมด ฉันเกือบจะทำลายไดรฟ์ (ใช้งาน) ของฉันอย่างแน่นอน
Ian Boyd

2
ที่จริงแล้ว SSD มีภาคอะไหล่มากมาย ในความเป็นจริง 120gb ssd อาจมีภาคอะไหล่มากถึง 8gb ทำไมไดรฟ์ของคุณไม่ทำการแมปใหม่โดยอัตโนมัติ ใช้ gparted และลดขนาดพาร์ติชัน
ไซเบอร์นาร์ด

อาจเป็นไปได้ว่านี่เป็นรุ่นเก่าที่ถูกยกเลิกในขณะนี้ไม่ได้รับการสนับสนุนไดรฟ์ Kingston 64 GB หรืออาจเป็นเพียงข้อผิดพลาดในเฟิร์มแวร์ของไดรฟ์ที่พวกเขาลืมใช้การแมปเซกเตอร์ใหม่
Ian Boyd

นอกจากนี้การโคลนไดรฟ์จะล้มเหลวเมื่อพบเซกเตอร์เสีย (อย่างน้อยDriveImageXMLทำ)
เอียนบอยด์

0

เนื่องจากคุณพยายามทำมิรเรอร์ดิสก์ (และดูเหมือนว่าคุณกำลังใช้ Windows 7) จึงมีวิธีอื่น:

ใช้เครื่องมือในตัวเพื่อสร้างการสำรองข้อมูลเพื่อเรียกคืนบนดิสก์ที่ดี ไปที่แผงควบคุมระบบและความปลอดภัยการสำรองข้อมูล สร้างอิมเมจระบบและดิสก์ซ่อมแซมระบบ

หลังจากนั้นคุณสามารถแทนที่ดิสก์ที่ชำรุดเก่าด้วยแผ่นดิสก์ที่ดีจากนั้นทำการกู้คืนระบบกลับสู่สถานะโดยใช้ดิสก์การซ่อมแซมระบบและการสำรองข้อมูล


0

แพ็คเกจ gddrescue (gddrescue - เครื่องมือกู้คืนข้อมูล GNU) ควรทำงานให้คุณ

หยิบติดตั้ง gddrescue แบบสแตนด์อโลนที่ใช้เดเบียน (ซีดีหรือ USB) ด้วย "sudo apt-get install gddrescue" จากนั้นทำการโคลน SSd โดยเปิดหน้าต่างเทอร์มินัลแล้วออก:

ddrescue -f / dev / sda / dev / sdb ./ddrescue.log

(โดยที่ / dev / sda เป็นต้นทางและ / dev / sdb เป็น SSD เป้าหมาย)

ddrescue จะพยายามกู้คืนบล็อกที่ไม่ดีและหากไม่สามารถข้ามได้

เมื่อเสร็จแล้ว chkdsk / f / b ควรทำงานให้เสร็จ


0

ดูเหมือนว่าเป้าหมายของคุณคือลดขนาดของพาร์ติชันและ Windows จะไม่ย่อขนาดเนื่องจากไฟล์ $ BadClus ซึ่งมีอยู่เนื่องจากกลุ่มที่ไม่ดี

ฉันมีโซลูชันสำรองสำหรับคุณซึ่งควรลดขนาดไดรฟ์โดยไม่ต้องจัดการกับไฟล์ $ BadClus โดยตรง ใช้ตัวช่วยสร้างพาร์ติชันเพื่อลดขนาดพาร์ติชัน ตัวช่วยสร้างพาร์ติชั่นใช้งานง่ายฟรีสำหรับการใช้ที่ไม่ใช่เชิงพาณิชย์สามารถเรียกใช้จากภายใน Windows ด้วย GUI หรือจากการบูตซีดีหรือ USB ซึ่งรัน Linux ขนาดเล็กจากนั้นให้ GUI เดียวกันกับคุณ โปรแกรมนี้ยังสามารถกู้คืนพาร์ทิชันที่ถูกลบและแปลงระหว่างตารางพาร์ติชัน MBR และ GPT

ฉันพบปัญหากับ Windows ที่ไม่ได้ลดขนาดพาร์ติชันที่ผ่านมาในบางจุดจากนั้นฉันจะลองตัวช่วยสร้างพาร์ติชันบนพาร์ติชันเดียวกันซึ่งทำโดยไม่มีปัญหา ฉันคิดว่าตัวช่วยสร้าง Partition ยินดีที่จะละเว้นไฟล์ $ BadClus ฉันใช้โปรแกรมนี้มานานกว่า 8 ปีและในที่สุดก็ซื้อรุ่น Pro เพราะพวกเขาได้รับ ฉันพบว่าโปรแกรมนี้ใช้แทน PQMagic ที่ฉันซื้อในปี 1996 ซึ่งเป็นโปรแกรมการแบ่งพาร์ติชัน DOS ที่ยอดเยี่ยมสำหรับไดรฟ์ขนาดเล็ก

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