MBR vs GPT
| 项 | MBR | GPT |
|---|---|---|
| 最大磁盘 | 2 TB | 9.4 ZB |
| 主分区数 | 4 | 128 |
| 启动 | BIOS | UEFI |
| 用哪个 | 老硬件 | 新硬件首选 |
新机器 / > 2T 用 GPT。
⚠ 危险操作
分区会覆写分区表——误操作 = 数据全丢。先 lsblk 确认目标盘。
fdisk:交互式
sudo fdisk -l # 看所有盘
sudo fdisk /dev/sdb # 进入交互
菜单:
| 按 | 作用 |
|---|---|
m |
帮助 |
n |
新分区 |
d |
删分区 |
p |
打印当前 |
t |
改类型 |
g |
转 GPT |
o |
转 MBR |
w |
保存退出 |
q |
不保存退出 |
建一个分区
n 新建
p 主分区
1 分区号
回车 起始扇区(默认)
回车 结束扇区(默认 = 整盘)
w 保存
parted:现代,GPT 友好
sudo parted -l # 看所有盘
sudo parted /dev/sdb # 进入交互
或一行:
sudo parted /dev/sdb --script mklabel gpt mkpart primary ext4 0% 100%
命令
(parted) mklabel gpt # 建 GPT 分区表
(parted) mklabel msdos # 建 MBR
(parted) mkpart primary ext4 0% 50% # 第一分区占前半
(parted) mkpart primary xfs 50% 100% # 第二分区占后半
(parted) print # 看当前
(parted) rm 1 # 删第 1 个分区
(parted) name 1 mydata # 给分区起名(GPT 支持)
(parted) quit
完整:加新盘到能用
# 1. 确认目标
lsblk
# /dev/sdb 100G 全新盘
# 2. 分区
sudo parted /dev/sdb --script mklabel gpt mkpart primary ext4 0% 100%
# 3. 格式化
sudo mkfs.ext4 /dev/sdb1
# 4. 挂载
sudo mkdir /data
sudo mount /dev/sdb1 /data
# 5. fstab 持久化
sudo blkid /dev/sdb1 # 拿 UUID
echo "UUID=xxx /data ext4 defaults 0 2" | sudo tee -a /etc/fstab
sudo mount -a && echo $? # 测试,0 才安全重启
看分区表类型
sudo parted /dev/sda print | head
# Partition Table: gpt 或 msdos
坑
- 写错盘 = 数据丢失——
fdisk /dev/sdb还是/dev/sda,看清楚 parted改了立即生效(fdisk 是w才生效)—— parted 更危险- 云上轻量服务器通常没法 fdisk——扩盘要用云控制台 +
growpart - 重启前必须测试 fstab——见
linux/39-filesystem-mgmt