วิธีใช้คำสั่ง fsck บน Linux

Aug 18, 2025
Linux
Pixza Studio / Shutterstock

ข้อมูลสำคัญทั้งหมดของเราตั้งอยู่ในระบบไฟล์ของประเภทหนึ่งหรืออื่น ๆ และปัญหาระบบไฟล์จะเกิดขึ้น บน Linux เราสามารถใช้ fsck คำสั่งเพื่อค้นหาและแก้ไขข้อผิดพลาดของระบบไฟล์

ระบบไฟล์เป็นซอฟต์แวร์

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

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

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

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

ทำการตรวจสอบ preflight

โดยใช้ fsck ต้องใช้ สิทธิพิเศษ Sudo . คำสั่งใด ๆ ที่สามารถเปลี่ยนแปลงระบบไฟล์จำเป็นต้องได้รับการปฏิบัติด้วยความระมัดระวังและ จำกัด เฉพาะผู้ที่รู้ว่าพวกเขากำลังทำอะไรอยู่

นักบินไม่กระโดดเข้าสู่เครื่องบินเริ่มต้นขึ้นและบินลงไปในนู้นสีฟ้าอ่อน พวกเขาทำการตรวจสอบ preflight มีการเดิมพันมากเกินไปที่จะทำอย่างอื่น นั่นเป็นนิสัยที่ดีในการพัฒนา ก่อนที่คุณจะใช้ fsck คุณต้องแน่ใจว่าคุณจะใช้มันในไดรฟ์ที่ถูกต้อง ดังนั้นก่อนทำอะไรก็ได้ด้วย fsck เรากำลังจะทำลาดตระเวนเล็กน้อย

เราจะเริ่มด้วย fdisk และท่อเข้าไป น้อย . เราไม่ได้ขอข้อมูลในพาร์ติชันที่เฉพาะเจาะจง โดยใช้ -l ตัวเลือก (รายการ) fdisk แสดงรายการตารางพาร์ติชันในอุปกรณ์ทั้งหมดที่พบในไฟล์ "/ proc / partitions" หากมีอยู่

 sudo fdisk -l | น้อยกว่า 

เราสามารถดูรายการสำหรับ / dev / sda และ / dev / sdb . คุณสามารถเลื่อนดูไฟล์เพื่อดูรายการอื่น ๆ ที่อาจมีอยู่ในคอมพิวเตอร์ของคุณ

พาร์ติชันบน / dev / sda มีการระบุว่าเป็น / dev / sda1 , / dev / sda2 , และ / dev / sda3 . ดังนั้นเราจึงมีสามพาร์ติชันในไดรฟ์แรก เราสามารถดูข้อมูลเพิ่มเติมได้เล็กน้อยโดยใช้ แบ่งออก สั่งการ. เราจะใช้ 'พิมพ์' ตัวเลือกในการแสดงตารางพาร์ติชันในหน้าต่างเทอร์มินัล

 sudo แยกส่วน / dev / sda 'พิมพ์' 

เราได้รับข้อมูลเพิ่มเติมในครั้งนี้รวมถึงประเภทของระบบไฟล์ในแต่ละพาร์ติชัน

 รุ่น: ATA VBox Harddisk (SCSI)
ดิสก์ / DEV / SDA: 34.4GB
ขนาดภาค (ตรรกะ / กายภาพ): 512B / 512B
ตารางพาร์ทิชัน: GPT
ธงดิสก์:

หมายเลขเริ่มต้นชื่อระบบไฟล์ขนาด
1 1049KB 2097KB 1049KB BIOS_GRUB
2 2097KB 540MB 538MB FAT32 ระบบ EFI ระบบบูต, ESP
3 540MB 34.4GB 33.8GB ext4 

คอมพิวเตอร์ทดสอบนี้มีไดรฟ์สามตัว นี่คือผลลัพธ์สำหรับอีกสองไดรฟ์ / dev / sdb และ / dev / sdc . โปรดทราบว่าระบบไฟล์เหล่านี้ไม่มีฟิลด์ "ชื่อ"

 sudo แยกจากกัน / dev / sdb 'พิมพ์' 
 รุ่น: ATA VBox Harddisk (SCSI)
ดิสก์ / DEV / SDB: 21.5GB
ขนาดภาค (ตรรกะ / กายภาพ): 512B / 512B
ตารางพาร์ทิชัน: MSDOS
ธงดิสก์:

หมายเลขเริ่มต้นประเภทชื่อไฟล์ประเภทไฟล์
1 1049KB 21.5GB 21.5GB ext4 
 sudo แยกส่วน / dev / sdc 'พิมพ์' 
 รุ่น: ATA VBox Harddisk (SCSI)
ดิสก์ / DEV / SDC: 21.5GB
ขนาดภาค (ตรรกะ / กายภาพ): 512B / 512B
ตารางพาร์ทิชัน: MSDOS
ธงดิสก์:

หมายเลขเริ่มต้นประเภทชื่อไฟล์ประเภทไฟล์
1 1049KB 21.5GB 21.5GB ext3 

ไดรฟ์ที่สองและสามเกิดขึ้นที่มีขนาดเท่ากันและแต่ละคนมีพาร์ติชันเดียว แต่ระบบไฟล์บนไดรฟ์ที่สองคือ ext4 และระบบไฟล์บนไดรฟ์ที่สามคือรุ่นเก่า ext3 .

เราผ่านตัวระบุพาร์ติชันให้ fsck และตรวจสอบระบบไฟล์บนพาร์ติชันนั้น แต่เราไม่สามารถวิ่งได้ fsck บนระบบไฟล์ที่เมาท์ เราจำเป็นต้องถอนการติดตั้งไดรฟ์ ในการทำเช่นนั้นเราจำเป็นต้องรู้จุดเชื่อมต่อที่พาร์ทิชัน - ดังนั้นระบบไฟล์จึงติดตั้งอยู่

เราสามารถค้นหาได้อย่างง่ายดายโดยใช้ df สั่งการ.

 DF / DEV / SDB1 
 DF / DEV / SDC1 

การใช้คำสั่ง fsck

เรามีข้อมูลทั้งหมดที่เราต้องการ สิ่งแรกที่เราจะทำคือ unmount ระบบไฟล์ที่เรากำลังจะตรวจสอบ เราจะทำงานกับระบบไฟล์ในพาร์ติชันแรกและเฉพาะของ / dev / sdb , ซึ่งเป็น / dev / sdb1 . เราเห็นก่อนหน้านี้ว่านี่เป็น ext4 ระบบไฟล์และติดตั้งที่ "/ Run / Mount / Dave / Sata2"

เราจะใช้ umount สั่งการ. หมายเหตุไม่มี "n" ใน "Umount"

 Sudo Umount / Run / Mount / Dave / Sata2 

กับ umount ไม่มีข่าวเป็นข่าวดี หากคุณกลับมาอย่างเงียบ ๆ กับพรอมต์คำสั่งเราดีที่จะไป

 Sudo FSCK / DEV / SDB1 

ระบบไฟล์นี้มีการรายงานว่าสะอาด นั่นหมายความว่าระบบไฟล์กำลังรายงานว่าไม่มีข้อผิดพลาดหรือปัญหา การตรวจสอบระบบไฟล์ที่ลึกกว่าจะไม่ดำเนินการโดยอัตโนมัติ นอกจากนี้เรายังสามารถดูรหัสส่งคืนที่ fsck กลับไปที่เปลือก

 echo $? 

ค่าส่งคืนของศูนย์บ่งชี้ว่าไม่มีข้อผิดพลาด รหัสส่งคืนที่เป็นไปได้คือ:

  • 0 : ไม่มีข้อผิดพลาด
  • 1 : แก้ไขข้อผิดพลาดของระบบไฟล์
  • 2 : ระบบควรรีบูต
  • 4 : ข้อผิดพลาดของระบบไฟล์ที่ไม่ได้แก้ไขที่ไม่ได้แก้ไข
  • 8 : ข้อผิดพลาดในการดำเนินงาน
  • 16 : การใช้งานหรือข้อผิดพลาดทางไวยากรณ์
  • 32 : การตรวจสอบยกเลิกโดยคำขอของผู้ใช้
  • 128 : ข้อผิดพลาดแชร์ - ไลบรารี

แม้จะมีการรายงานระบบไฟล์ว่าสะอาด แต่เราสามารถบังคับให้ตรวจสอบระบบไฟล์เกิดขึ้นได้โดยใช้ -NS ตัวเลือก (แรง)

 Sudo FSCK / DEV / SDB1 -F 

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

เมื่อคุณทำการทดสอบเสร็จแล้วคุณต้องส่งไฟล์ไฟล์ใหม่ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้ ติด กับ -NS ตัวเลือก (ทั้งหมด) การตรวจสอบนี้ "/ etc / fstab" สำหรับรายการระบบไฟล์และตรวจสอบให้แน่ใจว่าติดตั้งทั้งหมดตามที่พวกเขากำลังติดตามการบูตปกติ

 Sudo Mount -a 

โปรดทราบว่าเราไม่จำเป็นต้องบอก fsck สิ่งที่ประเภทของระบบไฟล์ในพาร์ทิชัน; ยูทิลิตี้ระบุว่าจากการตรวจสอบระบบไฟล์ นั่นหมายความว่าเราสามารถบังคับให้มีการตรวจสอบระบบแฟ้มบน / dev / sdc1 , NS ext3 ระบบไฟล์ในเครื่องคอมพิวเตอร์ของการทดสอบของเราใช้ว่าคำสั่งเดียวกันกับที่เราใช้ในการ / dev / sdb1 ซึ่งเป็น ext4 กั้น

 sudo fsck / dev / sdc1 -f 

คุณอาจไม่ต้องการที่จะดำน้ำตรงเข้าไปแก้ไขระบบแฟ้ม คุณอาจจะชอบที่จะมองก่อนที่คุณจะกระโดด คุณสามารถถาม fsck ไม่ให้เสนอที่จะแก้ไขอะไรและเพียงแค่รายงานประเด็นที่หน้าต่าง terminal NS -NS (แห้ง) ตัวเลือกที่ไม่เพียงแค่นั้น:

 sudo fsck -N / dev / sdb1 

ตรงข้ามที่จะบอก fsck จะไม่รำคาญกระตุ้นหากพบข้อผิดพลาดใด ๆ และเพียงแค่ไปข้างหน้าและแก้ไขปัญหาเหล่านั้น การทำเช่นนี้ใช้ - ใช่ (ไม่มีการแจ้ง) ตัวเลือก

 sudo fsck -y / dev / sdb1 

ใช้ fsck ในพาร์ทิชันราก

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

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

เลื่อนแถบไฮไลท์ที่มี“ลูกศรขึ้น” และ“ลูกศรลงคีย์” เพื่อให้“ตัวเลือกขั้นสูงสำหรับอูบุนตูรายการเมนู” ถูกเลือก ตี“Enter” เพื่อย้ายไปยังหน้าจอถัดไป

เลือกตัวเลือกที่ลงท้ายด้วย“(โหมดการกู้คืน).” ในตัวอย่างของเรามันคือ“อูบุนตูกับ Linux 5.11.0-20 ทั่วไป (โหมดการกู้คืน).” กดปุ่ม“Enter”

คุณจะเห็นเมนูการกู้คืน เลือก“fsck ตรวจสอบระบบไฟล์ทั้งหมด” และกด“แท็บ” ที่สำคัญไฮไลท์ที่จะย้ายไปยังปุ่ม“OK” กดปุ่มตกลง."

คุณจะเห็นการแจ้งเตือนว่าพาร์ทิชันรากจะได้รับการติดตั้งพร้อมกับพาร์ทิชันอื่น ๆ ที่กำหนดไว้ในของคุณ “etc / fstab /” แฟ้ม .

กดปุ่ม“แท็บ” กุญแจสำคัญที่จะย้ายเน้นไปที่ปุ่ม“ใช่” และกด“Enter.”

คุณจะเห็น fsck ทำงานในโหมดโต้ตอบ หากมีปัญหาคุณจะได้รับแจ้งให้ให้ fsck แก้ไขปัญหาได้หรือไม่สนใจพวกเขา เมื่อระบบไฟล์ที่ได้รับการตรวจสอบคุณจะเห็นเมนูกู้คืนอีกครั้ง

เลือก“เรซูเม่” และกด“แท็บ” ที่สำคัญไฮไลท์ที่จะย้ายไปยังปุ่ม“OK” และกด“Enter.” ขั้นตอนการบู๊ตจะกลับมาทำงานและคุณจะบูตเข้าลินุกซ์

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

เมื่อผิดสิ่งที่ไป

ตาข่ายความปลอดภัยจะมีเหตุผล ได้รับรู้ fsck สั่งการ. หากจำเป็นต้องเกิดขึ้นที่จะใช้ในความโกรธวันหนึ่งคุณจะดีใจที่คุณคุ้นเคยล่วงหน้า


Linux - บทความยอดนิยม

วิธีจัดการเซิร์ฟเวอร์ Linux กับ Cockpit Web Interface

Linux Dec 9, 2024

Fatmawati Achmad Zaenuri / Shutterstock คุณสามารถตรวจสอบและจัดการเครื่องคอมพิวเ�..


วิธีการใช้“นี่คือเอกสาร” ในการทุบตีบนลินุกซ์

Linux Mar 31, 2025

Fatmawati Achmad Zaenuri / Shutterstock ชื่อแปลก“ที่นี่เอกสาร” ให้คุณใช้อินพุต / อ�..


วิธีการปรับปรุง Arch ลินุกซ์

Linux Jul 30, 2025

โครงการ Ubuntu มีเวลาที่จะอัปเดตระบบ Arch Linux ของคุณหรือไม่ ไม่ว�..


มีอะไรใหม่ในระดับประถมศึกษา 6 "Odin"

Linux Aug 14, 2025

Elementary, Inc. มี การกระจายลินุกซ์จำนวนมาก (Distros) ที่ผู้คนอ้างว่าเ�..


เล่นเกมพื้นเมืองบน Linux อาจจะตายและไม่เป็นไร

Linux Sep 27, 2025

DC Studio / Shutterstock.com NS ดาดฟ้าอบไอน้ำ ประกาศในเดือนสิงหาคม 2021 มีล�..


Linux อายุ 30: โครงการงานอดิเรกเอาชนะโลกได้อย่างไร

Linux Sep 17, 2025

Larry Ewing และ Gimp บน 17 กันยายน 2534 Linus Torvalds เปิดตัวเคอร์เนล Linux (เวอร์�..


มีอะไรใหม่ใน Linux Kernel 5.14

Linux Sep 9, 2025

การถ่ายภาพ Sean Locke / Shutterstock เช่นเดียวกับ Linux อายุ 30 ปีเคอร์เนล 5.14 ได�..


วิธีแสดงรายการบริการ Linux ด้วย SystemCTL

Linux Oct 18, 2025

คอมพิวเตอร์ Linux ของคุณอาศัยงานพื้นหลังจำนวนมากที่เรียกว่าบริการหรือ..


หมวดหมู่