第二十三章 其他文件系统23.1. 简介23.2. Linux® 文件系统23.2.1. 扩展文件系统(EXT)23.3. Windows® 文件系统23.3.1. FAT文件系统23.3.2. exFAT文件系统23.3.3. NTFS文件系统23.4. MacOS®文件系统23.4.1. HFS/HFS+文件系统
文件系统是任何操作系统的基本组成部分。它们使用户能够存储、管理和访问数据,使硬盘驱动器、闪存驱动器和USB存储设备等存储设备适合日常使用。不同的操作系统本机使用不同的文件系统。
FreeBSD传统上使用Unix文件系统(UFS),现代化的UFS2是其主要的原生文件系统。FreeBSD还使用Z文件系统(ZFS),以其高级功能、健壮性和可靠性而闻名。有关更多详细信息,请参阅【22. Z文件系统(ZFS)】。
除了其原生文件系统外,FreeBSD还支持来自其他操作系统的各种文件系统。对这些文件系统的支持各不相同,有些需要加载内核模块,而另一些则需要额外的用户空间工具。
在阅读本章之前,您应该:
• 熟悉UNIX®概念和FreeBSD基础知识。 • 在FreeBSD中安装软件时感觉很舒服。 • 对磁盘、存储设备和FreeBSD的设备命名约定有一些了解。
阅读本章后,您将:
• 了解本机文件系统和支持的文件系统之间的差异。 • 了解FreeBSD支持哪些文件系统以及可用的支持级别。 • 学习如何启用、配置、访问和使用非原生文件系统。
FreeBSD为多种Linux®文件系统提供了内置支持。本节演示如何加载支持以及如何挂载受支持的Linux®文件系统。
自FreeBSD 2.2以来,扩展文件系统(Extended File System,EXT)文件系统的内核支持已经可用。ext2fs(5) 驱动程序允许FreeBSD内核读写ext2、ext3和ext4文件系统。
xxxxxxxxxx日志和加密尚不支持。要访问ext文件系统,请通过指定其FreeBSD分区名称和现有挂载点来挂载ext卷。此示例在 /mnt 上挂载 /dev/ada1s1 :
xxxxxxxxxx# mount -t ext2fs /dev/ada1s1 /mntFreeBSD支持FAT、exFAT和NTFS文件系统,允许访问Windows格式的存储。
FAT文件系统是一个简单而健壮的文件系统。尽管它缺乏现代替代品的性能、可靠性和可扩展性,但它在许多不同操作系统上的可用性使其成为设备之间数据交换的常见选择。
要访问FAT文件系统,请通过指定其FreeBSD分区名称和现有挂载点来挂载FAT卷。此示例在 /mnt 上挂载 /dev/ada0s1 :
xxxxxxxxxx# mount -t msdosfs /dev/ada0s1 /mntexFAT(扩展文件分配表)是一种针对USB驱动器和SD卡等闪存设备优化的轻量级文件系统。它支持大文件大小,广泛应用于各种平台,使其成为外部存储的理想选择。
要在FreeBSD上使用exFAT,请安装 filesystems/exfat 包,加载FUSE内核模块,然后挂载文件系统,如下所示:
安装exFAT包
xxxxxxxxxx# pkg install exfat在使用FUSE文件系统之前,请加载 fusefs(5) 内核模块:
xxxxxxxxxx# kldload fusefs使用 sysrc(8) 在启动时加载模块:
xxxxxxxxxx# sysrc kld_list+=fusefs通过指定exFAT卷的FreeBSD分区名称和现有挂载点来挂载exFAT卷。此示例在 /mnt 上挂载 /dev/ada0s1 :
xxxxxxxxxx# mount.exfat /dev/ada0s1 /mntNTFS是由Microsoft®开发的一种强大的文件系统,通常用于Windows操作系统。FreeBSD通过 filesystems/ntfs 包为NTFS提供完整的读写支持,使访问和修改NTFS格式的存储设备变得容易。
要在FreeBSD上使用NTFS,请安装 filesystems/ntfs 包,加载FUSE内核模块,然后挂载文件系统,如下所示:
安装NTFS包:
xxxxxxxxxx# pkg install ntfs在使用FUSE文件系统之前,请加载 fusefs(5) 内核模块:
xxxxxxxxxx# kldload fusefs启动时使用 sysrc(8) 加载模块:
xxxxxxxxxx# sysrc kld_list+=fusefs通过指定NTFS卷的FreeBSD分区名称和现有挂载点来挂载NTFS卷。此示例在 /mnt 上挂载 /dev/ada0s1 :
xxxxxxxxxx# ntfs-3g /dev/ada0s1 /mntFreeBSD支持MacOS®文件系统,包括HFS/HFS+,允许访问为Apple®系统格式化的存储设备。
HFS/HFS+是APFS之前MacOS的主要文件系统,通常用于较旧的Mac设备和外部驱动器。FreeBSD通过 filesystems/hfsfuse 包为HFS/HFS+提供只读支持。
要在FreeBSD上使用HFS/HFS+,请安装 filesystems/hfsfuse 包,加载FUSE内核模块,然后挂载文件系统,如下所示:
安装HFS/HFS+软件包:
xxxxxxxxxx# pkg install fusefs-hfsfuse在使用FUSE文件系统之前,请加载 fusefs(5) 内核模块:
xxxxxxxxxx# kldload fusefs启动时使用 sysrc(8) 加载模块:
xxxxxxxxxx# sysrc kld_list+=fusefs通过指定其FreeBSD分区名称和现有挂载点来挂载HFS/HFS+卷。此示例在 /mnt 上挂载 /dev/ada0s1 :
xxxxxxxxxx# hfsfuse /dev/ada0s1 /mnt