您的位置:首页 >如何在Linux中给磁盘分区
发布于2026-08-12 阅读(0)
扫一扫,手机访问
超过 2TB 的硬盘,分区时就别再用 fdisk 了,得换成 gdisk 或 parted。原因很直接:fdisk 只支持 MBR 分区表,而 MBR 基于 32 位寻址,容量上限大约就是 2.2TB。这个边界一旦被越过,常见情况包括静默截断、直接报错,或者系统只认出前 2TB。相比之下,gdisk 和 parted 原生支持 GPT 与 64 位 LBA,不受这种容量限制。

先把结论放在前面:别上来就急着用 fdisk,先确认磁盘容量,再看当前用的是哪种分区表;只要硬盘超过 2TB,就得改用 gdisk 或 parted,因为 fdisk 只支持 MBR,强行操作不是直接报错,就是白白浪费一部分空间。
关键看磁盘容量和现有分区表类型:
fdisk -l /dev/sdb 输出里如果出现 Disklabel type: dos,说明是 MBR,可用 fdiskDisklabel type: gpt,或提示 DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes(约 2.2TB),就必须切到 gdisk 或 partedlsblk -f 能快速确认设备有没有已有分区、是否挂载、文件系统类型,避免误操作正在使用的盘fdisk 会自动建 DOS label,gdisk 默认建 GPT label——这点不手动干预就容易踩坑常见错误是回车太快、没确认扇区范围,或磁盘本身有残留 LVM/RAID 签名:
fdisk /dev/sdb 后,输入 n → p → 1,起始扇区直接回车用默认值,但结束位置别只输 +10G——要确保它落在有效扇区范围内,fdisk 有时会拒绝超出物理边界Value out of range,说明当前磁盘剩余空间不够,或已有分区占满;用 p 查看已用空间再算w 前务必用 p 预览分区表,确认 Start 和 End 列数值合理(比如不是负数或远超总扇区数)partprobe /dev/sdb 或 udevadm settle,否则 lsblk 看不到 sdb1分区创建完不能直接 mkfs.xfs /dev/sdb1——得先确认设备节点存在且无占用:
cat /proc/partitions,检查 sdb1 是否在列表里;没有就说明 partprobe 没生效或 w 没成功写入mkfs 报 device is busy,可能是之前挂载过没卸载,或 LVM/RAID 元数据残留,先试 dmsetup remove_all 和 pvremove /dev/sdb1mkfs.xfs,Ubuntu/Debian 更常用 mkfs.ext4;选哪个取决于后续是否需要 ACL、快照或大文件支持,不是随便换-f 强制覆盖(如 mkfs.xfs -f /dev/sdb1)能绕过“already has a filesystem”警告,但要确保真没数据临时挂载 mount /dev/sdb1 /mnt/data 成功,但 df -h 不显示?重点查三点:
ls -ld /mnt/data,权限不对或非空目录会导致静默失败/etc/fstab 第二列必须是挂载路径(如 /mnt/data),不是设备名;第三列是文件系统类型(xfs 或 ext4),拼错会 mount -a 报 unknown filesystem type/dev/sdb1:运行 blkid /dev/sdb1 复制 UUID,写进 fstab 类似 UUID=xxxx /mnt/data xfs defaults 0 0;设备名在重启后可能变(比如插了新硬盘),UUID 才稳定mount -a 测试语法,有错会直接报出来,别等重启才发现真正麻烦的从来不是命令记不住,而是新盘刚接上时你不知道它到底有没有分区表、内核认不认识、其他服务有没有偷偷锁住设备——这些细节不卡在第一步,后面全白干。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9