Skip to content
Gains Summary
Main Navigation 首页 / Home
C++ 编程 / C++ Programming
系统与高性能 / Systems & Performance
Web 开发 / Web Development
人工智能 / Artificial Intelligence
工业软件 / Industrial Software
其他内容 / Other Topics
C++ 编程 / C++系统与性能 / SystemsWeb 开发 / Web人工智能 / AI工业软件 / Industrial

外观

Sidebar Navigation

← 系统与高性能 / Systems & Performance

操作系统 / Operating Systems

1. OS 底层知识学习路线 / A Learning Path for Operating System Internals

2. 存储硬件基础 — 磁盘到底怎么存数据 / Storage Hardware Fundamentals: How Disks Store Data

3. BIOS vs UEFI — 固件的本质 / BIOS and UEFI: Understanding Firmware

4. 磁盘分区表 — GPT 与 MBR / Disk Partition Tables: GPT and MBR

5. 文件系统核心概念 — inode、journal、COW / Filesystem Concepts: Inodes, Journaling, and Copy-on-Write

6. 常见文件系统格式详解 — FAT 到 ZFS 的进化史 / Filesystem Formats from FAT to ZFS

7. Linux 启动全流程 — 从通电到登录提示符 / The Linux Boot Process from Power-On to Login

8. Windows 启动全流程 — 与 Linux 的对比视角 / The Windows Boot Process in Comparison with Linux

9. Linux 文件系统层次结构 (FHS) — 目录树的哲学 / The Linux Filesystem Hierarchy Standard

10. Linux 挂载机制 — mount、VFS 与 fstab / Linux Mounting with Mount, VFS, and Fstab

11. Linux 磁盘管理实战 — 从分区到挂载全流程 / Practical Linux Disk Management from Partitioning to Mounting

12. Windows 磁盘与文件系统 — 盘符帝国的秩序 / Windows Disks and Filesystems

13. ext4 深入 — 从超级块到 Extent Tree / Ext4 in Depth from Superblocks to Extent Trees

14. btrfs 深入 — B-tree 是万能的 / Btrfs in Depth and Its B-Tree Architecture

15. 双系统 — EFI 分区共存与 GRUB chainload / Dual Boot with Shared EFI Partitions and GRUB Chainloading

本页目录

Linux 磁盘管理实战 — 从分区到挂载全流程 / Practical Linux Disk Management from Partitioning to Mounting ​

📅 创建时间:2026-06-17 🏷️ 标签:#Linux #磁盘管理 #fdisk #mkfs #实战 📚 前置知识:[[03-partition-table]], [[09-linux-mount]], [[08-linux-fhs]]


📋 本章目标 ​

  • 完整演练:从一块空磁盘到可读写文件的全流程
  • 掌握 lsblk — 查看磁盘拓扑
  • 掌握 fdisk / gdisk — 创建 GPT/MBR 分区
  • 掌握 mkfs — 格式化分区为各种文件系统
  • 掌握 mount / umount — 挂载与卸载
  • 掌握 blkid — 查看 UUID 和文件系统类型
  • 掌握 /etc/fstab 编写 —— 实现开机自动挂载
  • 理解 df / du — 检查磁盘使用量
  • 掌握 wipefs — 清除旧文件系统签名
  • 学会常见错误的排查

第1部分:快速演练 — 完整流程速览 ​

┌─────────────────────────────────────────────────────────────┐
│              从空磁盘到可读写 — 五个步骤                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  Step 1: 查看                                                │
│  $ lsblk                 ← 看磁盘叫什么名字                   │
│  $ sudo fdisk -l         ← 看分区表情况                      │
│                                                             │
│  Step 2: 分区                                                │
│  $ sudo fdisk /dev/sdb   ← 创建 GPT 分区表 + 分区             │
│                                                             │
│  Step 3: 格式化                                              │
│  $ sudo mkfs.ext4 /dev/sdb1   ← 格式化为 ext4                │
│  或                                                         │
│  $ sudo mkfs.btrfs /dev/sdb1   ← 格式化为 btrfs              │
│  或                                                         │
│  $ sudo mkfs.vfat -F32 /dev/sdb1  ← 格式化为 FAT32          │
│                                                             │
│  Step 4: 挂载                                                │
│  $ sudo mkdir -p /mnt/data                                   │
│  $ sudo mount /dev/sdb1 /mnt/data                           │
│                                                             │
│  Step 5: 写入 fstab (可选,实现开机自动挂载)                   │
│  $ sudo blkid /dev/sdb1      ← 获取 UUID                    │
│  $ sudo vim /etc/fstab       ← 添加一行                     │
│  UUID=xxx-xxx /mnt/data ext4 defaults 0 2                   │
│                                                             │
│  Step 6: 验证                                                │
│  $ df -h                   ← 检查是否挂载成功                │
│  $ mount | grep sdb1       ← 另一种方式检查                  │
│  $ echo "test" | sudo tee /mnt/data/test.txt  ← 写文件测试   │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

第2部分:lsblk — 看懂磁盘拓扑 ​

2.1 lsblk 输出逐字段解释 ​

┌─────────────────────────────────────────────────────────────┐
│              lsblk 输出逐列解读                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  $ lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINTS,FSTYPE│
│                                                             │
│  NAME        设备名                            │
│  ┌─────────────────────────────────────┐      │
│  │ nvme0n1   nvme = NVMe 协议          │      │
│  │           0    = 控制器编号          │      │
│  │           n1   = namespace 1        │      │
│  │                                     │      │
│  │ sda       sd = SCSI/SATA 设备        │      │
│  │           a  = 第一块               │      │
│  │                                     │      │
│  │ mmcblk0   mmcblk = eMMC/SD 卡       │      │
│  │           0      = 第一块           │      │
│  └─────────────────────────────────────┘      │
│                                                             │
│  MAJ:MIN    设备号 (major=驱动类型, minor=具体设备)           │
│             259:0 → NVMe 驱动, 设备 0                       │
│             8:0   → SCSI 块设备驱动, 设备 0                  │
│                                                             │
│  RM         可移动标志 (Removable)                           │
│             0 = 内置磁盘 (不可移除)                           │
│             1 = U 盘 / 外置硬盘 (可移除)                     │
│                                                             │
│  SIZE       容量 (人类可读)                                  │
│             K=KB, M=MB, G=GB, T=TB                         │
│                                                             │
│  RO         只读标志                                         │
│             0 = 可读写                                       │
│             1 = 只读 (SD 卡的写保护锁 / 故障磁盘)            │
│                                                             │
│  TYPE       类型                                             │
│             disk = 物理磁盘                                  │
│             part = 分区                                      │
│             rom  = 光盘                                     │
│             loop = loop 设备 (回环设备, 如挂载 ISO)          │
│                                                             │
│  FSTYPE     文件系统类型 (需 root 或用 -f 参数)               │
│             ext4, btrfs, vfat, ntfs, swap, crypto_LUKS...  │
│                                                             │
│  MOUNTPOINTS  挂载点                                         │
│             /boot, /, /home, [SWAP]                        │
│                                                             │
│  实用选项:                                                  │
│  lsblk -f        显示文件系统信息 (包括 UUID)                  │
│  lsblk -o +UUID  追加 UUID 列                               │
│  lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,UUID            │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

第3部分:fdisk — 分区操作详解 ​

3.1 fdisk 交互式操作录播 ​

┌─────────────────────────────────────────────────────────────┐
│              fdisk 创建 GPT 分区的完整对话                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  $ sudo fdisk /dev/sdb                                      │
│                                                             │
│  进入 fdisk 后只需记住 6 个命令:                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ g    创建 GPT 分区表 (或 o 创建 MBR)                  │   │
│  │ n    新分区                                          │   │
│  │ d    删除分区                                        │   │
│  │ p    打印当前分区表                                  │   │
│  │ t    修改分区类型                                    │   │
│  │ w    写入并退出 (q = 放弃修改退出)                    │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  实际操作:                                                  │
│  Command (m for help): g          ← 创建 GPT 分区表          │
│  Created a new GPT disklabel.                              │
│                                                             │
│  Command: n                       ← 创建第一个分区           │
│  Partition number (1-128): 1      ← 分区号 1                │
│  First sector (2048-xxx): 2048    ← 按回车, 用默认 2048      │
│  Last sector: +512M               ← 512MB 大小 (ESP 分区)    │
│  Created a new partition 1 of type 'Linux filesystem'.     │
│                                                             │
│  Command: t                       ← 修改分区类型             │
│  Partition type: 1                ← 选分区 1                │
│  Type: uefi                      ← 设为 EFI System          │
│  (或输入类型编号: GPT 下是序号, MBR 下是十六进制代码)          │
│                                                             │
│  Command: n                       ← 创建第二个分区           │
│  Partition number: 2                                       │
│  First sector: <default>          ← 按回车                  │
│  Last sector: <default>           ← 剩余全部空间             │
│                                                             │
│  Command: p                       ← 检查一下                │
│  Number  Start    End      Size    Type                      │
│  1       2048     xxxxx    512M    EFI System               │
│  2       xxxxx    yyyyy     xxxG    Linux filesystem         │
│                                                             │
│  Command: w                       ← 写入分区表!              │
│  The partition table has been altered.                      │
│                                                             │
│  关键认知:                                                  │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ 在按 w 之前, 所有操作只影响内存中的分区表副本           │   │
│  │ 如果搞错了 → 按 q 退出, 磁盘上的分区表不变              │   │
│  │ w 写入后, 旧的 MBR/GPT 被覆盖 → 数据没丢, 但分区记录改了 │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  分区类型对照 (常见):                                        │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ fdisk 内代码   MBR 类型号   含义                      │   │
│  │ uefi           (GPT专有)    EFI System Partition     │   │
│  │ linux          (GPT专有)    Linux filesystem         │   │
│  │ swap           (GPT专有)    Linux swap               │   │
│  │ windows        (GPT专有)    Microsoft basic data      │   │
│  │                                      │   │
│  │ MBR: 83=Linux  82=swap  7=NTFS  0C=FAT32(LBA)      │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

3.2 非交互式分区 — 脚本化 ​

bash
# 用 parted 实现非交互分区
sudo parted /dev/sdb --script \
    mklabel gpt \
    mkpart ESP fat32 1MiB 513MiB \
    set 1 esp on \
    mkpart root btrfs 513MiB 100%

# 用 sfdisk 转储和恢复分区表
sudo sfdisk -d /dev/nvme0n1 > partition-backup.txt  # 备份
sudo sfdisk /dev/sdb < partition-backup.txt           # 恢复到另一块盘
1
2
3
4
5
6
7
8
9
10

第4部分:mkfs — 创建文件系统 ​

4.1 格式化命令速查 ​

┌─────────────────────────────────────────────────────────────┐
│              mkfs 命令族一览                                 │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  # Ext4 — Linux 最稳的选择                                   │
│  sudo mkfs.ext4 /dev/sdb1                                   │
│  # 常用选项: -L "标签名"  -m 0 (不给 root 预留 5% 空间)      │
│                                                             │
│  # Btrfs — 新一代 COW 文件系统                               │
│  sudo mkfs.btrfs /dev/sdb1                                  │
│  # 常用选项: -L "标签名"  -f (强制, 覆盖已有文件系统)         │
│                                                             │
│  # FAT32 — ESP / 跨平台兼容                                  │
│  sudo mkfs.vfat -F32 /dev/sdb1                              │
│  # -F32 = FAT32  -F16 = FAT16  -F12 = FAT12                │
│                                                             │
│  # exFAT — U 盘 / 大文件跨平台                                │
│  sudo mkfs.exfat /dev/sdb1                                  │
│                                                             │
│  # NTFS — 与 Windows 共享数据分区                            │
│  sudo mkfs.ntfs /dev/sdb1                                   │
│  # 或 sudo mkntfs /dev/sdb1                                 │
│                                                             │
│  # Swap — 交换空间                                          │
│  sudo mkswap /dev/sdb2                                      │
│  sudo swapon /dev/sdb2                                      │
│                                                             │
│  ⚠️ mkfs 会删除分区上的所有数据!                             │
│  格式化前请确保分区是正确的!                                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

4.2 wipefs — 清除旧的脏东西 ​

┌─────────────────────────────────────────────────────────────┐
│              wipefs — 为什么有时候 mkfs 报错                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  场景: 你删了旧分区, 建了新分区, 然后 mkfs 报错:              │
│  "Device contains existing filesystem signature"            │
│                                                             │
│  原因: 分区表被改了, 但超级块/魔数还在磁盘上!                  │
│                                                             │
│  解决:                                                      │
│  $ sudo wipefs -a /dev/sdb1    ← 清除所有签名                │
│  $ sudo mkfs.ext4 /dev/sdb1   ← 现在可以格式化了             │
│                                                             │
│  查看有什么签名:                                            │
│  $ sudo wipefs /dev/sdb1      ← 不加 -a, 只查看不删除        │
│                                                             │
│  为什么会出现这种情况:                                       │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ 旧分区: LBA 2048 ~ LBA 1000000 → ext4 超级块在 LBA 2048│   │
│  │ 新分区: LBA 4098 ~ LBA 1000000 → 起点偏移了!         │   │
│  │ mkfs 在 LBA 4098 写入新超级块                         │   │
│  │ 但 LBA 2048 还有旧超级块 → mkfs 检测到冲突 → 报错     │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

第5部分:挂载与验证 ​

5.1 df 查看已挂载的文件系统 ​

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p3  460G   86G  374G  19% /
/dev/nvme0n1p1  511M   78M  433M  16% /boot

# df 是日常最常用的磁盘工具
# -h = 人类可读 (K/M/G/T)
# -i = 显示 inode 使用情况 (df -i)
# -T = 显示文件系统类型 (df -T)
1
2
3
4
5
6
7
8
9

5.2 du 查看目录占用 ​

# 查看当前目录大小
$ du -sh .
# 哪个子目录最占空间?
$ du -sh * | sort -h | tail -5

# du 和 df 的差异:
# ┌─────────────────────────────────────────────────────┐
# │ du = 遍历目录树, 统计文件占用的数据块                 │
# │ df = 查询超级块, 看文件系统级别的空间统计             │
# │                                                     │
# │ 为什么两者可能不一致?                                │
# │ 1. 文件被删除但进程还持有句柄 → df 显示占用, du 看不到│
# │ 2. 文件系统元数据 (inode/超级块) 占的空间 → du 不算   │
# │ 3. btrfs COW 快照 → 旧版本数据 df 算, du 不重复算    │
# └─────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

5.3 mount 的常见错误 ​

┌─────────────────────────────────────────────────────────────┐
│              mount 报错排查                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  "mount: /mnt/data: unknown filesystem type 'xxx'"          │
│  → 内核没有这个文件系统的驱动                                 │
│  → 安装相应的包: sudo pacman -S ntfs-3g (NTFS)              │
│                                                             │
│  "mount: /mnt/data: wrong fs type, bad option..."           │
│  → 1. 文件系统类型指定错了                                   │
│  → 2. 挂载选项不兼容 (如对 ext4 用了 compress)                │
│  → 用 blkid 确认实际文件系统类型                              │
│                                                             │
│  "mount: /mnt/data: mount point does not exist"             │
│  → 挂载点目录不存在: mkdir -p /mnt/data                     │
│                                                             │
│  "mount: /mnt/data: special device /dev/sdb1 does not exist"│
│  → 设备文件不存在: lsblk 确认设备名                           │
│                                                             │
│  "mount: /mnt/data: /dev/sdb1 already mounted"              │
│  → 已经挂载了: mount | grep sdb1 检查                        │
│                                                             │
│  "target is busy" (umount 报错)                              │
│  → 有进程在使用这个目录 (cd 进去了 / 有文件打开)               │
│  → lsof | grep /mnt/data → 找到并结束进程 → umount           │
│  → 或 umount -l /mnt/data (lazy, 等没人用了再卸)             │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

第6部分:完整实战流程 — Arch 安装的磁盘部分回放 ​

┌─────────────────────────────────────────────────────────────┐
│              Arch 安装时的磁盘操作完整回放                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  你可以把这当作 Arch 安装的磁盘部分"演练脚本"                  │
│                                                             │
│  # 1. 查看磁盘                                              │
│  lsblk                                                      │
│  # 找到你的 NVMe SSD: nvme0n1                                │
│                                                             │
│  # 2. 创建分区表 + 分区                                      │
│  sudo fdisk /dev/nvme0n1                                    │
│  # g (GPT)                                                  │
│  # n → 1 → 2048 → +512M  → t → 1 → uefi (ESP)              │
│  # n → 2 → Enter → +16G   → t → 2 → swap (交换空间)         │
│  # n → 3 → Enter → Enter  → 剩余全部 (根分区)               │
│  # w                                                        │
│                                                             │
│  # 3. 验证分区                                              │
│  lsblk /dev/nvme0n1                                         │
│  # nvme0n1p1 (512M)  nvme0n1p2 (16G)  nvme0n1p3 (剩余)     │
│                                                             │
│  # 4. 格式化                                                │
│  sudo mkfs.vfat -F32 /dev/nvme0n1p1       # ESP: FAT32     │
│  sudo mkswap /dev/nvme0n1p2               # Swap            │
│  sudo mkfs.btrfs /dev/nvme0n1p3           # 根: btrfs       │
│                                                             │
│  # 5. 创建 btrfs subvolume (可选, 你实际做了)                │
│  sudo mount /dev/nvme0n1p3 /mnt                             │
│  sudo btrfs subvolume create /mnt/@                        │
│  sudo btrfs subvolume create /mnt/@home                    │
│  sudo umount /mnt                                          │
│                                                             │
│  # 6. 挂载                                                  │
│  sudo mount -o subvol=@ /dev/nvme0n1p3 /mnt                │
│  sudo mkdir -p /mnt/{boot,home}                            │
│  sudo mount /dev/nvme0n1p1 /mnt/boot                       │
│  sudo mount -o subvol=@home /dev/nvme0n1p3 /mnt/home       │
│  sudo swapon /dev/nvme0n1p2                                │
│                                                             │
│  # 7. 生成 fstab (由 arch-install-scripts 自动)              │
│  genfstab -U /mnt >> /mnt/etc/fstab                        │
│  # -U = 用 UUID 而不是设备名                                │
│                                                             │
│  # 8. 检查 fstab                                            │
│  cat /mnt/etc/fstab                                        │
│  # 确认每行的 UUID 和挂载点都正确                            │
│                                                             │
│  至此磁盘操作完成, 可以继续 arch-chroot 安装系统了             │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

核心总结 ​

总结1:五个命令的职责分工 ​

lsblk  → 看磁盘有什么 (只读, 安全)
fdisk  → 告诉磁盘怎么切 (改分区表, 不丢数据)
mkfs   → 在分区里建文件系统 (会格式化, 丢数据!)
mount  → 让文件系统可用 (嫁接, 不修改数据)
fstab  → 让 mount 在开机时自动执行
1
2
3
4
5

总结2:fdisk 六个关键命令 ​

g → GPT   n → 新分区   d → 删分区
p → 查看   t → 改类型   w → 写入
q → 放弃退出 (没按 w 之前都不怕)
1
2
3

总结3:Arch 安装的挂载顺序 ​

必须先挂 / → 才能挂 /boot, /home (它们在 / 的目录树下)
genfstab -U 自动生成 fstab → UUID 稳定不怕设备名变化
1
2

章节测试 ​

测试1:查看磁盘 ​

你的系统中有一个 1TB HDD 和一个 512GB NVMe SSD。运行 lsblk,你预期看到几个 TYPE="disk" 的条目?

测试2:fdisk 安全 ​

在 fdisk 中做了错误的分区操作但还没按 w。你应该按什么键退出?磁盘上的数据会受影响吗?

测试3:mkfs vs wipefs ​

你删了旧分区、建了新分区,但 mkfs.ext4 报错 "existing filesystem"。原因是什么?怎么解决?

测试4:fstab 验证 ​

你编辑好了 /etc/fstab,在重启之前如何验证配置是否正确?

测试5:du vs df ​

df -h 显示 100G 占用,du -sh / 显示 95G。5GB 的差距可能来自哪里?


参考答案 ​

测试1答案 ​

至少 2 个。加上可能的 U 盘、loop 设备(如 snap/flatpak 镜像),实际会更多。lsblk -d 只显示 disk 类型,过滤掉分区。

测试2答案 ​

按 q(quit without saving)。所有操作只影响了内存中的分区表副本,磁盘上的数据完全不受影响。只有按 w 才会实际写入分区表到磁盘。

测试3答案 ​

旧分区的文件系统超级块/魔数仍在磁盘上。虽然分区表被更新了,但磁盘 LBA 上仍然残留旧文件系统的签名。解决:sudo wipefs -a /dev/sdb1 清除所有签名,然后 mkfs。

测试4答案 ​

sudo mount -a 会读取 /etc/fstab 并尝试挂载所有未挂载的条目。如果 mount -a 成功且 df -h 显示预期结果,fstab 配置正确。如果有错误,会在终端直接显示。注意:已挂载的不会重复挂载(除非显式 remount)。

测试5答案 ​

可能原因:1) 被删除但进程仍持有句柄的大文件(lsof +L1 查找),2) 文件系统元数据(inode/超级块/bitmap)占用的空间 du 不计算,3) btrfs COW 快照占用的空间 du 看不到,4) du 权限不够跳过了部分目录。


相关笔记 ​

  • [[03-partition-table]] - fdisk 创建的 GPT 底层结构
  • [[04-filesystem-concepts]] - mkfs 创建的文件系统内部结构
  • [[09-linux-mount]] - mount 和 fstab 的完整原理
  • [[13-btrfs-deep-dive]] - subvolume 和快照操作

下一步学习 ​

  • [ ] 阅读 11 - Windows 磁盘与文件系统

学习状态:🟡 开始学习

最后更新于:

Pager
上一篇10. Linux 挂载机制 — mount、VFS 与 fstab / Linux Mounting with Mount, VFS, and Fstab
下一篇12. Windows 磁盘与文件系统 — 盘符帝国的秩序 / Windows Disks and Filesystems

持续记录,持续成长

Copyright © Tidenflow