Linux系统完全支持固态硬盘的使用,不管是常见的SATA协议固态硬盘,还是性能更高的NVMe协议固态硬盘,都可以在Linux系统中正常识别、分区、格式化和挂载使用,不需要额外安装特殊的驱动程序,内核本身已经集成了对应的存储设备驱动。

Linux下识别固态硬盘
将固态硬盘连接到Linux设备后,可以通过系统自带的命令查看硬盘是否被识别。常用的查看命令如下:
# 查看所有块设备信息,包括硬盘和分区 lsblk # 查看硬盘详细信息,包括型号、容量、接口类型 fdisk -l # 查看NVMe固态硬盘信息,仅适用于NVMe协议的固态 nvme list
如果命令输出中能看到对应的硬盘设备,比如/dev/sda(SATA固态)或者/dev/nvme0n1(NVMe固态),说明系统已经成功识别固态硬盘。
固态硬盘分区与格式化
识别到硬盘后,需要进行分区和格式化操作,Linux下推荐使用gdisk工具处理GPT分区表的固态硬盘,避免传统MBR分区表的限制。
分区操作步骤
# 以/dev/nvme0n1为例,进入gdisk分区工具 gdisk /dev/nvme0n1 # 输入n创建新分区,按照提示设置分区号和大小,默认即可 # 输入w保存分区表并退出
格式化分区
固态硬盘推荐使用的文件系统是ext4或者btrfs,这两个文件系统对固态硬盘有更好的适配,支持TRIM指令。
# 将第一个分区格式化为ext4文件系统 mkfs.ext4 /dev/nvme0n1p1 # 如果选择btrfs文件系统,使用以下命令 mkfs.btrfs /dev/nvme0n1p1
挂载固态硬盘分区
格式化完成后需要创建挂载点并将分区挂载到系统中,同时可以配置开机自动挂载。
临时挂载
# 创建挂载目录,比如挂载到/mnt/ssd mkdir -p /mnt/ssd # 挂载分区到指定目录 mount /dev/nvme0n1p1 /mnt/ssd # 查看挂载结果 df -h /mnt/ssd
配置开机自动挂载
需要获取分区的UUID,然后修改/etc/fstab文件实现开机自动挂载,同时可以添加针对固态硬盘的优化参数。
# 获取分区UUID blkid /dev/nvme0n1p1
编辑/etc/fstab文件,添加如下内容,其中UUID替换为上一步获取到的实际值,noatime参数可以减少写入操作,延长固态硬盘寿命:
UUID=你的分区UUID /mnt/ssd ext4 noatime,errors=remount-ro 0 2
开启TRIM指令优化性能
TRIM指令可以让操作系统通知固态硬盘哪些数据块已经不再使用,固态硬盘可以提前擦除这些块,提升后续写入性能,同时减少写入放大,延长硬盘寿命。Linux下有两种方式开启TRIM。
手动执行TRIM
# 对挂载的固态分区执行TRIM fstrim -v /mnt/ssd
配置定时自动TRIM
可以通过systemd的定时器实现每周自动执行TRIM,不需要手动操作:
# 启用fstrim定时服务 systemctl enable fstrim.timer # 启动定时服务 systemctl start fstrim.timer # 查看定时服务状态 systemctl status fstrim.timer
使用注意事项
- 避免使用
swap分区放在固态硬盘上,频繁的交换操作会增加固态硬盘的写入量,缩短使用寿命。 - 不要对固态硬盘进行碎片整理,固态硬盘的存储原理和机械硬盘不同,碎片整理反而会增加不必要的写入。
- 定期查看固态硬盘的健康状态,可以使用
smartctl工具检测硬盘的剩余寿命和错误情况。
# 安装smartmontools工具 apt install smartmontools # 查看固态硬盘健康信息 smartctl -a /dev/nvme0n1