Как избежать разницы в параметрах, используемых для создания разделов ext4 на разных дистрибутивах Linux?

Как избежать разницы в параметрах, используемых для создания разделов ext4 на разных дистрибутивах Linux?

У меня есть набор скриптов, которые создают файл qcow2 с grub legacy (0.97) со специальным патчем для загрузки из ext4 и файловой системой ext4 для '/'.

Когда я запускаю эти скрипты на Ubuntu 12.04/14.04, виртуальные машины работают в KVM. Но для Centos 7 grub legacy не загружается из ext4.

«/» создает с помощьюmkfs -t ext4 -L BOOT /dev/mapper/loop0p1

Когда я перемещаю файлы qcow2 из Ubuntu в CentOs, они могут загружаться. Но образы qcow2, созданные в CentOs 7, не могут загружаться в обеих системах.

Когда мы выполняем mkfs -t ext4 -L BOOT :

Хост Ubuntu KVM 12/14, dumpe2fs показывает:

Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features: journal_incompat_revoke

Хост CentOs 7 KVM, dumpe2fs показывает: При запуске mkfs -t ext4 -L BOOT в:

Хост Ubuntu KVM 12/14, dumpe2fs показывает: Возможности файловой системы: has_journal ext_attr resize_inode dir_index filetype needs_recovery extend flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Возможности журнала: journal_incompat_revoke

Хост CentOs 7 KVM, dumpe2fs показывает:

Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features: journal_incompat_revoke journal_64bit

Итак, mkfs.ext4 добавляет:

  1. Возможности журнала:journal_64bit
  2. Характеристики файловой системы: 64 бит

Как этого избежать?

С уважением.

решение1

человек mkfs.ext4

Значения параметров по умолчанию для вновь созданной файловой системы, если они не переопределены перечисленными ниже параметрами, контролируются файлом конфигурации /etc/mke2fs.conf.

Хост Ubuntu, cat /etc/mke2fs.conf

[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 0
        blocksize = 4096
        inode_size = 256
        inode_ratio = 16384

[fs_types]
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                auto_64-bit_support = 1
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }

Хост CentOs 7, cat /etc/mke2fs.conf:

[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 0
        blocksize = 4096
        inode_size = 256
        inode_ratio = 16384
[fs_types]
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,64bit
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }

Связанный контент