确认新硬盘设备名应使用lsblk或fdisk -l,查看未挂载(mountpoint为空)、无文件系统(fstype为空)、容量明显偏大的设备,如/dev/sdb或/dev/sdc;需注意物理盘标识为disk /dev/sdx:,分区为/dev/sdx1,且设备名顺序不绝对,须结合容量与状态交叉验证。

怎么确认新硬盘设备名是 /dev/sdb 还是 /dev/sdc
新硬盘加进系统后,lsblk -f 或 fdisk -l 是最直接的判断方式。注意看输出里没有挂载点(MOUNTPOINT 为空)、没文件系统类型(FSTYPE 为空)、容量明显大于已有磁盘的那块——大概率就是它。
常见误区:
-
fdisk -l输出中带Disk /dev/sdX:行的是整块物理盘;带/dev/sdX1的才是已建分区 - 虚拟机环境下,有时新加硬盘不会立刻被识别,必须重启或执行
echo "- - -" > /sys/class/scsi_host/host*/scan - 别只看设备名顺序:
sda不一定就是第一块盘,sdb也不一定就是第二块——得按容量和未挂载状态交叉验证
用 fdisk 分区时为什么不能直接 n → p → 1 → 回车 → 回车 → w
这个操作在小于 2TB 的磁盘上通常能跑通,但一旦磁盘 ≥ 2TB,DOS 分区表(MBR)就撑不住了,fdisk 会警告:DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes。这时候强行写入,后续 mkfs 可能失败,或者系统只能识别前 2TB。
正确做法:
- 对 ≥ 2TB 盘,改用
gdisk或parted创建 GPT 分区表 - 如果坚持用
fdisk,先输入g(不是o)创建 GPT 标签(部分新版fdisk支持) - 分区完成后,务必运行
partprobe /dev/sdX或重启,让内核重读分区表,否则/dev/sdX1不会出现
mkfs.ext4 格式化前要不要加 -c 参数
-c 表示格式化前做坏块扫描,对机械盘(HDD)建议加上,尤其是二手盘或长时间未用的盘;但对 SSD 或 NVMe 盘不仅没必要,还会极大拖慢速度,甚至触发固件保护机制导致卡住。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
更实用的组合:
- 普通用途:直接
mkfs.ext4 /dev/sdb1(默认启用ext4日志、保留 5% 空间给 root) - 数据盘/大容量盘:加
-m 1把保留空间降到 1%,避免浪费(mkfs.ext4 -m 1 /dev/sdb1) - 需要快速验证:先
e2fsck -c /dev/sdb1单独扫坏块,再格式化,比-c更可控
写进 /etc/fstab 时为什么推荐用 UUID=... 而不用 /dev/sdb1
设备名如 /dev/sdb1 是动态分配的——加一块新盘、换 SATA 口、甚至某些 BIOS 启动顺序变化,都可能导致原 sdb 变成 sdc,开机直接卡在 Failed to mount /mnt/data,甚至进不了系统。
UUID 是文件系统级唯一标识,只要不重格式化,它就不会变。获取方式:
- 格式化后立即执行
blkid /dev/sdb1,复制输出里的UUID="..." - 或用
ls -l /dev/disk/by-uuid/查看映射关系 -
/etc/fstab行末两个0别写错:0 0表示不备份、不检查(数据盘常用),1 2是根分区才用的
最后执行 mount -a 测试 fstab 语法是否有效,无输出即成功;有报错就别重启,先修配置。










