วิธีการแก้ไข hd0 ออกจากข้อผิดพลาดของดิสก์บน Linux

หนึ่งในข้อผิดพลาดที่ผู้ใช้ลินุกซ์กลัวมากกว่าคนอื่น ๆ อ่านสิ่งที่ต้องการความผิดพลาด: hd0 ออกจากดิสก์ กดปุ่มใดก็ได้เพื่อดำเนินการต่อในเวลาบูต ข้อผิดพลาดนี้ทำให้ดูเหมือนว่าไดรฟ์ข้อมูลสำหรับเริ่มระบบของคุณไม่ปรากฏในระบบของคุณ แม้ว่าจะไม่ได้ระบุว่ามีปัญหาทางบัญชีจำนวนมาก แต่ก็ไม่ได้เลวร้ายเท่าคำพูดในทำนองเดียวกันอาจส่งผลต่อเสียง การเริ่มระบบจาก USB USB แบบสดอาจเป็นสิ่งที่คุณต้องทำเพื่อกู้คืนการติดตั้งหลักของคุณและคืนค่าความสามารถในการบูตจากพาร์ติชันรากหลักของคุณ / ที่ติดตั้ง

สมมติว่าคุณสามารถกู้คืนโครงสร้างไฟล์ของคุณได้ด้วยขั้นตอนเหล่านี้คุณจะต้องอัปเดตผู้บริหารแพ็กเกจของคุณ ใช้ตัวอย่างเช่น sudo apt-get update คำสั่งใน Ubuntu หรือ Debian เพื่อทำเช่นนั้น ความเสียหายกับโครงสร้างไฟล์สามารถทำให้เกิดความเสียหายต่อรายการพื้นที่เก็บข้อมูลดังนั้นจึงทำให้การติดตั้งของคุณมีความเป็นไปได้ว่าจะอัปเดตเมื่อไม่ได้หรือในทางกลับกัน การอัปเดตแล้วอัปเกรดแพ็กเกจของคุณอาจช่วยในการเขียนทับไฟล์ที่เสียหายด้วยซอฟต์แวร์ระบบอย่างปลอดภัย

การกู้คืนจาก hd0 ออกจากข้อผิดพลาดของดิสก์

ในเวลาบูตคุณอาจพบว่าการติดตั้ง Linux ของคุณแฮงค์ด้วยข้อผิดพลาดที่อ่านข้อผิดพลาด: hd0 ออกจากดิสก์แม้ว่าไฟล์อุปกรณ์และหมายเลขพาร์ติชันอาจแตกต่างกันขึ้นอยู่กับการกำหนดค่าของคุณ การเปลี่ยนแปลงนี้อาจเปลี่ยนแปลงได้หากพาร์ติชันต่างกันเสียหายและอาจแสดงชื่ออุปกรณ์ # sd ระดับสูงมากกว่าไฟล์อุปกรณ์คลาสสิค hd # ที่ต่ำกว่า

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

หากคุณใส่อุปกรณ์ USB USB ที่เขียนลงในช่องเสียบหนึ่งเครื่องคุณอาจต้องกดคีย์เฉพาะเมื่อเริ่มต้นใช้งานเครื่องเพื่อเริ่มต้นใช้งาน ขึ้นอยู่กับฮาร์ดแวร์ของคุณ แต่โปรดเลือกที่จัดเก็บข้อมูลแบบถอดได้เมื่อถามประเภทอุปกรณ์ที่คุณบูต คุณอาจได้รับข้อความก่อนที่จะเข้าไปอยู่ในหีบห่อของ busybox ถ้าคุณสามารถบูตระบบได้สำเร็จ ในทั้งสองกรณีคุณจำเป็นต้องเข้าสู่ระบบพร้อมท์และคุณควรตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์เข้าถึง root ก่อนที่จะดำเนินการต่อ มิเช่นนั้นให้พิมพ์คำนำหน้าชื่อแต่ละคำสั่งด้วย sudo ก่อนที่จะออก คุณยังสามารถลอง sudo -i, sudo bash, sudo tcsh หรือ sudo busybox ash เพื่อรับเชลล์ root จากพรอมต์

คุณอาจต้องการคัดลอกไดเร็กทอรี ~ / home ไปยังอุปกรณ์ที่ถอดออกได้ทั้งหมดในกรณีที่คุณได้รับความเสียหายร้ายแรง แต่คุณควรทำแบบทดสอบ fsck ก่อน เราจะสมมติว่า / dev / sda1 เป็นพาร์ติชันที่เสียหายเพื่อเป็นการอภิปราย แต่แทนที่ไฟล์อุปกรณ์ด้วยชื่อที่ถูกต้องของไฟล์ในระบบของคุณ เริ่มต้นด้วย umount / dev / sda1 แล้ว fsck.ext4 -f / dev / sda1 เพื่อให้แน่ใจว่าระบบไฟล์ไม่ได้รับความเสียหาย หากคุณมีพาร์ทิชันอื่นที่คุณต้องการตรวจสอบให้ทำในตอนนี้ คุณอาจต้องการใช้ e2fsck หรือ fsck.ext3 ขึ้นอยู่กับระบบไฟล์ที่คุณบูต ตรวจดูให้แน่ใจว่าได้ตั้งพาร์ติชันก่อนที่จะรัน fsck เสมอ

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

เมล็ดหลาย ๆ ที่แข่งขันกันบนอุปกรณ์เดียวกันอาจทำให้เกิดข้อผิดพลาดนี้ได้ ในบางกรณีคำสั่ง fsck สามารถแก้ไขปัญหาได้ แต่สมมติว่ามีคำสั่งต่อไปนี้เพื่อเชื่อมต่อส่วนของโครงสร้างไฟล์ในสภาวะแวดล้อม USB แบบสดของคุณ:

mount / dev / sda1 / mnt

mount -bind / dev / mnt / dev

mount-bind / dev / pts / mnt / dev / pts

mount-bind / proc / mnt / proc

mount-bind / sys / mnt / sys

chroot / mnt

ตอนนี้คุณจะต้องเรียกใช้ apt-get update, apt-get autoremove และ apt-get ทำความสะอาดเพื่อทำความสะอาดสิ่งต่างๆ อีกครั้งอาจมีการแก้ไขปัญหานี้และคุณอาจพบว่าระบบปฏิบัติการจะบูตได้อย่างถูกต้อง ถ้าไม่ได้ลองใช้เพื่อกำหนดตัวแปรสภาพแวดล้อม:

UNUSCONF = $ (dpkg -l | grep ^ rc | awk '{print $ 2}')

วิ่ง:

apt-get ลบ - ปรับปรุง $ UNUSCONF

NEWKERNEL = $ (uname -r | sed 's / - * [az] // g' | sed 's / -amd64 // g')

ADDKERNEL = linux- (ภาพที่ | หัว | เดเบียนโมดูล | จำกัด โมดูล)

METAKERNEL = linux- (ภาพที่ | หัว | จำกัด โมดูล) - (ทั่วไป | amd64 | เซิร์ฟเวอร์ | ทั่วไป | RT | Xen)

UNUSKERNELS = $ (dpkg -l | awk '{print $ 2}' | grep -E $ ADDKERNEL | grep -vE $ METAKERNEL | grep -v $ NEWKERNEL)

แม้ว่าคุณอาจจะต้องเปลี่ยนการอ้างอิง amd64 ไปที่ 386 หรือ i386 และการอ้างอิงของเดเบียนโมดูลไปยังโมดูล ubuntu ถ้าคุณไม่ได้อยู่ใน Debian ที่บริสุทธิ์ เรียกใช้ในที่สุด:

apt-get ลบ - ชักชวน $ UNUSKERNELS

grub-install -root-directory = / mnt / dev / sda

grub-install -recheck / dev / sda

umount / mnt

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

หากคุณยังคงมีข้อผิดพลาดในการรีบูตหลังจากรัน fsck และทำความสะอาดเคอร์เนลเป็นประจำแล้วคุณอาจมีความล้มเหลวของฮาร์ดแวร์ที่ร้ายแรงกว่าที่จะป้องกันไม่ให้ Linux เริ่มทำงาน ตรวจสอบการเชื่อมต่อกับดิสก์ของคุณและตรวจดูให้แน่ใจว่าติดตั้งอะแดปเตอร์ไฟอย่างแน่นหนา นี่เป็นปัญหาเกี่ยวกับการเชื่อมต่อ IDE Molex แบบโบราณมากกว่าที่เป็นอยู่กับ SATA และทุกอย่างสวยมากขึ้นกว่าสมัยใหม่ คุณอาจต้องการพิจารณาอายุของไดรฟ์ข้อมูลสำหรับเริ่มระบบของคุณหากคุณกำลังทำงานกับ SSD ประเภทใด ชิปหน่วยความจำ NAND สิ้นเปลืองและอาจทำให้เกิดความจำเป็นในการเรียกใช้ badblocks check บางคนอาจจะบูตจากช่องเสียบการ์ด SD หรืออะแดปเตอร์ SD หรือ PATA หรือ SATA การ์ดเหล่านี้บางครั้งอาจหลุดออกและความชื้นสามารถสร้างความเสียหายให้กับรายชื่อได้ดังนั้นคุณอาจต้องการปิดระบบลงให้ถอดการ์ดออกและวางตำแหน่งใหม่ก่อนลองอีกครั้ง

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

Facebook Twitter Google Plus Pinterest