Как я могу проверить / 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неэффективен.

Что делать?


Можете ли вы установить / dev / xvda1 в nostato в fstab и перезагрузиться?
Нильс Тёдтманн

Для Ubuntu см. Ответ по адресу askubuntu.com/a/548772/184435
Данортон

Ответы:


51

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

touch /forcefsck

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


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 в исходное состояние.

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


5
Это сработало для меня. Простое выполнение «touch / forcefsck» не решает проблему, мне также пришлось включить FSCKFIX.
Флорин Андрей

1
Тоже самое; просто выполнить sudo touch /forcefsckдо перезагрузки не работало в системе Ubuntu 14.04, но этот ответ сделал.
Теему Лейсти

Я должен был сделать еще один шаг - модификацию / etc / fstab, как описано здесь: nathanpfry.com/… Это странно, потому что в прошлый раз, когда я это делал, я использовал ваш ответ, и он работал как есть.
childofsoong

2
Спасибо, это разрешило это для меня на экземпляре ec2 от AWS. Мне не пришлось перезагружаться с консоли, просто sudo rebootс вашими изменениями это решило.
Ральф

Это также исправило проблему на моем локальном компьютере. Я считаю, что это должно быть отмечено как лучшее.
Арда

7

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

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

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

0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.