Исправление ошибок /etc/fstab с использованием аварийного режима
На этом шаге вы узнаете, как диагностировать и исправлять ошибки в файле /etc/fstab. Этот файл критически важен для процесса загрузки, поскольку он сообщает системе, какие файловые системы монтировать и где. Неправильная запись в /etc/fstab может помешать загрузке системы, принуждая ее к переходу в emergency mode (аварийный режим).
Аварийный режим обеспечивает максимально минимальную среду для восстановления системы. В отличие от режима восстановления, он не пытается смонтировать большинство файловых систем или запустить многие службы. Важно отметить, что корневая файловая система (/) монтируется в режиме только для чтения (ro), чтобы предотвратить дальнейшее повреждение.
Хотя мы не можем вызвать реальный сбой загрузки в этой лаборатории, мы можем смоделировать процесс поиска и исправления ошибки /etc/fstab.
Сначала давайте намеренно добавим ошибочную запись в /etc/fstab. Мы будем использовать команду echo с sudo, чтобы добавить строку, ссылающуюся на несуществующее устройство.
echo '/dev/nonexistent /data xfs defaults 0 0' | sudo tee -a /etc/fstab
Теперь давайте посмотрим содержимое /etc/fstab, чтобы подтвердить, что наша плохая строка была добавлена.
cat /etc/fstab
Вы должны увидеть неправильную строку в конце файла.
#
## /etc/fstab
## Created by anaconda on <date>
#
## Accessible filesystems, by reference, are maintained under '/dev/disk/'.
## See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
## After editing this file, run 'systemctl daemon-reload' to update systemd
## units generated from this file.
#
/dev/vda4 / xfs defaults 0 0
/dev/vda2 /boot xfs defaults 0 0
/dev/vda1 /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/vda3 swap swap defaults 0 0
/dev/nonexistent /data xfs defaults 0 0
Далее мы смоделируем диагностический шаг. Команда mount -a пытается смонтировать все файловые системы, перечисленные в /etc/fstab, которые еще не смонтированы. Поскольку наша запись недействительна, эта команда завершится неудачей.
sudo mount -a
Команда выдаст ошибку, четко указывающую на то, что точка монтирования /data не существует. Это похоже на ошибку, которую вы увидите во время неудачной загрузки.
mount: /data: mount point does not exist.
Теперь давайте смоделируем процесс восстановления. В реальной аварийной оболочке первым шагом является перемонтирование корневой файловой системы в режиме чтения-записи, чтобы разрешить внесение изменений.
sudo mount -o remount,rw /
Теперь, когда файловая система доступна для записи, вы можете отредактировать /etc/fstab, чтобы исправить ошибку. Используйте редактор nano, чтобы открыть файл.
sudo nano /etc/fstab
Внутри редактора nano используйте клавиши со стрелками, чтобы перейти к ошибочной строке (/dev/nonexistent /data xfs defaults 0 0) и удалить ее. Вы можете удалить всю строку, нажав Ctrl+k. После удаления строки сохраните файл, нажав Ctrl+x, затем y и, наконец, Enter.
Чтобы подтвердить исправление, снова запустите sudo mount -a.
sudo mount -a
На этот раз команда должна выполниться молча, без вывода, что указывает на то, что все действительные записи в /etc/fstab правильно смонтированы. Вы успешно исправили файл.