จะใช้ fsck ใน Ubuntu ได้อย่างไร


16

ฉันตั้งใจจะใช้ fsck เพื่อตรวจสอบพาร์ติชั่น Linuxของดิสก์หลัก, เพราะระบบไฟล์ของมันน่าสงสัย

ไม่ได้ถอนติดตั้งหมดจด
โดยการปิดระบบ ฉันค้นหาตัวแปรสภาพแวดล้อมของฉัน: ไม่มีสิ่งใดยกเว้นเส้นทางที่ควรควบคุมโปรแกรม fsck แต่จะต้องใช้โปรแกรมในระหว่างการบู๊ต:
: ~ $ fsck -V
fsck จาก util-linux 2.20.1
ตรวจสอบระบบไฟล์ทั้งหมด
[/sbin/fsck.ext4 (1) - /] fsck.ext4 / dev / sda6 
e2fsck 1.42 (29 พ.ย. 2554)
/ dev / sda6 ติดตั้งอยู่ 
คำเตือน!!! ระบบไฟล์ถูกเมาท์ หากคุณดำเนินการต่อคุณจะ ทำให้เกิดความเสียหายอย่างร้ายแรงกับระบบไฟล์ คุณต้องการทำต่อไปหรือไม่? ไม่ ตรวจสอบถูกยกเลิก
(ไม่มีไฟล์ / forcefsck ในรูทของฉันตามฉันจะทราบได้อย่างไรว่าจะมี fsck ระหว่างการบูทครั้งถัดไปหรือไม่ไฟล์ etc / fstab ของฉันมี

 
# / etc / fstab: ข้อมูลระบบไฟล์สแตติก
#
# ใช้ 'blkid' เพื่อพิมพ์ตัวระบุที่เป็นสากลสำหรับ
อุปกรณ์ #; สิ่งนี้อาจใช้กับ UUID = เป็นวิธีที่แข็งแกร่งกว่าในการตั้งชื่ออุปกรณ์
# ที่ทำงานแม้ว่าจะมีการเพิ่มและลบดิสก์ ดู fstab (5)
#
#                
proc / proc proc nodev, noexec, nosuid 0 0
# / เป็น on / dev / sda6 ระหว่างการติดตั้ง
UUID = 1ac55d8d-c112-4bc7-9e79-921d196f9f79 / ext4 ข้อผิดพลาด = remount-ro 0 1
# swap เปิด / dev / sda7 ระหว่างการติดตั้ง
UUID = 54f7e314-50e2-419b-a45d-47c3058ecc00 ไม่มีการแลกเปลี่ยน sw 0 0
/ dev / fd0 / สื่อ / floppy0 auto rw, ผู้ใช้, noauto, exec, utf8 0 0

)
ตามคำตอบของSlow reboot - การทำความเข้าใจ fsck และ tune2fsฉันได้ลองใช้ tune2fs โดยหวังว่าฉันจะได้รับมูลค่าปัจจุบันของ

max_mounts_count
พารามิเตอร์เพื่อให้สามารถตั้งค่าให้ 1 สำหรับการตรวจสอบพาร์ทิชันในระหว่างการบูตถัดไป แต่หลังจากนั้น
sudo rm / var / lib / update-notifier / fsck-at-reboot
และการรีสตาร์ทฉันได้รับการตอบกลับเท่านั้น
: ~ $ tune2fs -l / dev / sda6
tune2fs 1.42 (29 พ.ย. 2554)
tune2fs: การอนุญาตถูกปฏิเสธขณะพยายามเปิด / dev / sda6
ไม่พบซุปเปอร์บล็อกระบบไฟล์ที่ถูกต้อง
. ฉันสามารถใช้
sudo tune2fs -l / dev / sda6
ปลอดภัย? ขอบคุณ


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

คำตอบ:


7

ในการรันfsckบนฮาร์ดไดรฟ์ของคุณคุณจะต้องบูต liveCD จากนั้นจึงรันคำสั่งด้วยพาร์ทิชัน harddrive ของคุณเป็นเป้าหมาย

"ไม่มีไฟล์ / forcefsck ในรากของฉัน"

- คุณต้องสร้างไฟล์มันเป็นเพียงไฟล์เปล่าดังนั้นsudo touch /forcefsckfsck จะตรวจสอบไดรฟ์ของคุณในครั้งต่อไปที่คุณทำการรีบูท


ฉันสามารถตั้งค่า (ใช้เมนูหลัก) ตัวเลือก fsck เป็น -V เพื่อรับข้อมูลทั้งหมดเกี่ยวกับการตรวจสอบได้หรือไม่
TomášPečený

IMO เป็นการดีที่สุดในการเรียกใช้คำสั่งการซ่อมแซมต่าง ๆ จากซีดีสด fsck ใช้งานได้ "ตกลง" ในโปรแกรมนำร่องอัตโนมัติเมื่อทำการบูท แต่ถ้าคุณมีปัญหาคุณจะต้องกู้คืนด้วยตนเอง หากปัญหารุนแรงพอที่ระบบของคุณอาจบูตไม่ได้ ฉันขอแนะนำให้คุณอ่าน man page และ / หรือข้อมูลเกี่ยวกับการกู้คืนข้อมูลเนื่องจากคำสั่งเหล่านั้นอาจทำให้ข้อมูลสูญหายได้หากไม่ได้ใช้อย่างระมัดระวัง
Panther

มันได้ผลขอบคุณฉันยอมรับคำตอบแล้ว แต่การรัน fsck ที่แนะนำโดย ghost 8 ไม่ได้ช่วยในการสร้างอิมเมจพาร์ติชัน ฉันกำลังถามคำถามใหม่เกี่ยวกับมัน
TomášPečený

ฉันเห็นคำถามใหม่ไม่จำเป็นต้องมีก็คือการแก้ไขอาจจะโดยmanpages.ubuntu.com/manpages/hardy/man8/dump.8.htmlและmanpages.ubuntu.com/manpages/hardy/man8/restore.8.html
TomášPečený

2

ฉันเห็นด้วยกับ @ bodhi.zazen ความคิดเห็นที่นี่ วิธีที่ดีที่สุดในการตรวจสอบระบบไฟล์คือการบู๊ตจากสื่อสดเลือก "ลอง Ubuntu" จากนั้นfsckเลือกพาร์ติชันที่เป็นปัญหาด้วยตนเอง ตัวอย่างเช่นsudo fsck /dev/ZdXY ที่ ZdXY เป็นพาร์ติชันที่มีปัญหา sudo fdisk -lจะให้รายชื่อของไดรฟ์ของคุณและพาร์ทิชันในพวกเขา ข้อมูลนี้ควรเพียงพอสำหรับคุณในการกำหนดพาร์ติชันที่คุณต้องการตรวจสอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.