Как btrfs проверить корневой раздел

Я уверен, что причина, по которой у меня мозг пердит, в том, что уже поздно, но как мне выполнить проверку btrfs в корневом разделе?

Устройство должно быть размонтировано, что не может произойти, потому что это корневой раздел...

Спасибо

3 ответа

Если вы используете systemd, вы можете передать параметр ядра fsck.mode=force проверить все файловые системы. Это исправит все "безопасные" ошибки.

Если у вас все еще есть проблемы (проверьте ваши логи), пройдите fsck.repair=yes в дополнение к вышесказанному, который попытается все починить.

Для источника этого и других вариантов (например, shutdown -F) за upstart а также sysvinit init, смотрите здесь.

ВНИМАНИЕ: Утилита НИЧЕГО НЕ ДЕЛАЕТ и возвращает успех! На странице руководства объясняется, что необходимо использовать отдельную команду. См. здесь: https://man7.org/linux/man-pages/man8/fsck.btrfs.8.html .

Единственный способ проверить систему BTRFS — использовать собственный инструмент. У вас должен быть отключен корневой том, поэтому единственный вариант — действительно загрузиться с livecd.

Любой совет, который в конечном итоге приведет к звонкуfsck.btrfsэто просто неправильно и опасно , это просто заглушка, которая распечатывает сообщение и ничего не делает. Сюда входят ответы сfsck.modeпараметры командной строки ядра или.forcefsckфайлы тоже.

      [root@nuc ~]# cat /usr/sbin/fsck.btrfs
#!/usr/bin/sh -f
AUTO=false
while getopts ":aApy" c
do
    case $c in
    a|A|p|y)    AUTO=true;;
    esac
done
shift $(($OPTIND - 1))
eval DEV=\${$#}
if [ ! -e $DEV ]; then
    echo "$0: $DEV does not exist"
    exit 8
fi
if ! $AUTO; then
    echo "If you wish to check the consistency of a BTRFS filesystem or"
    echo "repair a damaged filesystem, see btrfs(8) subcommand 'check'."
fi
exit 0

Однако, если вы просто не уверены, все ли в порядке после отключения электроэнергии или чего-то в этом роде,btrfs checkможет выполнить проверку смонтированной файловой системы только для чтения:

      [root@nuc ~]# btrfs check --readonly --force /dev/sda5
Opening filesystem to check...
WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/sda5
UUID: 8c44de9c-c91b-4ac4-857b-da191dc62274
[1/7] checking root items
[2/7] checking extents
[3/7] checking free space cache
[4/7] checking fs roots
[5/7] checking only csums items (without verifying data)
[6/7] checking root refs
[7/7] checking quota groups skipped (not enabled on this FS)
found 3628683264 bytes used, no error found
total csum bytes: 3093864
total tree bytes: 136937472
total fs tree bytes: 126074880
total extent tree bytes: 6455296
btree space waste bytes: 23047273
file data blocks allocated: 5676253184
 referenced 4705763328

Загрузитесь с livecd и выполните проверку оттуда.

Другие вопросы по тегам