Jun 12, 2024 • Filed to: Linux Recovery & Hacks
เมื่อคืน ฉันประสบปัญหาเกี่ยวกับดิสก์ในระบบ Linux ของฉัน ฉันได้ลองซ่อมแซมโดยใช้บทช่วยสอนจากอินเทอร์เน็ตแล้ว แต่ดูเหมือนว่า จะไม่มีอะไรได้ผลสำหรับฉัน จากนั้น ฉันก็ได้พบกับหนทางซึ่งทำให้ฉันรู้จักกับคำสั่ง fsck ทุกอย่างเปลี่ยนไปจากที่นั่น
ตัวเลือกตรวจสอบดิสก์ของ Linux จะตรวจสอบเซกเตอร์เสีย และข้อผิดพลาดในไดรฟ์
ใน Linux การตรวจสอบ คำสั่งดิสก์ จะแสดงด้วย fsck ซึ่งเป็นตัวย่อสำหรับการตรวจสอบความสอดคล้องของระบบไฟล์ พูดง่ายๆ ก็คือเป็นยูทิลิตี้ที่ช่วยให้ผู้ใช้งาน สแกนฐานข้อมูลไฟล์ เพื่อหาข้อผิดพลาดที่มีอยู่ และซ่อมแซมหากจำเป็น โดยใช้งานชุดเครื่องมือในตัว ตรวจสอบดิสก์ จากนั้น สร้างรายงานการประเมินโดยอัตโนมัติ ในบางระบบ fsck มักจะทำงานตามค่าเริ่มต้น โดยปกติแล้ว หลังจากที่ระบบปิดการทำงานอย่างไม่เหมาะสมหรือหลังจากการรีบูตหลายครั้งa
Linux การตรวจสอบดิสก์ (fsck) เป็นการดำเนินการมาตรฐานในระบบปฏิบัติการที่ใช้งาน Unix ซึ่งรวมถึงระบบปฏิบัติการ Linux และ Apple โดยส่วนใหญ่ fsck จะถูกเปิดใช้งานโดยผู้ดูแลระบบด้วยตนเองหรือถูกใช้งานโดยอัตโนมัติในเวลาบูต มันทำงานบนโครงสร้างข้อมูลโดยตรงซึ่งถูกจัดเก็บไว้ในดิสก์ ลักษณะการทำงานเฉพาะของ fsck อาจแตกต่างกัน แต่โดยทั่วไป จะเป็นไปตามโปรโตคอลเฉพาะสำหรับการดำเนินการภายใน และให้อินเทอร์เฟซบรรทัดคำสั่งทั่วไปแก่ผู้ใช้งาน
ไดรฟ์ Linux มักจะได้รับความเสียหายจากสาเหตุทั่วไปเหล่านี้:
1. การลบข้อมูลโดยไม่ได้ตั้งใจหรือข้อผิดพลาดของมนุษย์: เนื่องจากการลบข้อมูลสำคัญโดยไม่ตั้งใจ ไดรฟ์ Linux จึงมักจะเสียหาย ซึ่งมักเกิดจากการขาดความเข้าใจหรือการเล่นกับไฟล์ที่คุณอาจไม่ทราบในระบบ
2. การติดไวรัส: ซอฟต์แวร์ที่เป็นอันตรายหรือการติดไวรัสอาจเป็นอีกสาเหตุหนึ่งของความเสียหายของไดรฟ์ มักเกิดจากการเข้าถึงเว็บไซต์ที่ถูกบุกรุกจากจุดที่องค์ประกอบเหล่านี้เข้าสู่ระบบ อาจเป็นเพราะการเข้าถึงการเชื่อมต่ออินเทอร์เน็ตที่ไม่รู้จัก
3. เซกเตอร์เสียปรากฏบนฮาร์ดไดรฟ์: การบล็อกที่ไม่ดีบนฮาร์ดไดรฟ์อาจทำให้ไดรฟ์เสียหายได้ มักเกิดขึ้นเมื่อสถานการณ์แย่ลงไปอีก
เพื่อประโยชน์ของคุณ Live CD ของ Linux Distros ใดๆ ก็ตามสามารถตรวจจับความเสียหายของไดรฟ์ได้อย่างง่ายดาย และอนุญาตให้ผู้ใช้งานกู้คืนข้อมูลที่จำเป็นมากในรูปแบบเดิม
ฟังก์ชัน Fsck ไม่ได้ใช้งานเพียงเพื่อ ตรวจสอบฮาร์ดไดรฟ์ ในระบบ Linux นอกจากนี้ ยังสามารถทำหน้าที่ต่างๆ มากมายที่จะตรวจสอบด้านล่าง ปฏิบัติตามคำสั่งง่ายๆ ที่รวดเร็วเหล่านี้ แล้วคุณจะสามารถใช้งานฟังก์ชันต่างๆ ได้
ฮาร์ดไดรฟ์ Linux รุ่นใหม่มาพร้อมกับฟังก์ชัน S.M.A.R.T มันเป็นเครื่องมือที่มีประโยชน์ซึ่งช่วยให้ระบบปฏิบัติการ (Linux และ Windows) สามารถตรวจสอบสุขภาพ และฟังก์ชันการทำงานโดยรวมได้ วิธีที่รวดเร็วในการตรวจสอบว่า ฮาร์ดไดรฟ์ของคุณมีฟีเจอร์ SMART หรือไม่คือ การดึงข้อมูลจากคอมพิวเตอร์ส่วนบุคคลของคุณ และตรวจสอบข้อมูลที่ระบุบนฉลาก คุณยังอาจทำเครื่องหมายในช่องที่บรรจุมาด้วย
ในกรณีของ Linux มีหลายวิธีในการยืนยันสถานะ S.M.A.R.T ของฮาร์ดไดรฟ์ของคุณ แต่สิ่งที่เร็วที่สุดน่าจะเป็น smartctl ก่อนที่จะดูวิธีการใช้งานเครื่องมือนี้ ให้เราตรวจสอบก่อนว่า สภาพของฮาร์ดไดรฟ์ได้รับการตรวจสอบด้วย smartctl อย่างไร
สำหรับการติดตั้ง Smartmontools คุณจะต้องเปิดเทอร์มินัลแล้วทำตามคำแนะนำที่แสดงบนระบบปฏิบัติการ Linux ของคุณ (มีมากมาย)
''Sudo apt install smartmontools’’
''Sudo apt-get install smartmontools''
''sudo pacman -S smartmontools''
''sudo dnf install smartmontools''
''sudo zypper install smartmontools’’
ดังที่เราเห็น ระบบการแจกจ่าย Linux ที่แตกต่างกันทั้งหมดจะแสดงคำสั่งที่แตกต่างกัน นี่คือเหตุผลที่พวกเขากล่าวถึงเพื่อความคุ้นเคยของคุณ
คำสั่ง 'dd' ใน Linux ใช้งานเพื่อตรวจสอบประสิทธิภาพการอ่าน และการเขียนของดิสก์บนแพลตฟอร์ม Linux ให้เราดูว่า คำสั่ง 'dd' ถูกใช้งานเพื่อตรวจสอบประสิทธิภาพ I / O อย่างไร
ขั้นตอนที่ 1: ขั้นแรก ให้เปิดตัวพร้อมรับเชลล์ คุณยังสามารถเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลได้หากจำเป็น
ขั้นตอนที่ 2: เพื่อวัดปริมาณงานของเซิร์ฟเวอร์ (ความเร็วในการเขียน) dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
ขั้นตอนที่ 3: คำสั่ง dd ยังใช้งานเพื่อตรวจสอบเวลาแฝงของเซิร์ฟเวอร์ dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
คำสั่งนี้จะค้นหาประสิทธิภาพ I / O อย่างง่าย
'fsck' ค่อนข้างมีประโยชน์ใน ระบบ Linux เนื่องจากใช้งานสำหรับตรวจสอบข้อผิดพลาดในระบบไฟล์ มันทำหน้าที่คล้ายกับ 'chkdsk' ในระบบปฏิบัติการ Windows
สำหรับการตรวจสอบข้อผิดพลาดของระบบไฟล์ Linux คำสั่ง fsck มีประโยชน์มากกว่าปกติ หากต้องการตรวจสอบข้อผิดพลาด และซ่อมแซมพร้อมกัน ให้ใช้งานตัวเลือก 'a' นอกจากนั้น ตัวเลือก 'y' สามารถใช้งานแทน 'a' ได้
$ fsck -a /dev/sdb1
สำหรับการดำเนินการตรวจสอบข้อผิดพลาดบนพาร์ติชันเพียงพาร์ติชันเดียว คุณสามารถเรียกใช้งานคำสั่งจากเทอร์มินัลของคุณได้:
$ umount /dev/sdb1
$ fsck /dev/sdb1
ในระบบปฏิบัติการ Linux มีคำสั่งที่มีประสิทธิภาพที่เรียกว่า 'fsck' มันถูกใช้งานเพื่อซ่อมแซมระบบไฟล์ Fsck เป็นตัวย่อของ 'การตรวจสอบความสอดคล้องของระบบไฟล์' มันใช้งานง่ายมาก สิ่งที่คุณต้องทำคือ เปิดเทอร์มินัลแล้วเขียนว่า:
Fsck/dev/sdal
คำสั่งนี้จะตรวจสอบพาร์ติชัน sda1 เท่านั้น อย่างไรก็ตาม คำสั่ง fsck นี้ไม่สามารถใช้งานได้บนพาร์ติชันที่เมาท์ หากคุณทำสิ่งนั้น มีความเป็นไปได้สูงที่สามารถสร้างความเสียหายให้กับระบบได้ หากต้องการตรวจสอบโฮมโฟลเดอร์ที่มีอยู่ในพาร์ติชันอื่น (เช่น sda2) คุณควรใช้งานคำสั่งต่อไปนี้:
Umount/home
Fsck/dev/sda2
บันทึก: สำหรับการรันคำสั่ง 'fsck' คุณจะต้องได้รับอนุญาตจาก root/superuser
คำสั่ง 'fsck' ยังสามารถใช้งานเพื่อตรวจสอบไดรฟ์ภายนอกของคุณ เช่น การ์ด SD หรือธัมบ์ไดรฟ์
เช่น:
umount/dev/sdb1 #thumb drive
sudo fsck/dev/sdb1
เมื่อคุณไม่แน่ใจว่า ต้องสแกนหมายเลขพาร์ติชันใด ให้ใช้งานคำสั่งนี้:
sudo fdisk -1
มันจะแสดงรายการพาร์ติชันที่มีอยู่ทั้งหมด
หากตรวจพบข้อผิดพลาดระหว่างการตรวจสอบระบบไฟล์ ให้ใช้งาน คำสั่ง 'fsck' เพื่อซ่อมแซมระบบไฟล์โดยอัตโนมัติด้วยแฟล็ก –a ตัวอย่างเช่น ให้เราดูตัวอย่างด้านล่างนี้:
fsck –a/dev/sdal
คุณสามารถใช้งานแฟล็ก –y เพื่อทำหน้าที่ที่คล้ายกันได้เช่นกัน:
Fsck –y/dev/sdal1
ในบางครั้ง คุณอาจพบข้อผิดพลาดในระบบไฟล์มากกว่า 1 ข้อผิดพลาด ในกรณีเช่นนี้ คุณสามารถใช้งาน 'fsck' เพื่อแก้ไขข้อผิดพลาดเหล่านี้โดยอัตโนมัติ พิมพ์สิ่งนี้:
#fsck –y/dev/sdb
แฟล็ก –y นี้จะ 'ใช่' โดยอัตโนมัติตามคำแนะนำใดๆ ที่ได้รับจาก fsck เพื่อแก้ไขข้อผิดพลาด
นอกจากนี้ คุณยังสามารถใช้งานได้กับระบบไฟล์ทั้งหมดโดยไม่ต้องรูท:
$ fsck –AR –y
ในเวลาอื่น คุณอาจต้องรัน fsck บนพาร์ติชันรูทของระบบ Linux ของคุณ เนื่องจากไม่สามารถรัน fsck ได้เมื่อติดตั้งพาร์ติชัน คุณสามารถลองใช้งานตัวเลือกนี้:
ลองดูทั้ง 2 สถานการณ์:
นี่เป็นกระบวนการที่ง่ายต่อการดำเนินการ และสิ่งที่คุณต้องทำคือ สร้างไฟล์ชื่อ 'forcefsck' ภายในพาร์ติชันรูทของระบบ ใช้งานคำสั่งนี้:
#touch /forcefsck
คุณสามารถกำหนดเวลาการรีบูตระบบได้ ในการรีสตาร์ทครั้งต่อไป คำสั่ง fsck จะทำหน้าที่ของมัน คุณต้องระมัดระวังเป็นพิเศษในการใช้งานคำสั่งนี้ หากมี inode จำนวนมาก คำสั่งนี้จะใช้เวลา
หลังจากที่ระบบรีสตาร์ทแล้ว ให้ตรวจสอบว่า มีไฟล์อยู่หรือไม่:
# 1s /forcefsck
หากมีไฟล์อยู่ คุณอาจต้องลบไฟล์นี้ออก เนื่องจากคำสั่ง fsck จะถูกดำเนินการในแต่ละครั้ง
มีขั้นตอนเพิ่มเติมเล็กน้อยในกรณีของการใช้งาน fsck ในโหมดช่วยเหลือ เตรียมระบบของคุณสำหรับการรีบูต และหยุดฟังก์ชันสำคัญ เช่น MySQL/MariaDB แล้วพิมพ์:
#reboot
เมื่อการบูตใกล้จะปรากฏขึ้น ให้กดปุ่ม Shift เพื่อให้เมนูด้วงปรากฏขึ้นบนหน้าจอ ไปที่ตัวเลือกขั้นสูง:
ตอนนี้ ไปที่โหมดการกู้คืน
ตอนนี้ เลือก fsck
ตอนนี้ คุณจะได้รับตัวเลือกหากคุณต้องการติดตั้งระบบไฟล์ใหม่ เลือกใช่
สิ่งนี้ปรากฏขึ้น:
หลังจากนี้ ให้เลือกการบูตปกติ และเลือก 'ดำเนินการต่อ'
สำหรับพวกเราส่วนใหญ่ การสูญเสียข้อมูลเป็นสาเหตุของความกังวลอย่างยิ่ง โชคดีที่ Wondershare Recoverit การกู้คืนข้อมูล สามารถช่วยคุณกู้คืนรูปแบบ และประเภทไฟล์ได้มากกว่า 1,000 ชนิด ด้วย Recoverit คุณสามารถเรียกคืนข้อมูลที่สูญหายหรือถูกลบได้ใน 3 ขั้นตอน ให้เราดูว่า เราจะดำเนินกระบวนการนี้อย่างไร:
สำหรับการกู้คืนข้อมูลจากคอมพิวเตอร์ของคุณ ให้เลือกตำแหน่งที่ข้อมูลสูญหาย ตอนนี้ เลือกฮาร์ดดิสก์ที่ต้องการซึ่งแสดงในแท็บฮาร์ดดิสก์ไดรฟ์ คุณยังสามารถเลือกแท็บสถานที่สำหรับเรื่องนั้นได้ เมื่อคลิกเริ่มระบบจะเริ่มสแกนระบบ
ซอฟต์แวร์ Recoverit จะเริ่มการสแกนโดยรวมของระบบ โดยปกติ จะใช้เวลาไม่กี่นาทีจึงจะเสร็จสิ้น ในบางครั้ง อาจใช้เวลา 2 - 3 ชั่วโมงขึ้นอยู่กับขนาดของไฟล์ที่จัดเก็บไว้ในระบบของคุณ
ในขณะที่กระบวนการสแกนดำเนินต่อไป คุณอาจระบุไฟล์ และหยุดระบบการสแกนได้
ซอฟต์แวร์นี้อนุญาตให้ผู้ใช้งานดูตัวอย่างไฟล์ที่กู้คืนได้ก่อนที่จะคลิกที่ขั้นตอนการกู้คืน เลือกไฟล์ที่ต้องการแล้วคลิกแท็บ 'กู้คืน' เพื่อเรียกค้นไฟล์ของคุณทันที
ในคู่มือนี้ เราได้ตรวจสอบวิธีตรวจสอบดิสก์ใน Linux เพื่อหาความเสียหายของไดรฟ์ที่มีอยู่ โดยตรวจสอบความเร็วพร้อมกับฟังก์ชันการซ่อมแซม ความมีชีวิตของคำสั่ง fsck ไม่สามารถปฏิเสธได้ นอกจากนี้ เรายังตรวจสอบการใช้งาน fsck และวิธีการทำงานภายใน ระบบ Linux เมื่อคำสั่ง Linux ไม่มีประโยชน์ ให้ใช้งาน Recoverit เพื่อช่วยดึงข้อมูลกลับคืน มั่นใจได้ว่า ข้อมูลของคุณจะอยู่ไม่ไกลเกินเอื้อม
เนื่องจาก fsck ไม่สามารถตรวจสอบระบบไฟล์รูทบนคอมพิวเตอร์ในขณะที่ระบบปฏิบัติการกำลังทำงานอยู่ คุณจึงสามารถรัน fsck ในการบูตหรือบูตระบบในโหมดการกู้คืนได้ ตัวเลือกที่ใช้งานได้จริง และรวดเร็วทั้ง 2 ตัวเลือกนี้จะช่วยให้คุณได้รับ fsck เพื่อทำงานบนระบบไฟล์รูทบน Linux
โดยทั่วไปไม่ เนื่องจากแม้ว่า fsck จะสามารถลบไฟล์ได้ แต่เป็นไฟล์ที่ถูกลบไปแล้ว แต่ยังคงอยู่ในระบบไฟล์ มีหลายกรณีที่ระบุว่า fsck ลบไฟล์ แต่สาเหตุอาจเกิดจากข้อผิดพลาดในระบบไฟล์หรือไฟล์เสียหายที่ขัดขวางการทำงานของโปรแกรมนี้
คุณสามารถกู้คืน superblock นั้นได้ ก่อนอื่นเลย มาเป็น superuser จากนั้น คุณจะต้องเปลี่ยนเป็นไดเร็กทอรีที่อยู่นอกระบบไฟล์ที่เสียหาย ตอนนี้ ให้ยกเลิกการต่อเชื่อมระบบไฟล์ เมื่อคุณทำเช่นนั้นแล้ว คุณต้องแสดงค่า superblock ผ่านคำสั่ง “newfs -N” และสุดท้ายคุณต้องตั้งค่า superblock ใหม่ผ่านคำสั่ง “fsck”
ใช่ คุณทำได้ แต่อาจทำให้เกิดปัญหาร้ายแรงหลายประการบนดิสก์ของคุณได้ เนื่องจาก fsck ไม่ได้เป็นส่วนหนึ่งของระบบไฟล์ มีข้อยกเว้นบางประการเป็นพิเศษ แต่เป็นกระบวนการที่ไม่ควรดำเนินการเกือบทั้งหมดบนระบบไฟล์ที่เมาท์ ดังนั้น จึงขอแนะนำให้ละทิ้งแนวคิดนี้ เว้นแต่คุณจะเป็นมืออาชีพ
มีหลายวิธีที่จะทำ วิธีหนึ่งที่พบบ่อยที่สุดคือ การใช้งานคำสั่ง "findmnt" สิ่งที่คุณต้องทำคือ เปิดคำสั่งเทอร์มินัลแล้วพิมพ์ "findmnt" ระบบไฟล์ที่ติดตั้งทั้งหมดจะแสดงโดยอัตโนมัติพร้อมกับข้อมูลเพิ่มเติม เช่น เป้าหมาย แหล่งที่มา ประเภท และตัวเลือก
Dea N.
staff Editor