Ubuntu

如何檢查 /dev/xvda1?

  • June 17, 2019

在登錄 EC2 (Ubuntu) 實例時,我看到

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

我不能fsck /dev/xvda1因為它已安裝,並且sudo umount /dev/xvda1因為它正在使用而失敗。 lsof節目

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 172是無效的。

該怎麼辦?

現在大多數 Linux 應該在系統上存在 /forcefsck 文件時在引導時執行強制 fsck。如果您可以重新啟動 VM,請執行

touch /forcefsck

然後在您方便時重新啟動

對於我們的 ec2 ubuntu 實例,上述答案並不完全有效。

在 Ubuntu 上,預設情況下, rcS文件中未啟用檢查。所以

  1. 編輯 rcS 文件 sudo vi /etc/default/rcS

線以下

#FSCKFIX=no

添加

FSCKFIX=yes
  1. 編輯 fstab 文件。須藤 vi /etc/fstab

查找 / 的記錄,如果最後一位為“0”,則將其更改為“1”。最後一個欄位是 fsckorder,fsck 使用它來決定檢查磁碟的順序。如果值為“0”,則跳過該磁碟

例如,

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

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 1 
  1. 創建 /forcefsck 文件

須藤觸摸/forcefsck

從 ec2 控制台重新啟動。

在 /etc/fstab 中將 fsckorder 值從 ‘1’ 恢復為 ‘0’ 刪除該行FSCKFIX=yes以將 rcS 文件恢復到原始狀態。

希望能幫助到你。

引用自:https://serverfault.com/questions/627371