Filesystems
文件系统基础
- 文件系统用于管理磁盘上的文件和存储,没有文件系统操作系统无法组织文件。
- 新的磁盘或存储设备(如USB驱动器)需要先格式化添加文件系统才能使用。
常见文件系统及兼容性
- Windows推荐使用NTFS文件系统,Linux推荐使用ext4文件系统。
- 不同文件系统对操作系统的支持不同,NTFS在Windows和Linux都能读写,ext4主要支持Linux,Windows不支持。
跨操作系统文件共享的解决方案
- 为了在Windows、Linux和MacOS之间共享文件,通常需要格式化为兼容所有系统的文件系统。
- FAT32文件系统支持三大操作系统的读写,但有文件大小(最大4GB)和分区大小(最大32GB)的限制。
磁盘分区与文件系统
- 磁盘可以划分为多个分区,每个分区可以单独管理,给人一种物理上分割成多个磁盘的感觉。
- 在分区上格式化文件系统后,该分区就成为一个卷(volume),卷和分区的概念不同。
分区表及其类型
- 分区表记录磁盘的分区信息,包括启动分区、分区大小等。
- 主要有两种分区表方案:MBR(主引导记录)和GPT(GUID分区表)。MBR支持最大2TB卷和最多4个主分区,GPT支持更大容量和无限数量分区。
操作系统与分区的关系
- 多分区可以支持多操作系统共存,如Windows和Linux,启动时选择系统。
- 新的UEFI启动标准要求磁盘使用GPT分区表。
命令行工具diskpart
- 通过命令行启动diskpart,列出磁盘,选择目标磁盘并清理。 创建主分区,设置为活动分区,使用NTFS文件系统快速格式化并命名卷标。
- 命令行方式适合自动化磁盘管理任务。
簇大小的重要性
- 簇是磁盘上最小的存储单位,文件占用的空间按簇大小计算,实际文件大小不足一个簇时也会占用整个簇空间。
- 选择合适的簇大小可以减少存储空间浪费,默认簇大小可能导致空间利用率降低。
使用注意事项
- DiskPart操作具有永久性,误操作可能导致数据丢失,因此使用时需谨慎。
Linux磁盘分区工具parted
- parted支持MBR和GPT两种分区表格式,可以通过交互模式或命令行模式使用。
- 使用命令sudo parted -l可以列出当前连接的磁盘及其分区信息。
使用parted进行磁盘分区
- 进入交互模式后,使用mklabel命令设置磁盘分区表类型(如GPT)。
- 使用mkpart命令创建分区,指定分区类型、文件系统类型、起始和结束位置。
格式化和挂载分区
- 使用mkfs命令格式化新建的分区(如格式化为ext4文件系统)。
- 格式化后需要将分区挂载到目录,才能在Linux系统中读写文件。
注意事项
- 操作分区时需谨慎,避免误操作导致数据丢失。
- 数据大小单位区分(如KiB和KB,kilo byes 是 1000 bytes)很重要,确保精确分配存储空间。
挂载文件系统
- 不能直接进入磁盘设备路径(如 /dev/sdb),因为它不是目录,需要先创建一个目录作为挂载点。
- 使用命令 sudo mount /dev/sdb1 /myusb 将磁盘分区挂载到该目录,从而可以读写文件系统。
卸载文件系统
- 使用命令 sudo umount /myusb 或 sudo umount /dev/sdb1 来卸载文件系统。
- 卸载操作在拔出设备前非常重要,避免文件系统错误。
自动挂载与永久挂载
- 大多数操作系统会自动挂载插入的设备,但手动挂载的磁盘在关机后挂载点会消失。
- 通过编辑 /etc/fstab 文件,可以设置开机自动挂载,需使用设备的 UUID(通过 sudo blkid 命令获取)来配置。

虚拟内存的基本概念
- 虚拟内存通过将虚拟地址映射到物理内存地址,使程序无需关心内存的具体使用情况,简化了内存访问。
- 它允许计算机使用比实际物理内存更多的内存,通过将不常用的数据页从RAM移到硬盘上的交换空间来实现。
Windows中的虚拟内存管理
-
Windows使用内存管理程序负责虚拟内存的映射和分页操作。
-
被换出的内存页存储在系统根分区的隐藏文件pagefile.sys中,Windows自动管理该文件。 用户对分页文件的控制
-
用户可以通过控制面板的系统属性调整分页文件的大小、数量和位置。
-
Windows通常自动管理分页文件大小,除非有特殊需求,否则建议保持默认设置。
交换空间的创建与启用交换空间的创建与启用
- 交换空间是硬盘上专门用于虚拟内存的区域,通常通过磁盘分区工具创建。
- 交换空间不是文件系统,因此需要使用特定命令(make swap)来标记分区为交换空间。
具体操作步骤
- 使用 parted 工具选择目标设备(如 /dev/sdb),创建一个主分区并指定类型为 linux-swap。
- 使用 make swap 命令格式化该分区为交换空间。
- 使用 swapon 命令启用该交换分区,使系统开始使用它。
自动挂载交换空间
-
为了在每次启动时自动启用交换空间,需要在 /etc/fstab 文件中添加相应的交换分区条目。
-
交换空间是硬盘上专门用于虚拟内存的区域,通常通过磁盘分区工具创建。
-
交换空间不是文件系统,因此需要使用特定命令(make swap)来标记分区为交换空间。 more info about swap
文件数据与元数据管理
- 文件数据指的是文件的实际内容,如文本文件中的文字。
- 文件元数据包括文件所有者、权限、大小、硬盘位置等信息。
NTFS文件系统与主文件表(MFT)
- NTFS使用主文件表(MFT)来管理文件,每个文件至少有一个MFT条目。
- 文件的各种属性(如文件名、创建时间、只读状态等)都存储在MFT中。
快捷方式与链接
- Windows中的快捷方式是MFT中的一个文件,指向目标文件,但操作系统不会将其视为目标文件。
- 符号链接(Symbolic Link)是文件系统级别的链接,操作系统将其视为目标文件的替代品。
- 硬链接(Hard Link)通过指向目标文件的MFT记录号实现,即使目标文件名改变,硬链接仍然有效。 Master File Table Creating Symbolic Links Hard Links and Junctions
**Linux文件系统中Inode的作用以及软链接和硬链接的区别和使用方法。 ** Inode结构与文件管理
- Inode是文件系统中用于存储文件元数据的结构,类似于Windows NTFS中的MFT记录。
- Inode不存储文件数据和文件名,但包含文件的其他所有信息,Inode存储在Inode表中以管理文件。
软链接(符号链接)
- 软链接类似于Windows中的符号链接,通过文件名指向另一个文件,起到快捷方式的作用。
- 软链接可以跨文件系统,但如果目标文件被移动或删除,软链接会失效。
硬链接
- 硬链接直接指向文件的Inode,即文件在磁盘上的物理位置。
- 删除一个硬链接不会影响其他硬链接,只有当所有硬链接都被删除时,文件才会从系统中移除。
- 使用命令ln创建硬链接,ln -s创建软链接,硬链接不会占用额外空间,适合在不同位置引用同一文件。
硬链接计数与文件删除
- 使用ls -l命令查看文件时,第三个字段显示硬链接的数量。
- 硬链接数量为零时,文件才会被完全删除。
磁盘使用情况监控
- 可以通过计算机管理工具中的磁盘管理控制台查看磁盘分区的已用和可用空间。
- Windows还提供了命令行工具DU(disk usage),用于输出磁盘使用情况和文件数量,适合脚本自动化处理。
磁盘清理与维护
-
磁盘管理控制台中的“磁盘清理”按钮会启动clean manager.exe程序,自动删除临时文件、压缩旧文件、清理日志和清空回收站以释放空间。
-
磁盘碎片整理通过重新排列文件使其存储在相邻位置,减少机械硬盘读写头的移动,提高访问效率。 碎片整理与固态硬盘优化
-
机械硬盘通过碎片整理提升性能,而固态硬盘则使用TRIM命令回收未使用空间。
-
Windows系统会定期自动执行碎片整理任务,也可以手动启动磁盘碎片整理工具进行优化。
How to start Disk Cleanup by using the command line
查看磁盘使用情况的命令
- 使用du命令(disk usage)可以查看指定目录的磁盘使用情况,默认查看当前目录。
- 加上-h参数可以以人类可读的格式显示数据大小。
查看磁盘空闲空间的命令
- 使用df命令(disk free)可以查看整个系统的可用磁盘空间。
- 同样加上-h参数可以以人类可读的格式显示空闲空间。
关于文件系统和碎片整理
- Linux系统通常比Windows更好地避免磁盘碎片问题。
- 在磁盘空间不足时,需要调查哪些文件和文件夹占用了空间,删除时要非常小心。
USB设备安全弹出的重要性
- 数据写入时先存入内存缓冲区,未完成写入前强行拔出可能导致数据损坏。
- 除了拔出设备,断电、系统崩溃或软件错误也可能引起数据损坏。
NTFS文件系统的数据保护机制
- 通过日志记录(journaling)文件元数据的更改,帮助系统在崩溃后恢复文件系统一致性。
- 自愈功能自动修复轻微的磁盘错误,无需重启系统。
磁盘检查与修复工具
- Windows提供check disk工具,默认只读模式检测磁盘健康,使用/F参数可修复问题。
- 系统检测到严重错误时,会自动在启动时运行check disk进行修复。
Linux系统中如何手动修复文件系统以及相关的磁盘管理基础知识。
文件系统修复工具和注意事项
- 使用fsck命令可以手动检查和修复文件系统,但必须确保文件系统未被挂载,否则可能会损坏文件系统。
- 某些Linux版本会在启动时自动运行fsck来检查和修复文件系统问题。
磁盘管理基础知识回顾
- 课程涵盖了磁盘分区、文件系统格式化和挂载的基本操作。
- 了解如何修复损坏的文件系统对于IT支持角色非常重要,因为数据安全对用户至关重要。
IT支持中的磁盘和数据管理重要性
- 磁盘存储着用户的重要数据,如照片、演示文稿和音乐,保护这些数据是IT支持的关键职责。
- 掌握磁盘和文件系统的操作技能是IT支持人员必备的基础能力。
Linux文件系统和数据损坏
- Linux支持多种文件系统,如ext系列、JFS、XFS等,文件系统通过i-node存储文件的元数据和位置。
- 数据损坏的症状包括系统突然关机、程序崩溃、文件丢失或无法识别、硬盘异常声音等。
数据损坏的原因
- 软件错误,如病毒、恶意软件或杀毒软件扫描异常导致文件损坏。
- 硬件故障,尤其是机械硬盘的读写头损坏或坏道。
- 电力故障,写入数据时断电可能导致数据不完整。
fsck命令及其使用
- fsck是Linux中用于检查和修复文件系统一致性的工具,不能在已挂载的文件系统上运行。
- 常用参数包括-n(不修复)、-p(自动修复小错误)、-y(自动修复所有错误)、-f(强制检查)。
- fsck会检测块计数、i-node重叠、目录错误等多种文件系统问题,并提示用户是否修复。
数据修复的最佳实践
- 发现数据损坏后应立即关闭受影响硬盘,避免进一步写入。
- 可通过外部设备或网络启动系统,避免挂载损坏的文件系统。
- 在修复前禁用自动挂载,确保fsck能安全访问硬盘设备文件。
自动运行fsck
- Linux系统在启动时会根据文件系统状态自动运行fsck,例如文件系统标记为“脏”或多次挂载未检查时。
- 不同Linux发行版配置自动运行fsck的方法不同,常见做法是编辑启动脚本文件启用自动修复。

