ระบบไฟล์เซ็กเตอร์ของฮาร์ดดิสก์ขึ้นอยู่กับระบบปฏิบัติการหรือไม่?


3

ฉันสงสัยว่าที่เก็บเซกเตอร์ที่มีข้อบกพร่องในฮาร์ดดิสก์: - ในพื้นที่ที่เป็นอิสระต่อระบบไฟล์ดังนั้นถ้าฮาร์ดไดรฟ์ถูกฟอร์แมตอีกครั้งด้วยระบบไฟล์เดียวกัน / ต่างกันพวกเขาจะแสดงว่าไม่ดี?

ฉันถามสิ่งนี้เพราะฮาร์ดดิสก์ดิจิตอล sat PVR ของฉันแสดงพฤติกรรมที่บั๊กกี้ดังนั้นฉันจึงแนบ HD กับพีซีของฉันอย่างไรก็ตามเนื่องจากใช้ระบบไฟล์ที่เป็นกรรมสิทธิ์ (XTV) ฉันได้ฟอร์แมตด้วย NTFS และออก CHKDSK / F / R เพื่อตรวจสอบเซกเตอร์: เนื่องจากผล 24 ภาคถูกทำเครื่องหมายว่าไม่ดี

ถอนติดตั้งดิสก์และเสียบเข้ากับ PVR ดิสก์นั้นได้รับการเริ่มต้นใหม่ด้วยระบบไฟล์ XTV

เมื่อมาถึงจุดนี้ฉันสงสัยว่าภาคที่ทำเครื่องหมายว่าไม่ดียังคงถูกตั้งค่าสถานะหรือไม่


นอกเหนือจากคำตอบที่คุณได้รับและสิ่งที่คุณทำเพื่อซ่อมแซม / เปลี่ยนดิสก์: คุณอาจต้องการตรวจสอบพฤติกรรมฮาร์ดดิสก์ของ PVRs: บางคนมีฮาร์ดดิสก์ทำงานอยู่เมื่อไม่จำเป็น โดยเฉพาะอย่างยิ่งหากพวกเขาทำการเขียนที่ไม่จำเป็นซึ่งจะช่วยลดเวลาในการใช้งานดิสก์ ฉันไม่สามารถหาข้อมูล googleing จำนวนมากสำหรับ "" เครื่องบันทึกวิดีโอฮาร์ดดิสก์ "ที่ทำงานอยู่ตลอดเวลา" "แต่หากคุณกำลังคิดที่จะเปลี่ยนไดรฟ์ให้ลองตรวจสอบการแทนที่ PVR ทั้งหมดเช่นกันพิจารณาค่าไฟฟ้าของคุณด้วยเช่นกัน
Jan Doggen

1
โดยทั่วไปทั้งไมโครโค้ดดิสก์ระดับต่ำและระบบไฟล์มีกลยุทธ์เซกเตอร์ที่ไม่ดี ไมโครโค้ดจะใช้เซกเตอร์ "อะไหล่" ที่มี (บางส่วนอาจใช้เป็นข้อบกพร่องในการผลิต) ในขณะที่ระบบไฟล์จะ (อีกครั้ง "โดยทั่วไป") "จัดสรร" เซกเตอร์เสียที่พบ (โดยทั่วไปหลังจาก "สำรอง" การโอเวอร์โฟลว์พื้นที่) ไปยังไฟล์ "เซกเตอร์" ที่ไม่ดี เนื่องจากอาจมีข้อบกพร่องที่พื้นผิวที่พบในระหว่างการจัดรูปแบบการผลิตเซกเตอร์เสียบางส่วนในพื้นที่ "ว่าง" ไม่จำเป็นต้องบ่งชี้ของปัญหาแม้ว่า 24 อาจมากกว่า "ไม่กี่"
Daniel R Hicks

คำตอบ:


2

ดิสก์ภาคไม่ดี FileSystem อิสระ

มีรายการเซกเตอร์เสียสองรายการซึ่งจัดเก็บไว้ในดิสก์ในพื้นที่ที่เรียกว่า SystemArea ซึ่งอยู่บนแผ่นเสียงและมาก่อนผู้ใช้ (เช่น OS) ภาคที่สามารถเข้าถึงได้และพวกเขาจัดการโดยดิสก์เอง ชื่อของพวกเขาคือ P-List และ G-List รายการ P-List เป็นรายการหลักที่เขียนลงดิสก์อย่างถาวรหลังจากที่ผลิตและทดสอบโดยส่วนที่ชำรุด G-List เป็น Grown List ที่ได้รับการจัดการและดูแลอย่างรวดเร็ว หลังจากบางช่วงเวลาอาจทำให้สนามแม่เหล็กไม่ดีซึ่งเป็นเรื่องปกติหรืออาจเกิดผลเสียจากข้อผิดพลาดของ ECC ด้วยสาเหตุเหล่านี้และสาเหตุอื่น ๆ ที่เกิดขึ้นทันที G-List จะติดตามส่วนที่ไม่ดีที่คุณเห็น แน่นอนว่ามีเครื่องมือดิสก์บางตัวที่คุณสามารถจัดการ G-List และ G-List เท่านั้น คุณไม่สามารถเปลี่ยนเนื้อหาของ P-List ได้

ระบบไฟล์สามารถติดตามเซกเตอร์เสียได้เช่นกัน คุณสามารถคิดถึงสิ่งนี้ในการพิจารณาความเร็วในการเข้าถึง และกลไกการติดตามนั้นขึ้นอยู่กับ FS เศร้า เราไม่สามารถพูดว่า "โอ้เอฟเอสของฉันคอยติดตามเซกเตอร์ที่ไม่ถูกต้อง" จนกว่าเราจะเห็นซอร์สโค้ดของ fs นั้นเอง เราไม่ทราบว่าจะอัปเดต G-List จากดิสก์หรือไม่เมื่อออกรูปแบบดิสก์หรือตรวจสอบดิสก์ตามความเหมาะสมเพื่อซิงค์กับเซกเตอร์เสียจริง

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


ขวา. ระบบไฟล์บางระบบจะรับรู้ว่ามีการเซกเตอร์เสียใหม่โดยไมโครโค้ดดิสก์และจะข้ามการใช้บล็อกทั้งหมดนั้นเพื่อให้ประสิทธิภาพของดิสก์ไม่ได้รับผลกระทบ
Daniel R Hicks

@The_aLiEn สิ่งที่คุณเขียนดูเหมือนจะขัดแย้งกับคำตอบของ Sergey ... เขาระบุว่าเซกเตอร์ที่ไม่ดีจะถูกเก็บไว้ในโครงสร้างระบบไฟล์ .... ใครจะรู้ว่า G-List ได้รับการอัพเดตเมื่อมีข้อผิดพลาดติดอยู่ที่ระดับระบบไฟล์
Riccardo

1
@ Riccardo คำพูดของเขาไม่ผิด แต่สั้นไปหน่อย ในขณะที่ฉันกำลังพูดระบบไฟล์สามารถและควรและอย่างที่เราทุกคนรู้กันดีว่าการติดตามเซกเตอร์เสียอยู่ในตัวเอง แต่นี่ไม่ใช่สถานที่เดียวที่มีการติดตามเซ็กเตอร์ การติดตาม FileSystem เป็นมุมมองของซอฟต์แวร์ ฮาร์ดแวร์ธารเป็นรายการที่ฉันกล่าวถึงข้างต้น และอีกครั้ง: ระบบไฟล์We don't know whether it updates G-List from the disk or not when issuing a disk format or a disk check, **as it should**, to sync with real bad sectors.ควรซิงค์กับ G-List โดยที่การซิงค์หมายถึงแบบสองทิศทาง;)
The_aLiEn

2
ฉันได้รับคำสั่งจากช่างเทคนิคของ WDC โดยอ้างว่า G-List ได้รับการอัปเดตเมื่อระบบปฏิบัติการพบเซกเตอร์เสีย
Riccardo

นั่นเป็นข่าวดี ซึ่งหมายความว่าตอนนี้เรารู้ว่าระบบไฟล์ในตลาดมีการติดตั้งการติดตามเซกเตอร์เสียในระดับฮาร์ดแวร์ซึ่งฉันชี้ว่า "ควร" แต่ฉันติดกับอาร์กิวเมนต์ดั้งเดิมของฉันมันเป็นระบบไฟล์ที่ [ควร] อัปเดต [s] G-List และระบบไฟล์หัวเรื่อง XTV ต้องมีการนำไปใช้ ไม่จำเป็นต้องสงสัยมากนักฉันคิดว่ามันกำลังทำงานเกี่ยวกับการซิงโครไนซ์เหล่านี้ทั้งหมด
The_aLiEn

1

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

สำหรับคำถามของคุณCHKDSK /F /Rคำสั่งจะทำเครื่องหมายเซกเตอร์ที่ไม่ดีในระดับระบบแฟ้มเท่านั้นข้อมูลเกี่ยวกับเซกเตอร์เหล่านั้นจะถูกเก็บไว้ในโครงสร้าง NTFS เท่านั้นและจะหายไปเมื่อฟอร์แมตดิสก์ใหม่ ตอนนี้คุณมีดิสก์ที่มี 24 เซกเตอร์ที่อ่านไม่ได้ แต่ PVR ของคุณไม่รู้อะไรเลยและจะพยายามใช้เซกเตอร์เหล่านั้นอย่างมีความสุข

อย่างไรก็ตามฮาร์ดดิสก์สามารถทำเซกเตอร์เสียได้ทำการแมปตัวเองใหม่ - มี“ รายการข้อบกพร่องที่ปลูกไว้” ที่จัดเก็บไว้ในดิสก์ซึ่งใช้เพื่อเปลี่ยนเส้นทางความพยายามในการเข้าถึงเซกเตอร์ที่เสียไปยังพื้นที่ว่าง การแมปนี้ไม่สามารถมองเห็นได้ในคอมพิวเตอร์ (หรืออุปกรณ์อื่น ๆ ที่ใช้ดิสก์) ยกเว้นเมื่อใช้ยูทิลิตี้ระดับต่ำพิเศษ

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

อีกสิ่งหนึ่งที่คุณสามารถทำได้คือไปที่เว็บไซต์ของผู้ผลิตดิสก์และดาวน์โหลดยูทิลิตี้ทดสอบดิสก์ (เช่น SeaTools สำหรับดิสก์ Seagate) จากนั้นแนบดิสก์เข้ากับคอมพิวเตอร์ของคุณและทำการทดสอบสื่อเต็มรูปแบบ ยูทิลิตีนี้อาจบังคับให้เซกเตอร์เสียทำการแมปใหม่โดยดิสก์ดังนั้นดิสก์จะไม่ปรากฏว่ามีเซกเตอร์เสียเมื่อเข้าถึงตามปกติ (อย่างน้อยในขณะที่ไม่มีเซกเตอร์เสียอื่น ๆ เกิดขึ้นเนื่องจากดิสก์เสื่อมสภาพอย่างต่อเนื่อง) หากดิสก์อยู่ในรูปแบบที่ไม่ดีโดยเฉพาะยูทิลิตี้อาจแสดงให้เห็นว่าต้องมีการเปลี่ยน (แต่มีเซ็กเตอร์ที่ไม่ดีหลายอันที่สามารถทำการแมปใหม่ได้โดยปกติจะไม่ถือว่าเป็นปัญหาร้ายแรงจากยูทิลิตี้เหล่านี้)

โปรดทราบว่าหากคุณเลือกที่จะเรียกใช้ยูทิลิตี้ทดสอบของผู้ผลิตดิสก์คุณต้องแนบดิสก์เข้ากับคอนโทรลเลอร์ SATA โดยตรง (หรือ IDE หากดิสก์และคอมพิวเตอร์ของคุณนั้นเก่า) และไม่ผ่านอะแดปเตอร์ภายนอกที่มีอินเตอร์เฟส USB หรือ FireWire เนื่องจากยูทิลิตีดิสก์ต้องสามารถส่งคำสั่ง ATA ตามอำเภอใจไปยังดิสก์ซึ่งไม่สามารถทำได้เมื่อใช้ชิปคอนโทรลเลอร์ USB-SATA หรือ FireWire-SATA จำนวนมาก (และแม้ว่าจะเป็นไปได้มีโอกาสมากที่สุดที่ยูทิลิตี้ไม่สนับสนุน) ในบางกรณีคุณอาจต้องเปลี่ยนการตั้งค่า BIOS เพื่อให้ยูทิลิตี้ดิสก์ทำงาน (เช่นปิดใช้งานโหมด AHCI หรือ RAID หากไม่ได้รับการสนับสนุนจากยูทิลิตี้) ในกรณีนี้คุณต้องใช้ความระมัดระวังเป็นพิเศษในการกู้คืนการตั้งค่าเหล่านั้นมิฉะนั้นระบบปฏิบัติการของคุณจะไม่สามารถบูตได้อีกต่อไป (หรือยิ่งกว่านั้นอาร์เรย์ RAID อาจถูกทำลายได้หากใช้โหมด RAID)


0

โดยสรุปหากคุณสังเกตเห็นบล็อกที่ไม่ดีในระบบไฟล์ใด ๆ เป็นไปได้ว่าพื้นที่บริการเพื่อเปลี่ยนเส้นทางเซกเตอร์เสียเต็ม ฉันขอแนะนำให้คุณให้ HDD ศัตรูนี้))

ดูข้อผิดพลาดของดิสก์ที่ eventlog:

powershell Get-Eventlog system -newest 10 -EntryType Error -Source Disk

ดูเหตุการณ์ดิสก์ทั้งหมดที่ eventlog:

powershell Get-Eventlog system -Source Disk

ทดสอบสถานะ SMART, smartChk.vbs:

Dim strComputer 
Dim strLogin 
Dim strPassword 
On Error Resume Next 

strComputer = "."

If strLogin = "" or strComputer = "." then 
   Set    objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI") 
else 
   Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") 
   Set objWMIService = objSWbemLocator.ConnectServer(strComputer, _ 
  "root\CIMV2", _ 
  strLogin, _ 
  strPassword, _ 
  "MS_409") 
end If 

Set    SmartDataItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictData", "WQL", 48) 

    InstanceName = Array() 
    SmartData = Array() 
    SmartLength = Array() 
    RowCount = 0 
    For Each objItem In SmartDataItems 
      Redim Preserve InstanceName(RowCount) 
      InstanceName(RowCount) = objItem.InstanceName 
      Redim Preserve SmartData(RowCount) 
      SmartData(RowCount) = objItem.VendorSpecific 
      Redim Preserve SmartLength(RowCount) 
      SmartLength(RowCount) = objItem.Length 
      RowCount = RowCount + 1 
Next 
Set    SmartDataItems = Nothing 

ThresholdData = Array() 
Redim Preserve ThresholdData(RowCount) 
PredictFailure = Array() 
Redim Preserve PredictFailure(RowCount) 
Reason = Array() 
Redim Preserve Reason(RowCount) 

RowCount = 0 
    Set    ThresholdItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictThresholds", "WQL", 48) 
For Each objItem In ThresholdItems 
      ThresholdData(RowCount) = objItem.VendorSpecific 
      RowCount = RowCount + 1 
Next 
Set    ThresholdItems = Nothing 

RowCount = 0 
    Set    PredictStatusItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictStatus", "WQL", 48) 
    For Each objItem In PredictStatusItems 
          PredictFailure(RowCount) = objItem.PredictFailure 
          Reason(RowCount) = objItem.Reason 
          RowCount = RowCount + 1 
    Next 
Set    PredictStatusItems = Nothing 

Set oDict = CreateObject("Scripting.Dictionary") 
CreateDict(oDict) 

Set objFSO = CreateObject("Scripting.FileSystemObject") 

If strComputer = "." then 
   Set objTextFile = objFSO.OpenTextFile("HDD_Smart.csv", 2, True) 
else 
   Set objTextFile = objFSO.OpenTextFile("HDD_Smart_" & strComputer & ".csv", 2, True) 
end If 

For CurrentDisk = 0 to RowCount - 1 
     objTextFile.WriteLine("Drive: " & Replace(Mid(InstanceName(CurrentDisk), 9, InStr(InstanceName(CurrentDisk), "__") - 9), "_", " ")) 
     objTextFile.WriteLine("PredictFailure: " & PredictFailure(CurrentDisk)) 
     objTextFile.WriteLine("Reason: " & Reason(CurrentDisk)) 
     objTextFile.WriteLine("ID;Attribute;Type;Flag;Threshold;Value;Worst;Raw;Status;") 
     aSmartData = SmartData(CurrentDisk) 
     aThresholdData = ThresholdData(CurrentDisk) 

     If IsArray(aSmartData) AND IsArray(aThresholdData) Then 
         LastID = 0 
         For x = 2 To SmartLength(CurrentDisk) + 2 Step 12 
              If LastID > aSmartData(x)  then 
                 x = 514 
              else 
                 LastID = aSmartData(x)                      

              If aSmartData(x) <> 0 Then 
                  objTextFile.Write(aSmartData(x) & ";") 
                  If oDict.Item(aSmartData(x)) = "" Then 
                        objTextFile.Write("VendorSpecific(" & aSmartData(x) & ");") 
                  else 
                        objTextFile.Write(oDict.Item(aSmartData(x)) & ";") 
                  end If 

                  If aSmartData(x + 1) MOD 2 Then 
                        objTextFile.Write("Pre-Failure;") 
                  Else 
                        objTextFile.Write("Advisory;") 
                  End If 

'                      objTextFile.Write(aSmartData(x + 1) & ";") 
                  aFlag = aSmartData(x + 1) 
                  txtFlag = "" 
                  If (aFlag And &H1) <> 0 Then txtFlag = "LC," End If 
                  If (aFlag And &H2) <> 0 Then txtFlag = txtFlag & "OC," End If 
                  If (aFlag And &H4) <> 0 Then txtFlag = txtFlag & "PR," End If 
                  If (aFlag And &H8) <> 0 Then txtFlag = txtFlag &  "ER," End If 
                  If (aFlag And &H10) <> 0 Then txtFlag = txtFlag &  "EC," End If 
                  If (aFlag And &H20) <> 0 Then txtFlag = txtFlag &  "SP," End If 
                  If txtFlag <> "" then 
                     txtFlag = Left(txtFlag, Len(txtFlag)-1 ) 
                  end If 
                  objTextFile.Write txtFlag & ";" 

                  objTextFile.Write(aThresholdData(x + 1) & ";") 'Threshold 
                  objTextFile.Write(aSmartData(x + 3) & ";")      'Value 
                  objTextFile.Write(aSmartData(x + 4) & ";")      'Worst 
                  objTextFile.Write((aSmartData(x + 8) * 65536 + aSmartData(x + 7) * 4096 + aSmartData(x + 6) * 256 + aSmartData(x + 5)) & ";")      'Raw 
                  If aSmartData(x + 3) >= aThresholdData(x + 1) Then 
                       objTextFile.WriteLine("OK;") 
                  else 
                       objTextFile.WriteLine("NOT OK;") 
                  end If 
              end If 
              end If 
         Next 
         else 
             objTextFile.WriteLine("NO DRIVE WITH SMART FOUND;") 
         end If 
         objTextFile.WriteLine 
    Next 

    objTextFile.WriteLine 
    objTextFile.WriteLine("LC - life critical;") 
    objTextFile.WriteLine("OC - online collection;") 
    objTextFile.WriteLine("PR - performance related;") 
    objTextFile.WriteLine("ER - error rate;") 
    objTextFile.WriteLine("EC - event count;") 
    objTextFile.WriteLine("SP - self preserving;") 
    objTextFile.Close 

    Wscript.echo "HDD_SMART Is Done!" 

Function CreateDict(oDict) 
    oDict.Add 1, "Raw Read Error Rate" 
    oDict.Add 2, "Throughput Performance" 
    oDict.Add 3, "Spin-Up Time" 
    oDict.Add 4, "Start/Stop Count" 
    oDict.Add 5, "Reallocated Sectors Count" 
    oDict.Add 6, "Read Channel Margin" 
    oDict.Add 7, "Seek Error Rate Rate" 
    oDict.Add 8, "Seek Time Performance" 
    oDict.Add 9, "Power-On Hours (POH)" 
    oDict.Add 10, "Spin Retry Count" 
    oDict.Add 11, "Recalibration Retries Count" 
    oDict.Add 12, "Device Power Cycle Count" 
    oDict.Add 13, "Soft Read Error Rate" 
    oDict.Add 184,"End-to-End error"
    oDict.Add 187,"Reported UNC Errors"
    oDict.Add 190,"Airflow Temperature (WDC)"
'    oDict.Add 190, "HDA Temperature" 
    oDict.Add 191, "G-Sense Error Rate Frequency" 
    oDict.Add 192, "Power-Off Park Count" 
    oDict.Add 193, "Load/Unload Cycle Count" 
    oDict.Add 194, "HDA Temperature" 
    oDict.Add 195, "Hardware ECC Corrected Count" 
    oDict.Add 196, "Reallocated Event Count" 
    oDict.Add 197, "Current Pending Sector Count" 
    oDict.Add 198, "Off-Line Scan Uncorrectable Sector Count" 
    oDict.Add 199, "UltraDMA CRC Error Count" 
    oDict.Add 200, "Write Error Rate" 
    oDict.Add 201, "Soft Read Error Rate" 
    oDict.Add 202, "Address Mark Errors Frequency" 
    oDict.Add 203, "ECC errors (Maxtor: ECC Errors)" 
    oDict.Add 204, "Soft ECC Correction" 
    oDict.Add 205, "Thermal Asperity Rate (TAR)" 
    oDict.Add 206, "Flying Height" 
    oDict.Add 207, "Spin High Current" 
    oDict.Add 208, "Spin Buzz" 
    oDict.Add 209, "Offline Seek Perfomance" 
    oDict.Add 210, "Vibration During Write" 
    oDict.Add 211, "Vibration During Read" 
    oDict.Add 212, "Shock During Write" 
    oDict.Add 220, "Disk Shift" 
    oDict.Add 221, "G-Sense Error Rate" 
    oDict.Add 222, "Loaded Hours" 
    oDict.Add 223, "Load/Unload Retry Count" 
    oDict.Add 224, "Load Friction" 
    oDict.Add 225, "/Unload Cycle Count" 
    oDict.Add 226, "Load 'In'-time" 
    oDict.Add 227, "Torque Amplification Count" 
    oDict.Add 228, "Power-Off Retract Cycle" 
    oDict.Add 230, "GMR Head Amplitude" 
    oDict.Add 231, "Temperature"
    oDict.Add 240, "Head Flying Hours" 
    oDict.Add 250, "Read Error Retry Rate" 
End Function 

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

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