Làm cách nào tôi có thể kiểm tra / dev / xvda1?


60

Khi đăng nhập vào ví dụ EC2 (Ubuntu), tôi thấy

*** /dev/xvda1 should be checked for errors ***

Tôi không thể fsck /dev/xvda1bởi vì nó được gắn kết, và sudo umount /dev/xvda1thất bại vì nó đang được sử dụng. lsoftrình diễn

jbd2/xvda  172               root  cwd       DIR              202,1     4096          2 /
jbd2/xvda  172               root  rtd       DIR              202,1     4096          2 /
jbd2/xvda  172               root  txt   unknown                                        /proc/172/exe

kill -SIGKILL 172không hiệu quả.

Phải làm sao


Bạn có thể đặt / dev / xvda1 thành "noauto" trong fstab và khởi động lại không?
Nils Toedtmann

Đối với Ubuntu, hãy xem câu trả lời tại askubfox.com/a/548772/184435
danorton 6/2/2015

Câu trả lời:


51

Hầu hết các Linux ngày nay nên thực hiện một fsck bắt buộc khi khởi động khi tệp / forcefsck có mặt trên hệ thống. Nếu bạn có quyền tự do khởi động lại VM, hãy chạy

touch /forcefsck

Sau đó khởi động lại một cách thuận tiện


95

Đối với phiên bản ec2 ub Ubuntu của chúng tôi, các câu trả lời ở trên không hoạt động hoàn toàn.

Trên Ubuntu, theo mặc định, kiểm tra không được kích hoạt trong tệp RCS . Vì thế

  1. Chỉnh sửa tập tin RCS sudo vi / etc / default / rcS

dưới dòng

#FSCKFIX=no

Thêm vào

FSCKFIX=yes
  1. Chỉnh sửa tập tin fstab. sudo vi / etc / fstab

Tìm bản ghi cho / và nếu chữ số cuối cùng là '0', hãy đổi nó thành '1'. Trường cuối cùng là fsckorder và được fsck sử dụng để quyết định thứ tự kiểm tra đĩa. Nếu giá trị là '0' thì đĩa đó bị bỏ qua .

Ví dụ:

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 0

đến

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 1 
  1. Tạo tập tin / forcefsck

    sudo cảm ứng / lực lượng

Khởi động lại từ bảng điều khiển ec2.

Hoàn nguyên giá trị fsckorder từ '1' thành '0' trong / etc / fstab Xóa dòng FSCKFIX=yesđể lấy lại tệp RCS về trạng thái ban đầu.

Hy vọng nó giúp.


5
Điều này làm việc cho tôi. Đơn giản chỉ cần thực hiện "touch / forcefsck" không giải quyết được, tôi cũng phải kích hoạt FSCKFIX.
Florin Andrei

1
Tương tự ở đây; chỉ thực hiện sudo touch /forcefscktrước khi khởi động lại không hoạt động trên hệ thống Ubuntu 14.04, nhưng câu trả lời này đã có.
Teemu Leisti

Tôi đã phải làm thêm một bước khác - một sự sửa đổi vào / etc / fstab như đã mô tả ở đây: nathanpfry.com/... Đó là lẻ vì lần cuối cùng tôi đã có điều này xảy ra, tôi đã sử dụng câu trả lời của bạn và nó làm việc như vậy.
childofsoong

2
Cảm ơn, điều này đã giải quyết nó cho tôi trên một ví dụ ec2 từ AWS. Tôi không phải khởi động lại từ bảng điều khiển, đơn giản sudo rebootvới những thay đổi của bạn đã giải quyết điều này.
Ralph

Điều này cũng đã khắc phục vấn đề trên máy tính cục bộ của tôi. Tôi tin rằng điều này nên được đánh dấu là tốt nhất.
Arda

7

Vì bạn không thể khởi động vào đĩa trực tiếp, điều này nghe có vẻ hơi lạ, nhưng tôi đoán nó sẽ thực hiện được công việc)

trình độ cao:

  • khởi động vào ví dụ mới (khác).
  • đính kèm lưu trữ từ phiên bản cũ sang mới (hiện tại).
  • chạy fsck.
  • tách lưu trữ từ mới (hiện tại) và gắn lại nó vào trường hợp cũ.

0

Tôi chỉ cần làm 3 bước dưới đây và giải quyết vấn đề.

  1. Thêm "FSCKFIX = yes" vào / etc / default / rcS
  2. sudo cảm ứng / lực lượng
  3. khởi động lại sudo

Cảm ơn tất cả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.