挂了4T硬盘,只识别2T?90%的Linux新手都踩过这个坑!

2025-06-04 09:15:42 RAIZ

你是否遇到过这种迷惑行为:

明明给服务器分配的是4TB磁盘空间,结果lsblk一看:可用空间只有2TB!,挂载后查看仍然是2TB,见鬼了,剩下的空间去哪了。


图片

1 问题真相

MBR分区格式的“原罪”。在Linux中,大部分用户习惯用fdisk或自动挂载脚本快速格式化硬盘。如果没特别指定分区表格式,系统很可能用的是MBR

而MBR最大只支持2TiB的磁盘容量。超过部分直接被浪费掉!

我们看一下MBR和GPT的对比就一目了然了。

对比项
MBR
GPT
最大支持容量
2TBZB级别(远超4T)
最大主分区数
4个主分区
(或3主+扩展+逻辑)
最多128个分区
引导方式
BIOS
UEFI
分区表容错
无备份,损坏即挂
有主副分区表,自动修复
工具支持
fdisk
、老系统支持更好
parted
、现代系统推荐
是否支持4T硬盘
最多只认2TB
完全支持

2 正确操作

对于超过2TB的磁盘有两种方式:

  • 直接格式化文件系统,不用分区
  • 使用GPT分区

下面我就将这两种方式的具体操作分享给大家。

【温馨提示】下面的只适用刚格式化的空盘,里面还没有数据,可以直接卸载后删除分区,重新格式化。

图片

2.1 直接格式化文件系统

上面已经将MBR分区删除了,下面就直接格式化文件系统。


[root@localhost ~]# lsblk /dev/vdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdc  252:32   0   4T  0 disk 
# 强制格式化/dev/vdc磁盘
[root@localhost ~]# mkfs.xfs /dev/vdc -f
# 将格式化后的磁盘挂载到/dataroot目录下
[root@localhost ~]# mount /dev/vdc  /dataroot
# 如果想永久挂载就将信息写入fstab文件中

图片

可以看到有一个4TB的磁盘挂载到 /dataroot目录。直接格式化方式是非常快速的

2.2 使用 parted 创建 GPT 分区表

parted 命令创建pgt分区

[root@dt-oracle-backup ~]# parted /dev/vdc
GNU Parted 3.1
Using /dev/vdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt                                                      
Warning: The existing disk label on /dev/vdc will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes                                                               
(parted)                                                                  
(parted) mkpart primary xfs 0% 100%   # 一次性分配全部空间                                    
(parted)                                                                  
(parted) print

图片

注意事项:

  • 操作前务必备份数据,分区会清除磁盘所有内容!
  • 替换/dev/vdc为你的实际磁盘设备名(通过lsblk确认)

图片

格式化文件系统


[root@localhost ~]# lsblk  /dev/vdc
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdc             252:32   0    4T  0 disk 
└─vdc1          252:33   0    4T  0 part 

[root@localhost ~]# mkfs.xfs  /dev/vdc1 -f

创建挂载点:

mkdir /dataroot

挂载磁盘:

mount /dev/vdc1 /dataroot

查看挂载效果:

图片

设置开机自动挂载

编辑/etc/fstab添加一行:

UUID=你的磁盘UUID /dataroot xfs defaults 0 2

3 常见误区合集

  • fdisk默认新建的是MBR分区(除非你指定GPT)
  • 把大于2T的硬盘挂到老BIOS机器上(不支持GPT启动)
  • 忘记用 mklabel gpt,分完区还是只有2T!


我要咨询