2. GRUB2 核心文件结构:/boot/grub/ 目录结构解析、grub.cfg 配置文件、grubenv 环境变量文件、字体与模块目录
GRUB2 的启动逻辑与资源文件全部集中在 /boot/grub/ 目录下。理解这个目录的结构,是定制启动菜单、排错引导故障、以及开发自定义主题的基础。本章将逐层拆解该目录的核心文件与子目录,重点分析 grub.cfg 的生成机制、grubenv 的持久化变量存储、以及字体与模块的加载路径。
核心要点:
/boot/grub/ 是 GRUB2 的“根文件系统”,所有配置、模块、字体、主题、locale 均在此目录下按约定存放。手动修改 grub.cfg 会被 update-grub 覆盖,正确的定制入口是 /etc/default/grub 和 /etc/grub.d/。
2.1 /boot/grub/ 目录结构全景
以下是一个典型 Linux 发行版(如 Ubuntu/Debian)下 /boot/grub/ 的完整目录树。注意,不同架构(x86_64、ARM64)的模块目录名略有差异。
/boot/grub/
├── grub.cfg # 主配置文件(由 update-grub 自动生成)
├── grubenv # 环境变量文件(持久化存储,大小 1024 字节)
├── fonts/ # 字体文件目录(.pf2 格式)
│ └── unicode.pf2 # 默认 Unicode 字体(支持中文显示)
├── i386-pc/ # BIOS 启动模块目录(x86 传统 BIOS)
│ ├── normal.mod # 正常模式模块
│ ├── gfxterm.mod # 图形终端模块
│ ├── gfxmenu.mod # 图形菜单模块
│ ├── video.mod # 视频驱动模块
│ ├── vbe.mod # VBE 视频模式模块
│ ├── all_video.mod # 所有视频驱动集合
│ ├── ext2.mod # ext2/3/4 文件系统模块
│ ├── ntfs.mod # NTFS 文件系统模块
│ ├── fat.mod # FAT 文件系统模块
│ ├── iso9660.mod # ISO 9660 文件系统模块
│ ├── part_msdos.mod # MBR 分区表模块
│ ├── part_gpt.mod # GPT 分区表模块
│ ├── chain.mod # 链式加载模块
│ ├── configfile.mod # 读取其他配置文件模块
│ ├── search.mod # 搜索分区/文件模块
│ ├── search_fs_uuid.mod # 按 UUID 搜索模块
│ ├── search_fs_file.mod # 按文件路径搜索模块
│ ├── linux.mod # 加载 Linux 内核模块
│ ├── echo.mod # 回显模块
│ ├── test.mod # 条件测试模块
│ ├── true.mod # 布尔真模块
│ ├── reboot.mod # 重启模块
│ ├── halt.mod # 关机模块
│ ├── sleep.mod # 延时模块
│ ├── terminal.mod # 终端控制模块
│ ├── keylayouts.mod # 键盘布局模块
│ ├── gzio.mod # gzip 解压模块
│ ├── xzio.mod # xz 解压模块
│ ├── lzopio.mod # lzo 解压模块
│ ├── bitmap.mod # 位图加载模块
│ ├── bitmap_scale.mod # 位图缩放模块
│ ├── video_bochs.mod # Bochs 视频驱动
│ ├── video_cirrus.mod # Cirrus 视频驱动
│ ├── video_fb.mod # 帧缓冲视频驱动
│ ├── font.mod # 字体渲染模块
│ ├── png.mod # PNG 图片支持模块
│ ├── jpeg.mod # JPEG 图片支持模块
│ ├── tga.mod # TGA 图片支持模块
│ ├── gfxterm_background.mod # 图形终端背景模块
│ ├── video_colors.mod # 视频颜色模块
│ ├── video_common.mod # 视频通用模块
│ ├── video_capture.mod # 视频捕获模块
│ ├── video_reader.mod # 视频读取模块
│ ├── video_rectangle.mod # 视频矩形模块
│ ├── video_cirrus.mod # Cirrus 逻辑设备
│ ├── video_bochs.mod # Bochs 逻辑设备
│ ├── video_fb.mod # 帧缓冲设备
│ ├── video_common.mod # 视频通用功能
│ ├── video_colors.mod # 颜色管理
│ ├── video_capture.mod # 屏幕捕获
│ ├── video_reader.mod # 视频读取
│ ├── video_rectangle.mod # 矩形绘制
│ ├── gfxterm_background.mod # 背景设置
│ ├── gfxmenu.mod # 图形菜单
│ ├── gfxterm.mod # 图形终端
│ ├── font.mod # 字体
│ ├── png.mod # PNG
│ ├── jpeg.mod # JPEG
│ ├── tga.mod # TGA
│ ├── bitmap.mod # 位图
│ ├── bitmap_scale.mod # 位图缩放
│ ├── cat.mod # 显示文件内容
│ ├── ls.mod # 列出目录
│ ├── help.mod # 帮助
│ ├── hexdump.mod # 十六进制查看
│ ├── read.mod # 读取文件
│ ├── write.mod # 写入文件
│ ├── blocklist.mod # 块列表
│ ├── boot.mod # 启动
│ ├── disk.mod # 磁盘
│ ├── diskfilter.mod # 磁盘过滤
│ ├── drivemap.mod # 驱动器映射
│ ├── loopback.mod # 回环设备
│ ├── memdisk.mod # 内存磁盘
│ ├── mmap.mod # 内存映射
│ ├── net.mod # 网络
│ ├── pxe.mod # PXE
│ ├── efinet.mod # EFI 网络
│ ├── http.mod # HTTP
│ ├── tftp.mod # TFTP
│ ├── nfs.mod # NFS
│ ├── acpi.mod # ACPI
│ ├── apm.mod # APM
│ ├── cpuid.mod # CPU ID
│ ├── dm_nv.mod # Device Mapper
│ ├── elf.mod # ELF 格式
│ ├── eval.mod # 表达式求值
│ ├── exfat.mod # exFAT
│ ├── ext2.mod # ext2
│ ├── fat.mod # FAT
│ ├── f2fs.mod # F2FS
│ ├── hfsplus.mod # HFS+
│ ├── iso9660.mod # ISO 9660
│ ├── jfs.mod # JFS
│ ├── minix.mod # Minix
│ ├── ntfs.mod # NTFS
│ ├── reiserfs.mod # ReiserFS
│ ├── sfs.mod # SFS
│ ├── squash4.mod # SquashFS
│ ├── ufs2.mod # UFS2
│ ├── xfs.mod # XFS
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2
│ ├── odc.mod # ODC
│ ├── romfs.mod # ROMFS
│ ├── tar.mod # TAR
│ ├── udf.mod # UDF
│ ├── ufs1.mod # UFS1
│ ├── ufs2.mod # UFS2
│ ├── zfs.mod # ZFS
│ ├── btrfs.mod # Btrfs
│ ├── nilfs2.mod # NILFS2