fdisk不适用于2tb以上硬盘或gpt场景,因其仅支持mbr分区表,最大寻址2.2tb;强行使用会导致数据丢失或无法写入,应改用gdisk或parted工具。

fdisk 不适合新硬盘超过 2TB 或需要 GPT 分区的场景,强行用它会丢数据或根本写不进去。
fdisk -l 看不清新硬盘?先确认设备名是否真实存在
运行 fdisk -l 却没看到你刚挂载的云盘(比如 /dev/vdb)或新 SSD,不是命令失效,而是系统压根没识别到设备。
- 先执行
lsblk—— 它比fdisk -l更轻量、更实时,能列出所有块设备,包括未分区的裸盘 - 再查内核日志:
dmesg | grep -i "sd\|vd\|nvme",看有没有类似sdX: unknown partition table或attached to scsi generic sgY的提示 - 如果
lsblk里有vdb但fdisk -l没列出来,大概率是该设备没有 MBR/GPT 标签,fdisk默认跳过“无分区表”的盘;此时直接sudo fdisk /dev/vdb就能进交互模式操作
n 创建主分区时,起始扇区别乱改
新手常手动输入起始扇区(比如填 1 或 63),结果导致对齐失败,I/O 性能掉一半,尤其在 SSD 或 RAID 上更明显。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 默认回车让
fdisk自动选起始扇区(通常是2048),这是 1MB 对齐起点,兼容绝大多数物理扇区大小(512B / 4K) - 如果手输起始值,必须是 2048 的整数倍;否则
fdisk会警告Warning: The resulting partition is not properly aligned - 扩展分区(
e)不能格式化,也不能挂载;它只是个容器,里面必须建逻辑分区(l类型)才能用
w 写入前必须确认分区类型和文件系统匹配
w 一按,MBR 就刷进磁盘,没有撤销。但很多人忘了:分区类型(Id)和后续格式化用的文件系统要逻辑自洽。
- 普通数据盘:用
t把分区类型设为83(Linux),再mkfs.ext4 /dev/sdb1 - LVM 物理卷:类型必须是
8e(Linux LVM),之后才能pvcreate /dev/sdb1 - EFI 系统分区:
fdisk不支持 GPT,别硬凑;换gdisk,类型代码是EF00 - 误设成
82(Linux swap)却去mkfs格式化?mkswap才是正解,否则文件系统层直接报错
分区完不格式化就挂载?mount 会报错 “wrong fs type”
分区只是划出一块逻辑区域,不等于有了可用文件系统。常见错误是跳过格式化,直接 mount /dev/sdb1 /mnt,然后卡在 mount: /mnt: wrong fs type, bad option, bad superblock。
- 确认分区已存在:
ls /dev/sdb*应该能看到/dev/sdb1 - 格式化命令必须带设备全路径:
sudo mkfs.ext4 /dev/sdb1(不是/dev/sdb) - ext4 推荐加
-m 1保留 1% 空间给 root,防日志写满导致系统卡死 - 格式化后记得
sudo blkid /dev/sdb1查 UUID,写进/etc/fstab比用设备名更可靠
真正容易被忽略的点是:fdisk 修改的是分区表,不是文件系统;而 mkfs 会彻底清空目标分区上的所有数据——哪怕那个分区之前挂载过、里面存过东西,只要没备份,mkfs 一跑就没了。










