Как принудительно запустить fsck при перезагрузке для Ubuntu 20.04

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

2
задан 19 July 2021 в 14:06

2 ответа

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

  1. используйте blkid , чтобы определить 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: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/vgubuntu-root /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=0AE0-795B  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/vgubuntu-swap_1 none            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 указывает, что после одного монтирования необходимо проверить раздел. Таким образом, в основном он проверяет после каждого монтирования, то есть после каждого перезапуска.

2
ответ дан 28 July 2021 в 11:17

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

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

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

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

sudo tune2fs -l /dev/nvme0n1p2 | grep 'Maximum mount'

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

Установите значение 1 с помощью команды:

sudo tune2fs -c 1 /dev/nvme0n1p2

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

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

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

Чтобы добавить параметр ядра на один раз, загрузитесь в меню Grub, выделите запись и нажмите e . Перейдите к строке, начинающейся с linux , нажмите End , чтобы перейти к последней строке, добавьте пробел и параметр ядра. Нажмите Ctrl + x , чтобы закрыть и продолжить загрузку.

1
ответ дан 28 July 2021 в 11:17

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

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