Как я могу проверить / dev / xvda1?

60

При входе в 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неэффективен.

Что делать?

user1836587
источник
Можете ли вы установить / dev / xvda1 в nostato в fstab и перезагрузиться?
Нильс Тёдтманн
Для Ubuntu см. Ответ по адресу askubuntu.com/a/548772/184435
Данортон

Ответы:

51

В наши дни большинство Linux-систем должны выполнять принудительный fsck во время загрузки, когда в системе присутствует файл / forcefsck. Если вы можете перезагрузить виртуальную машину, запустите

touch /forcefsck

Затем перезагрузите в удобное для вас время

Sgaduuw
источник
95

Для нашего экземпляра ec2 Ubuntu приведенные выше ответы не сработали полностью.

В Ubuntu по умолчанию проверка не включена в файле rcS . Так

  1. Отредактируйте файл rcS sudo vi / etc / default / rcS

ниже линии

#FSCKFIX=no

Добавлять

FSCKFIX=yes
  1. Отредактируйте файл fstab. sudo 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

    sudo touch / forcefsck

Перезагрузитесь с консоли ec2.

Верните значение fsckorder из '1' в '0' в / etc / fstab. Удалите строку, FSCKFIX=yesчтобы вернуть файл rcS в исходное состояние.

Надеюсь, это поможет.

krishnakumarp
источник
5
Это сработало для меня. Простое выполнение «touch / forcefsck» не решает проблему, мне также пришлось включить FSCKFIX.
Флорин Андрей
1
Тоже самое; просто выполнить sudo touch /forcefsckдо перезагрузки не работало в системе Ubuntu 14.04, но этот ответ сделал.
Теему Лейсти
Я должен был сделать еще один шаг - модификацию / etc / fstab, как описано здесь: nathanpfry.com/… Это странно, потому что в прошлый раз, когда я это делал, я использовал ваш ответ, и он работал как есть.
childofsoong
2
Спасибо, это разрешило это для меня на экземпляре ec2 от AWS. Мне не пришлось перезагружаться с консоли, просто sudo rebootс вашими изменениями это решило.
Ральф
Это также исправило проблему на моем локальном компьютере. Я считаю, что это должно быть отмечено как лучшее.
Арда
7

Так как вы не можете загрузиться с живого диска, это может звучать немного странно, но я думаю, это сработает)

высокий уровень:

  • загрузиться в новый (другой) экземпляр.
  • прикрепить хранилище от старого экземпляра к новому (текущему).
  • бежать fsck.
  • отсоедините хранилище от нового (текущего) и подключите его к старому экземпляру.
Alexus
источник
0

Я просто делаю 3 шага ниже и проблема решена.

  1. Добавьте «FSCKFIX = yes» в / etc / default / rcS
  2. sudo touch / forcefsck
  3. перезагрузка sudo

Спасибо всем.

thach.nv92
источник