Как с помощью btrfs проверять корневой раздел

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

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

Спасибо

5
задан 11 December 2015 в 01:48
3 ответа

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

1
ответ дан 3 December 2019 в 01:44

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

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

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

3
ответ дан 3 December 2019 в 01:44

Единственный способ проверить систему BTRFS — использовать ее собственный инструмент проверка 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 может выполнить проверку смонтированной файловой системы только для чтения:

[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
0
ответ дан 28 February 2021 в 12:51

Теги

Похожие вопросы