如何避免在不同 Linux 發行版上建立 ext4 分割區時使用的選項有差異?

如何避免在不同 Linux 發行版上建立 ext4 分割區時使用的選項有差異?

我有一些腳本,可以使用 grub 舊版(0.97)創建 qcow2 文件,並帶有特殊補丁以從 ext4 和 ext4 文件系統啟動“/”。

當我在 Ubuntu 12.04/14.04 上執行這些腳本時,虛擬機器會在 KVM 中執行。但對於 Centos 7,grub 遺留版本不會從 ext4 載入。

'/' 正在創建mkfs -t ext4 -L BOOT /dev/mapper/loop0p1

當我將 qcow2 檔案從 Ubuntu 移動到 CentOs 時,它們可以啟動。但是在 CentOs 7 上建立的 qcow2 映像無法在這兩個系統上啟動。

當我們執行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 檔案類型 need_recovery 範圍 flex_bg稀疏_超級大_檔案巨大_檔案 uninit_bg dir_nlink extra_isize 日誌功能:revtra_isize 日誌功能:

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
        }

相關內容