У меня установлено устройство с Ubuntu 14.04.5, которое имеет один жесткий диск с файловой системой ext4.
Прочитав документ Ext4 Filesystem, я узнал, что режим данных по умолчанию - ordered
это защита только метаданных. В моем проекте мы хотим изменить его на journal
защиту данных файла, потому что безопасность данных имеет большую ценность.
Первым делом я попытался изменить /etc/fstab
файл. Я пытался изменить
UUID=<UUID> / ext4 errors=remount-ro 0 1
в
UUID=<UUID> / ext4 errors=remount-ro,data=journal 0 1
добавив data=journal
в поле опции.
Однако, когда я перезагружаю устройство, я получаю сообщение об ошибке cannot change data mode on remount
. Я проверил dmesg
и увидел более раннее сообщение о монтировании диска в ordered
режиме данных.
Я думал, что в течение /etc/fstab
довольно долгого времени используется для переопределения параметров монтажа по умолчанию, поэтому диски монтируются только один раз. Но теперь это выглядит неправильно: диск монтируется с использованием параметров монтирования по умолчанию, а затем /etc/fstab
подбирается для его повторной установки.
Мои вопросы :
- Является ли этот процесс «монтирования-перемотки» процессом проектирования системы? Я прочитал
Fstab
вики-страницу, но не увидел, что там упоминается «mount-remount». - Если
/etc/fstab
действительно используется для повторного монтажа, на каком этапе процесса загрузки привод монтируется впервые? Это реализовано в/etc/init.d
? Я видел некоторые скрипты в/etc/init.d
callumountfs
иumountroot
, но, просматривая их содержимое, они не выглядят актуальными.
источник
/etc/fstab
находится в корневой файловой системе, но не может быть прочитана до тех пор, пока файловая система не будет смонтирована): initramfs использует / etc / fstab?Ответы:
От
man ext4
:Удалите
data=ordered
из вашей fstab-линии и редактируйте/etc/default/grub
вместо этого. На/etc/default/grub
смену линиив
запустить
sudo update-grub
и перезагрузить.источник
Когда используется / etc / fstab
Если вы запустите,
sudo strace -e open,openat mount -o remount,rw /
вы увидите, что команда действительно открывается/etc/fstab
. Это самая распространенная команда, которую вы видите, на которую часто ссылаются в статьях по работе с оболочкой восстановления.Чтобы также процитировать ответ Sourcejedi (который взят из
mount(8)
руководства):Тем не менее, это не значит, что
/etc/fstab
всегда используется. В частности, когда вы также указываете файл устройства; ссылка наmount(8)
руководство :Это имеет смысл, поскольку
/dir
может быть произвольным - перемонтировать устройство на другую точку монтирования.На
/etc/fstab
него также не ссылаются при монтировании/
файловой системы во время загрузки, о котором ядро ничего не знает/etc/fstab
. Процитирую ответ псуси :Файловые системы, которые не нуждаются в fstab
Также обратите внимание, что ядро Linux имеет другие файловые системы, которые находятся в памяти - они обычно недоступны пользователям, некоторые из которых вообще не имеют точки монтирования, в то время как другие открыты для пользователей. Ядро не должно ссылаться
/etc/fstab
на них. Примером этого является/proc
- это виртуальная файловая система, которая предоставляет в основном информацию о процессах, а также некоторые сведения об оборудовании и системе, которые должны быть в/sys
другой виртуальной файловой системе.источник