看现有磁盘
# 块设备(最直观)
lsblk
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
# sda 8:0 0 30G 0 disk
# ├─sda1 8:1 0 29G 0 part /
# └─sda2 8:2 0 1G 0 part [SWAP]
# sdb 8:16 0 100G 0 disk ← 新盘
# 详细
sudo fdisk -l
sudo parted -l
MBR vs GPT
| 项 | MBR | GPT |
|---|---|---|
| 最大磁盘 | 2 TB | 9.4 ZB |
| 主分区数 | 4 | 128(默认) |
| 启动支持 | BIOS | UEFI |
| 现代用哪个 | 老硬件 | 新硬件首选 |
新机器 / 大于 2T 磁盘 → GPT。
fdisk:MBR 分区(也能处理 GPT)
sudo fdisk /dev/sdb
交互式菜单:
m帮助n新建分区d删分区p打印当前分区表t改分区类型w保存并退出q不保存退出
新建一个用整盘的分区:
n (新建)
p (主分区)
1 (分区号)
回车 (起始扇区,默认)
回车 (结束扇区,默认 = 整盘)
w (保存)
parted:GPT 分区(更现代)
sudo parted /dev/sdb
(parted) mklabel gpt # 建分区表
(parted) mkpart primary ext4 0% 100% # 整盘一个分区
(parted) print
(parted) quit
或一行命令:
sudo parted /dev/sdb --script mklabel gpt mkpart primary ext4 0% 100%
整个流程:加新盘 → 能用
# 1. 看到新盘 /dev/sdb(100 GB)
sudo lsblk
# 2. 分区
sudo parted /dev/sdb --script mklabel gpt mkpart primary ext4 0% 100%
# 3. 看新分区
sudo lsblk
# sdb 8:16 0 100G 0 disk
# └─sdb1 8:17 0 100G 0 part ← 出现了
# 4. 格式化(建文件系统)
sudo mkfs.ext4 /dev/sdb1
# 5. 挂载到目录
sudo mkdir /data
sudo mount /dev/sdb1 /data
# 6. 验证
df -h | grep /data
# 7. 开机自动挂(下篇详解)
sudo blkid /dev/sdb1 # 拿到 UUID
echo "UUID=xxx /data ext4 defaults 0 2" | sudo tee -a /etc/fstab
注意事项
⚠ 分区操作是破坏性的——fdisk / parted 都会直接覆写分区表。误操作 = 数据丢失。
- 操作前
lsblk确认目标是新盘(不是 / 所在的盘) - 重要数据先备份
- 测试机器先练,生产再用
- 云上轻量服务器通常只能用云控制台扩盘,本地 fdisk 看不到效果
看分区类型
fdisk -l 输出里:
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 209715199 209713152 100G 83 Linux
/dev/sda2 209715200 209917951 202752 99M 6 FAT16
83Linux82Linux swapEFEFI System8ELVM
下一篇:分区有了 → 文件系统挂载。