Я запускаю Ubuntu 20.04 на встроенном устройстве. Я хотел бы спросить, как заставить автоматический fsck при загрузке? В более старых версиях Ubuntu этого можно добиться, отредактировав файл / etc / default / rcS и установив FSCKFIX = yes. Однако я читал, что в более новой версии Ubuntu этот файл больше не используется. Так как же включить автоматический fsck при загрузке для более новой версии Ubuntu?
Если вы хотите заставляйте fsck при каждой перезагрузке, вам нужно выполнить несколько шагов.
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:~$
/ 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
root@amarcus-desktop:~# tune2fs -c 1 /dev/mapper/vgubuntu-root
Объяснение:
По сути, на шаге 1 вы определяете, какой раздел вы хотите проверить при загрузке.
На шаге 2 вы проверяете, что он имеет более высокий приоритет. Это полезно, если вы проверяете более одного раздела. Он решает, что нужно сделать в первую очередь, затем вторую и так далее.
На шаге 3 вы указываете, через сколько монтирований следует проверить раздел. Аргумент 1 указывает, что после одного монтирования необходимо проверить раздел. Таким образом, в основном он проверяет после каждого монтирования, то есть после каждого перезапуска.
Старый удобный трюк создания файла / 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 , чтобы закрыть и продолжить загрузку.