如何查看 /dev/sdb 磁盘详细信息

在Linux系统中,设备名(如/dev/sda/dev/sdb)是内核动态分配的磁盘标识符,修改设备名通常是为了实现持久化命名,避免因硬件变动导致设备名变化,从而影响系统配置(如/etc/fstab挂载),以下是专业、安全的操作指南:


修改原理:通过udev规则实现

Linux使用udev(设备管理器)动态管理设备,通过自定义udev规则,可永久绑定设备名到特定硬件(如UUID或序列号)。
核心文件

  • 规则目录:/etc/udev/rules.d/
  • 规则文件:自定义如99-custom-disk.rules(文件名需小于原始规则优先级)

操作步骤:永久修改设备名

确定设备唯一标识

# 输出示例:/dev/sdb: UUID="5f3e4a1b-01" TYPE="ext4"
# 或获取磁盘序列号(适用于无分区设备)
sudo udevadm info --query=property --name=/dev/sdb | grep ID_SERIAL
# 输出示例:ID_SERIAL=SAMSUNG_SSD_123456

创建udev规则文件

sudo nano /etc/udev/rules.d/99-custom-disk.rules

规则语法示例(二选一):

# 通过UUID绑定(推荐分区设备)
ACTION=="add", ENV{ID_FS_UUID}=="5f3e4a1b-01", SYMLINK+="my_disk"
# 通过序列号绑定(推荐整块磁盘)
ACTION=="add", ENV{ID_SERIAL}=="SAMSUNG_SSD_123456", SYMLINK+="backup_disk"

参数说明

  • SYMLINK+="自定义名":生成持久化设备符号链接(实际路径仍为/dev/sdX
  • 自定义名需全小写,避免冲突(如my_disk而非sdx

重载并触发udev规则

# 重载规则
sudo udevadm control --reload-rules
# 触发规则生效
sudo udevadm trigger --action=add

验证新设备名

# 查看/dev/下生成的符号链接
ls -l /dev | grep -E 'my_disk|backup_disk'
# 输出示例: 
# lrwxrwxrwx 1 root root 4 Jul 10 10:00 my_disk -> sdb
# lrwxrwxrwx 1 root root 4 Jul 10 10:00 backup_disk -> sdb1

此时可通过/dev/my_disk/dev/backup_disk访问设备。


关键注意事项

  1. 非重命名原始设备
    Linux设备名(sdX)由内核分配,无法直接修改,udev规则仅创建持久化符号链接,原始名仍存在。

  2. 修改fstab挂载配置
    若需挂载新设备名,更新/etc/fstab

    # 原配置:UUID=5f3e4a1b-01 /mnt/data ext4 defaults 0 0
    # 改为:
    /dev/my_disk /mnt/data ext4 defaults 0 0
  3. 风险规避

    • 备份规则文件:操作前复制/etc/udev/rules.d/
    • 避免使用sdX前缀:防止与内核分配冲突。
    • 测试环境验证:在虚拟机或非关键设备测试后再部署。
  4. 临时修改(不推荐)
    通过sudo echo "new_name" > /sys/block/sdb/uevent可临时修改,但重启失效,且易导致系统不稳定。


替代方案:使用by-path/by-uuid

Linux已提供持久化设备路径,通常无需自定义:

# 查看现有持久化链接
ls -l /dev/disk/by-uuid/    # 按UUID标识
ls -l /dev/disk/by-path/    # 按物理端口标识

直接使用/dev/disk/by-uuid/UUID_VALUE挂载更安全可靠。


修改Linux设备名的本质是通过udev规则创建持久化符号链接,而非直接重命名内核设备。*推荐优先使用`/dev/disk/by-`内置路径**,若需自定义名称,务必:

  1. 基于UUID或序列号绑定设备
  2. 更新/etc/fstab等依赖配置
  3. 在非生产环境充分验证

引用说明基于Linux内核文档、udev官方手册及最佳实践整理,遵循POSIX标准,技术细节参考Arch Linux Wiki与Ubuntu Server Guide,确保操作普适性,风险提示依据GNU/Linux系统管理经验总结。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5526.html

(0)
酷番叔酷番叔
上一篇 2025年6月24日 15:19
下一篇 2025年6月24日 15:39

相关推荐

  • 清除分区表真的会永久删除所有数据吗?

    ▸ 仅适用于:报废磁盘初始化、系统重装或专业数据销毁场景▸ 必须确认:已备份关键数据,且准确识别目标磁盘设备名(如 /dev/sda)▸ 严禁操作:正在运行系统的启动磁盘(除非在救援模式)操作前关键准备识别目标磁盘sudo fdisk -l # 列出所有磁盘sudo lsblk # 查看块设备树状结构▸ 确认磁……

    2025年7月31日
    3500
  • 睡前刷手机8分钟兴奋1小时?

    环境准备:安装必备工具安装GCC编译器GCC是Linux官方C语言编译器,通过终端执行:sudo apt update && sudo apt install gcc # Debian/Ubuntusudo dnf install gcc # Fedora/CentOS验证安装:gcc –ve……

    2025年7月30日
    3400
  • Linux系统下如何查看ncpu(CPU核心数)的具体数值?

    在Linux系统中,了解CPU核心数(ncpu)是进行系统性能调优、资源分配、多任务处理以及应用程序优化的基础,CPU核心数分为物理核心数和逻辑核心数,物理核心数是处理器实际具备的计算单元数量,而逻辑核心数则是在支持超线程技术(如Intel的Hyper-Threading或AMD的SMT)的情况下,一个物理核心……

    2025年10月3日
    800
  • linux如何显示进程id

    Linux中,可以使用ps命令结合grep来显示进程ID,

    2025年8月10日
    3100
  • Linux下如何打开Qt图形界面?

    在Linux操作系统中,Qt作为一种跨平台的C++图形用户界面(GUI)框架,被广泛应用于开发桌面、嵌入式和移动应用程序,对于开发者或用户而言,掌握如何在Linux环境下打开Qt界面(包括开发环境和运行Qt程序)是基础且重要的技能,本文将从Qt开发环境的搭建、Qt程序的运行方式、常见问题解决等方面进行详细说明……

    2025年10月1日
    700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信