У меня есть раздел ext3, поэтому, когда я это делаю:
mount /dev/blah /mnt/blah
он монтируется автоматически как ext3. Я могу установить его как ext4, запустив
mount -t ext4 /dev/blah /mnt/blah
и это работает. Я предполагаю, что раздел каким-то образом помечен как ext3. Можно ли изменить это на ext4, чтобы:
mount /dev/blah /mnt/blah
смонтирует его как ext4. Это для эксперимента. Я хочу сделать это без включения новых функций ext4, чтобы я мог вернуться к ext3.
Если во время создания файловая система не использовала или явно отключила расширения ext4 (например, uninit_bg
и flex_bg
), файловая система будет на самом деле ext3 (если в ней есть журнал) или ext2 (если в ней нет функций ext3 или ext4).
Вы можете включить функции ext4 с помощью tune2fs -O
.
Справочная страница ext4:
Если опция -O используется для явного добавления или удаления параметров файловой системы, которые должны быть установлены во вновь созданной файловой системе, полученная файловая система может не поддерживаться запрошенным типом fs. (например, «mke2fs -t ext3 -O extents / dev / sdXX» создаст файловую систему, которая не поддерживается реализацией ext3 в ядре Linux; и «mke2fs -t ext3 -O ^ has_journal / dev / hdXX» создаст файловую систему без журнала и, следовательно, не будет поддерживаться кодом файловой системы ext3 в ядре Linux.)
Страница руководства tune2fs:
-O [^] функция [, ...] - O [^] функция [, ...]
Включение определенных функций файловой системы может препятствовать монтированию файловой системы ядрами, которые не поддерживают эти функции. В частности, функции uninit_bg и flex_bg поддерживаются только файловой системой ext4.
Если нет
-t
задана опция, или, если указан автоматический тип, mount попытается угадать желаемый тип. Mount используетblkid
библиотека для определения типа файловой системы; если это не покажет ничего знакомого, mount попытается прочитать файл/etc/filesystems
, или, если таковой не существует,/proc/filesystems
. Будут опробованы все перечисленные здесь типы файловых систем, за исключением тех, которые помечены как «nodev» (например, devpts, proc и nfs). Если/etc/filesystems ends
в строке только с одним *, mount будет читать/proc/filesystems
потом.
# mount -V
mount from util-linux-ng 2.17.2 (with libblkid and selinux support)
Кроме blk_id
:
# blkid -o value -s TYPE /dev/sdb1
ext4
есть еще несколько способов определить файловую систему отключенного раздела:
# file -s /dev/sdb1
/dev/sdb1: Linux rev 1.0 ext4 filesystem data (extents) (large files) (huge files)
# fsck -N /dev/sdb1
fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /dev/sdb1] fsck.ext4 /dev/sdb1
# parted /dev/sdb1 print
Model: Unknown (unknown)
Disk /dev/sdb1: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 107GB 107GB ext4
mount /dev/blah /mnt/blah
работает только с записью fstab, не так ли? Так что измените запись fstab на ext4 и все.
Вы, вероятно, имеете в виду поведение
mount -t auto /dev/blah /mnt/blah
Не знаю, где определяется порядок проверки ext3 и ext4. Полагаю, в самой ФС нет пометки: "Предпочитаю монтировать как ext4". Что-то похожее на метку - это несовместимые с предыдущей версией функции ext4, которые установлены в суперблоке. Это предотвратит монтирование FS как ext3, но это не то, что вам нужно.