ฉันติดตั้ง Linux Mint 12 KDE แล้วและฉันต้องการตรวจสอบพาร์ติชันรากสำหรับข้อผิดพลาดใด ๆ
ฉันจะตรวจสอบพาร์ติชันรูทด้วย fsck ณ เวลาบูตได้อย่างไร
ฉันติดตั้ง Linux Mint 12 KDE แล้วและฉันต้องการตรวจสอบพาร์ติชันรากสำหรับข้อผิดพลาดใด ๆ
ฉันจะตรวจสอบพาร์ติชันรูทด้วย fsck ณ เวลาบูตได้อย่างไร
คำตอบ:
sudo touch /forcefsck
จากนั้นรีบูท
คุณสามารถใช้คำสั่งปิดระบบได้เช่นกัน
shutdown -rF now
จากมนุษย์:
ธง -F หมายถึง 'force fsck'
สิ่งนี้จะสร้างไฟล์คำแนะนำ / forcefsck ซึ่งสามารถทดสอบได้โดยระบบเมื่อมันเกิดขึ้นอีกครั้ง ไฟล์ boot rc สามารถทดสอบว่าไฟล์นี้มีอยู่หรือไม่และตัดสินใจรัน fsck (1) ด้วยการตั้งค่าสถานะ `force 'พิเศษเพื่อให้ได้รับการตรวจสอบระบบไฟล์ที่ยังไม่ได้ถอดประกอบ หลังจากนั้นกระบวนการบูตควรลบ / forcefsck
shutdown
มาพร้อมกับ Upstart ไม่รองรับ-F
ตัวเลือกอีกต่อไป คุณควรใช้sudo touch /forcefsck
แทน ดูตัวอย่างว่าทำไม -F ถูกลบออกจาก / sbin / shutdown และbug # 74139: ปิด -F (แรง fsck) ตัวเลือกที่ขาดหายไป
นี่เป็นอีกวิธีในการทำสิ่งนี้:
tune2fs -C 2 -c 1 /dev/THEDEVTHATROOTIS
รีบูต
จากนั้นระบบไฟล์จะถูกตรวจสอบและเมื่อทุกอย่างดีคุณควรทำ
tune2fs -c 60 /dev/THEDEVTHATROOTIS
ฉันสันนิษฐานว่า max-mount-count ถูกตั้งค่าเป็น 60 คุณควรทราบก่อนออกคำสั่งแรกด้วย
dumpe2fs /dev/THEDEVTHATROOTIS |grep "Maximum mount count"
ในระบบของฉัน (โน๊ตบุ๊ค x86 จำนวนมากและ Banana Pi Pro) การพูดsudo shutdown now
นำฉันไปสู่ runlevel 1 (โหมดการบำรุงรักษา aka) ซึ่งฉันสามารถตรวจสอบรูต FS ของฉันได้อย่างปลอดภัย:
mount -o remount,ro /dev/rootpartition
fsck /dev/rootpartition
reboot
ไม่จำเป็นต้องเปลี่ยนแปลง/etc/fstab
ในการทำเช่นนี้และฉันมีโอกาสที่จะทำงานfsck
กับตัวเลือกอะไรก็ได้ที่อาจจำเป็นในการแก้ไขกรณีที่ยุ่งยาก
หมายเหตุ: /forcefsck
และtune2fs
เทคนิคใช้งานได้กับ x86 แต่ไม่ใช่ใน Banana Pi
tune2fs
etc ทำงานบนแพลตฟอร์มใด ๆ เนื่องจากสนับสนุน initramfs (อาจฝัง) ดังนั้นมันขึ้นอยู่กับการกระจาย Linux
หากคุณอยู่ใน Raspberry pi และคุณพบว่าตัวเองอยู่ในโหมดฉุกเฉินคุณสามารถยกเลิกการต่อเชื่อมพาร์ติชันรูทและใช้ fsck ได้
(login as root)
mount -o remount,ro /
fsck
reboot
บนระบบ linux ที่ทันสมัยคำตอบข้างต้น (ด้วย forcefsck) ไม่ทำงาน คุณต้องทำด้วยตนเอง:
ทำให้พาร์ติชันรูทของคุณเข้าสู่โหมดอ่านอย่างเดียวโดยการแก้ไขบรรทัดของพาร์ติชันที่ผิดพลาด/etc/fstab
(แต่จำการตั้งค่าเดิมของคุณ):
UUID=fd1d0fad-3a4c-457f-9b5e-eed021cce3d1 / ext4 remount,ro 1 1
Reboot
เปลี่ยนเป็น runlevel 1 เพียงเพื่อลดจำนวนกระบวนการที่รบกวน:
init 1
แก้ไขระบบไฟล์ของคุณ (แทนที่ / dev / sda2 ด้วยอุปกรณ์ของพาร์ติชันของคุณ) ซึ่งตอนนี้ควรจะทำงานได้เนื่องจากพาร์ติชันรูทเป็นแบบอ่านอย่างเดียว:
fsck /dev/sda2
Reboot (ในระบบ Fedora 21 ของฉันฉันต้องเปลี่ยนเป็น runlevel 1 ระหว่างการบู๊ตด้วย Grub2เพราะไม่เช่นนั้นระบบจะติดเนื่องจากไม่สามารถเขียนบนพาร์ติชันรูทได้)
ทำให้ระบบไฟล์รูทของคุณสามารถอ่าน / เขียนได้:
mount -o remount,rw /dev/sda2
กู้คืน / etc / fstab ของคุณกลับสู่สถานะดั้งเดิม
Reboot
sudo touch /forcefsck
sudo reboot