Рейтинг:5

Как принудительно включить fsck при перезагрузке Ubuntu 20.04

флаг de

Я использую Ubuntu 20.04 на встроенном устройстве. Я хотел бы спросить, как заставить автоматический fsck при загрузке? В старых версиях Ubuntu этого можно добиться, отредактировав файл /etc/default/rcS и установив FSCKFIX=yes. Однако я читал, что в новой версии Ubuntu этот файл больше не используется.Так как же включить автоматический fsck при загрузке новой версии Ubuntu?

vanadium avatar
флаг cn
Вопрос @guiverc о том, как инициировать fsck во время загрузки, как мы могли раньше, используя `sudo touch/forcefsck`. К моему ужасу, я вижу сегодня: `sudo tune2fs -l /dev/nvme0n1p2 | grep checked` - `Последняя проверка: сб, 31 октября, 13:03:57 2020`.Означает ли это, что в настоящее время системная файловая система больше не проверяется автоматически?
Рейтинг:4
флаг cn

Старый удобный прием создания файла /forcefsck принудительно проверять файл при перезагрузке больше не работает, т.к. системад взял на себя инициализацию.

Изменить "Максимальное количество монтирований" (только файловые системы ext)

Самый быстрый способ, наверное, это временно изменить свой Максимальное количество монтирований к 1. Это приведет к тому, что ядро ​​и e2fsck для проверки файловой системы при следующей перезагрузке. Однако это работает только с файловыми системами ext.

Сначала проверьте текущие настройки на случай, если позже вы захотите восстановить настройки по умолчанию:

sudo tune2fs -l /dev/nvme0n1p2 | grep 'Максимальное монтирование'

Заменять /dev/nvme0n1p2 по имени устройства вашего системного раздела. Скорее всего, это установлено на -1 в настоящее время отключается проверка на основе количества подключений тома.

Отрегулируйте настройку на 1 с командой:

Судо Tune2FS -c 1/dev/nvme0n1p2

Теперь перезагрузитесь - громкость должна быть проверена. После перезагрузки вы должны сбросить значение до того, что было раньше, чтобы избежать проверки раздела каждый раз.

Изменить параметр ядра

Другой способ - передать параметры ядра во время загрузки, которые контролируют systemd сервисы для проверки файловой системы. fsck.mode=сила принудительно проверит файл.

Чтобы добавить параметр ядра за один раз, загрузитесь в меню Grub, выделите запись и нажмите е. Перейти к строке, начинающейся с линукс, ударять Конец чтобы перейти к последней строке, добавьте пробел и параметр ядра. Ударять Ctrl+Икс чтобы закрыть и продолжить загрузку.

Рейтинг:2
флаг us

Если вы хотите принудительно запускать fsck при каждой перезагрузке, вам нужно выполнить несколько шагов.

  1. использовать черный чтобы определить UUID для раздела.
amarcus@amarcus-desktop:~$ blkid
/dev/mapper/vgubuntu-swap_1: UUID="d24b0766-c9be-49ef-9022-8ccae4f79801" TYPE="swap"
/dev/mapper/vgubuntu-root: UUID="d414c4f9-da0d-42bf-8290-4bcb55b8d984" BLOCK_SIZE="4096" TYPE="ext4"
amarcus@amarcus-desktop:~$ 

  1. Используйте uuid или точку монтирования, чтобы найти раздел в /etc/fstab
amarcus@amarcus-desktop:~$ cat /etc/fstab 
# /etc/fstab: информация о статической файловой системе.
#
# Используйте 'blkid' для вывода универсального уникального идентификатора
# устройство; это может использоваться с UUID= как более надежный способ именования устройств.
# это работает, даже если диски добавляются и удаляются. См. fstab(5).
#
# <файловая система> <точка монтирования> <тип> <опции> <дамп> <пароль>
/dev/mapper/vgubuntu-root / ext4 errors=remount-ro 0 1
# /boot/efi был на /dev/nvme0n1p1 во время установки
UUID=0AE0-795B /boot/efi vfat umask=0077 0 1
/dev/mapper/vgubuntu-swap_1 нет swap sw 0 0

UUID=D41C-2F17 /mnt/WDElements auto umask=0022,gid=1000,uid=1000,x-gvfs-show 0 0

Последний столбец, который является столбцом 6, он же столбец fsck PASS, используется fsck, чтобы определить, должна ли fsck проверять файловую систему перед ее монтированием и в каком порядке следует проверять данные разделы в /etc/fstab.

Для корневых разделов убедитесь, что для записи установлено значение 1.

  1. Наконец, установите счетчик монтирования для этого раздела на 1.
root@amarcus-desktop:~# tune2fs -c 1 /dev/mapper/vgubuntu-root

Объяснение:

По сути, на шаге 1 вы определяете, какой раздел вы хотите проверять при загрузке.

На шаге 2 вы убедитесь, что он имеет более высокий приоритет. Это полезно, если вы проверяете более одного раздела. Он решает, что должно быть принято первым, затем вторым и так далее.

На шаге 3 вы говорите, через сколько монтирований следует проверить раздел. Аргумент 1 указывает, что после одного монтирования раздел должен быть проверен. Так что в основном он проверяет после каждого монтирования, то есть после каждого перезапуска.

vanadium avatar
флаг cn
Я не уверен, работает ли старая система `sudo touch /forcefsck`, так как `systemd` выполняет инициализацию.
vanadium avatar
флаг cn
Я даже не уверен, что проверка файловой системы по-прежнему автоматическая в Ubuntu! `sudo tune2fs -l /dev/nvme0n1p2 | grep checked` для меня дает `Последняя проверка: сб 31 октября 13:03:57 2020`! `fstab` по-прежнему содержит `1` в качестве последнего поля.
Kunal Shah avatar
флаг us
@ванадий ты прав. Я только что проверил свою новую систему 21.04, и sudo touch/forcefsck не работает. Хорошей новостью является то, что tune2fs -c 1 /dev/mapper/vgubuntu-root работает. Он проверяет файловую систему после каждой перезагрузки в моей Ubuntu 21.04.
Kunal Shah avatar
флаг us
@vanadium - о вашем сообщении на ``sudo tune2fs -l /dev/nvme0n1p2 | grep проверен``` В вашем fstab, когда корневой раздел равен 1 в последнем столбце, это не означает, что он будет проверять раздел после 1 монтирования. Это число в fstab является приоритетом, в котором следует проверять раздел. Убедиться, что для корневого раздела установлено значение 1, означает, что всякий раз, когда проверяется файловая система, корневой раздел будет проверяться «первым». В моем ответе - на шаге 3, когда вы запускаете ```tune2fs -c 1 /dev/mapper/vgubuntu-root```, именно здесь вы указываете проверку файловой системы после каждого 1 монтирования. Надеюсь это поможет
vanadium avatar
флаг cn
Я знаю значение 1 в fstab. Я бы, наверное, выразился точнее. Раздел проверяется, однако он никогда не проверяется *глубоко* (т.е.явно сканирует файловую структуру, а не просто проверяет, сообщает ли журнал «ОК»)! Раньше глубокая проверка выполнялась каждые 30 подключений. В настоящее время глубокая проверка никогда не навязывается и будет происходить только тогда, когда журнал будет нечистым — но тогда может быть уже слишком поздно. tunefs зарегистрирует только глубокую проверку.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.