我有一些腳本,可以使用 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 新增:
- 期刊特色:journal_64bit
- 檔案系統特性: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
}