อัปเดตครั้งสุดท้าย:
ฉันรู้แล้วว่าต้องทำอะไรเพื่อแก้ไขปัญหานี้ ฉันไม่รู้ อย่างไร ที่จะทำมัน ฉันหวังว่าจะมีเครื่องมือสำเร็จรูปที่จะทำโดยอัตโนมัติ - แต่ไม่สามารถหาได้ ฉันยอมรับคำตอบของ Rod เนื่องจากแม้จะไม่ได้แก้ปัญหาของฉันโดยตรงมันให้ภาพพื้นหลังที่ดีมากกับปัญหาขนาดเซกเตอร์ สำหรับผู้ที่มาที่คำถามนี้มีปัญหาเดียวกันอ่านอย่างละเอียดและรอบคอบรวมถึงความคิดเห็นก่อนทำอะไร
แรกเริ่ม
ฉันมีคอมพิวเตอร์และต้องการพื้นที่เพิ่มขึ้นฉันซื้อไดรฟ์ 500GB ใหม่และกล่อง USB ในไม่ช้าฉันก็สังเกตเห็นว่าถ้าฉันแบ่งพาร์ติชันไดรฟ์บนกล่องหุ้มและย้ายไปที่คอมพิวเตอร์ก็จะไม่รู้จักพาร์ติชัน (และในทางกลับกัน) ฉันคิดว่ามันเป็นปัญหาของตู้และไม่ต้องกังวลกับมัน
จากนั้นโศกนาฏกรรม
วันที่ยอดเยี่ยมคอมพิวเตอร์ของฉันตัดสินใจที่จะไม่เปิดอีกต่อไป ปรากฎว่าเมนบอร์ด (ไม่ตีตรามีเพียง MADE IN CHINA ขนาดใหญ่ที่พิมพ์อยู่) จะตาย ฉันใช้มันเป็นไฟล์เซิร์ฟเวอร์และตอนนี้ไดรฟ์ 500GB เต็มไปด้วยข้อมูลที่ฉันไม่สามารถสูญเสียได้ ตอนนี้ฉันยากจนและไม่สามารถซื้อคอมพิวเตอร์เครื่องใหม่ได้ดังนั้นความหวังเดียวของฉันคือกล่องหุ้ม USB "ที่ชำรุด"
การสอบสวน
มีลีนุกซ์หลายรุ่น, แล็ปท็อป, VirtualBox และกล่องหุ้มที่ฉันทำการวิเคราะห์ทางนิติเวชในเรื่องนี้ dmesg รายงานขนาดพาร์ติชันเกินกว่าที่กำหนด ดังนั้นฉันจึงผ่านเอกสารข้อมูลฮาร์ดไดรฟ์การนับส่วนจากการคำนวณขอบเขตการทดสอบไดรฟ์ด้วยตนเองด้วย dd และทุกอย่างดูโอเคจนกระทั่งฉันยิง fdisk และมันกล่าวว่า:
Note: Sector size is 4096 (not 512).
วิธี fdisk เจียมเนื้อเจียมตัว "บันทึก" นี้เป็นรากของปัญหาทั้งหมด หลังจากที่เล่นซอเพิ่มเติมข้อสรุปเหล่านี้ถูกดึง:
กล่องหุ้ม USB ไม่ได้ชำรุด
คอนโทรลเลอร์ SATA บนมาเธอร์บอร์ดที่ตายแล้วนั้นเป็นสิ่งที่แปลกประหลาดอย่างน้อย มันไม่ได้รายงานเซกเตอร์ 4096- ไบต์ต่อระบบปฏิบัติการดังนั้นระบบปฏิบัติการจึงสร้าง MBR อย่างมีความสุขโดยใช้ที่อยู่เซกเตอร์ 512 ไบต์
ตอนนี้เมื่อฉันพยายามเข้าถึงพาร์ติชันระบบปฏิบัติการพยายามใช้ที่อยู่ 512 ไบต์บนไดรฟ์เซกเตอร์ 4096- ไบต์และแน่นอนว่ามันจะไม่ทำงาน
คำถาม
ดังนั้นฉันจะแก้ไขที่อยู่ใน MBR อย่างไรเพื่อให้ถูกต้องในขนาดเซกเตอร์ 4096- ไบต์นอกจากการแก้ไข MBR ด้วยตนเองใน hex-editor และ
พาร์ติชันไม่จัดแนวสำหรับเซกเตอร์ 4096- ไบต์ มีเครื่องมือบางอย่างที่สามารถจัดเรียงไว้นอกเหนือจากการคัดลอกเข้าและออกจากไดรฟ์อื่นได้หรือไม่ (ฉันไม่มีไดรฟ์สำรอง) หรือฉันจะต้องสร้างเครื่องมือที่ "เปลี่ยน" ข้อมูลไปด้านข้างทีละน้อย พาร์ติชั่นเป็น ext3
ขอบคุณ!
ปรับปรุง:
ฉันพบว่ามีวิธีที่ฉลาดในการใช้ dd เพื่อเปลี่ยนพาร์ติชันแบบแทนที่ในคำถามนี้: จะย้ายพาร์ติชั่นใน GNU / Linux ได้อย่างไร? แต่ฉันไม่รู้ว่ามันจะใช้งานได้กับส่วนใดส่วนหนึ่งหรือไม่ ฉันไม่สามารถทดสอบได้ในตอนนี้ แต่จะทำเมื่อฉันมีเวลา
อัปเดต 2:
ดังนั้นฉันจึงจัดแนวพาร์ติชันให้สำเร็จโดยใช้วิธีการด้านบนและแก้ไข MBR ด้วยมือบน hex editor ทันทีที่ฉันเสียบ HDD อีกครั้ง ความเจริญ พาร์ติชันที่ติดตั้งโดยอัตโนมัติ! ฉันไม่แนะนำสิ่งนี้แม้ว่าจะมีข้อผิดพลาดของ I / O ในระหว่างกระบวนการและฉันอาจสูญเสียทุกอย่างดูความคิดเห็นเกี่ยวกับคำตอบของ Rod สำหรับพาร์ติชันอื่นฉันจะไม่รับความเสี่ยงและจะใช้ HDD เก่าและจัดตำแหน่งชิ้นต่อครั้งโดยการคัดลอกข้อมูลแล้ววางกลับไปที่ตำแหน่งอื่น
fdisk
เพื่อแก้ไข MBR (ฉันเรียนรู้สิ่งนี้ในภายหลังโดยไม่จำเป็นต้องใช้โปรแกรมแก้ไข hex) :) คุณสามารถเปลี่ยนแต่ละจุดเริ่มต้นและขนาดของรายการ ดังนั้น: เริ่มต้น fdisk
จดบันทึกการกำหนดค่าปัจจุบัน (หรือดีกว่าสำรองข้อมูล MBR ด้วย dd
) คูณที่อยู่เริ่มต้นและค่าขนาด 8 และแก้ไข ตรวจสอบให้แน่ใจว่าได้ตรวจสอบทุกอย่างด้วยเครื่องคิดเลขและเข้าใจความหมายของค่า คุณจะเห็นว่า Size = End - เริ่ม + 1 และนั่น fdisk
แสดงขนาดในหน่วย 1000 ส่วนดังนั้นคุณอาจต้องเปิดโหมดผู้เชี่ยวชาญเพื่อดูมูลค่าที่แท้จริง ฯลฯ