Ubuntu From Scratch 硬盘分区与格式化全流程
前置说明与准备
- 本流程适用于在 Ubuntu From Scratch(LFS) 环境中,使用命令行对整块磁盘进行分区、格式化与挂载。操作会清空目标磁盘数据,务必先确认设备名并备份重要数据。
- 常用确认命令:
- 查看块设备与挂载点:lsblk
- 查看磁盘与分区表:sudo fdisk -l
- 目标设备名通常为 /dev/sdX(如:/dev/sda、/dev/sdb),分区为 /dev/sdX1、/dev/sdX2。请谨慎确认,避免误写系统盘。
方案一 使用 fdisk 对 MBR 磁盘分区并格式化(≤2TB 常用)
- 步骤概览:
- 确认磁盘:例如确认为 /dev/sdb
- 进入分区工具:sudo fdisk /dev/sdb
- 在 fdisk 交互中:
- 新建分区:输入 n → 选择 p(主分区)或 e(扩展分区)→ 回车使用默认分区号与起止扇区(整盘可用则全程回车)
- 写入分区表:输入 w
- 格式化分区(以 ext4 为例):sudo mkfs.ext4 /dev/sdb1
- 挂载使用:
- 创建挂载点:sudo mkdir -p /mnt/data
- 挂载:sudo mount /dev/sdb1 /mnt/data
- 验证:df -h
- 可选 开机自动挂载:
- 获取 UUID:blkid
- 编辑 /etc/fstab,在末尾添加(将 UUID 与挂载点替换为你的实际值):
- UUID=xxxx-xxxx-xxxx /mnt/data ext4 defaults 0 2
- 测试:sudo mount -a(无报错说明配置正确)
方案二 使用 parted 对 GPT 磁盘分区并格式化(>2TB 推荐)
- 步骤概览:
- 确认磁盘:例如 /dev/sdb
- 启动 parted:sudo parted /dev/sdb
- 在 parted 交互中:
- 新建 GPT 分区表:mklabel gpt
- 创建分区(示例:从 1MiB 到 100GiB):mkpart primary ext4 1MiB 100GiB
- 查看并退出:print → quit
- 格式化分区(以 ext4 为例):sudo mkfs.ext4 /dev/sdb1
- 挂载使用:
- 创建挂载点:sudo mkdir -p /mnt/data
- 挂载:sudo mount /dev/sdb1 /mnt/data
- 验证:df -h
- 可选 开机自动挂载(推荐用 UUID):
- 获取 UUID:blkid
- 编辑 /etc/fstab:UUID=xxxx-xxxx-xxxx /mnt/data ext4 defaults 0 2
- 测试:sudo mount -a
- 如需使用 XFS(适合大文件/高性能场景):
- 安装工具:sudo apt-get install xfsprogs
- 格式化:sudo mkfs.xfs -f /dev/sdb1
- fstab 示例:UUID=xxxx-xxxx-xxxx /mnt/data xfs defaults 0 1
常用文件系统与选择建议
- ext4:Linux 主流文件系统,稳定性与兼容性佳,适合系统盘与通用数据盘。
- XFS:适合大文件、高吞吐场景(如视频/日志/数据库数据),需安装 xfsprogs。
- NTFS:Windows 常用,Linux 可读写但权限支持有限,适合与 Windows 共享数据盘。
- exFAT:跨平台(Windows/macOS)友好,支持大文件,但不支持 Linux 权限,适合移动介质与跨平台交换。
安全与排错要点
- 操作前务必确认目标磁盘(如 /dev/sdb),避免误写系统盘(如 /dev/sda)。
- 修改 /etc/fstab 前先备份,并使用 sudo mount -a 测试;错误的 fstab 可能导致系统无法启动。
- 使用 parted 的 mklabel gpt 会清空磁盘分区表,请确认后再执行。
- 若需创建交换分区:先分区(类型设为 Linux swap 82),再执行 mkswap /dev/sdXN 并使用 swapon /dev/sdXN 启用;如需开机启用,在 /etc/fstab 添加:/dev/sdXN none swap sw 0 0。