为什么你总是做不好选择?

修改挂载点的完整流程

查看当前挂载信息

首先确认目标设备的标识符和原挂载点:

lsblk -f   # 列出所有块设备及文件系统类型
df -h      # 查看已挂载设备及使用情况

输出示例:

sdb
├─sdb1 ext4 /mnt/old_mount

记录设备名(如 /dev/sdb1)和原挂载点(如 /mnt/old_mount)。

卸载原设备

sudo umount /dev/sdb1   # 通过设备名卸载sudo umount /mnt/old_mount  # 通过挂载点卸载

若提示”target is busy”

  • 退出占用文件的程序。
  • 使用 lsof /dev/sdb1 查找占用进程并终止。
  • 强制卸载:sudo umount -l /dev/sdb1(慎用)。

创建新挂载点目录

sudo mkdir /new/mount_point   # /data 或 /mnt/new_disk

临时挂载测试(可选)

sudo mount /dev/sdb1 /new/mount_point
df -h | grep sdb1  # 验证是否成功

测试后卸载:sudo umount /dev/sdb1

永久修改 /etc/fstab

编辑系统挂载配置文件:

sudo cp /etc/fstab /etc/fstab.bak  # 备份!防止配置错误导致系统崩溃
sudo nano /etc/fstab

找到原设备的挂载行(如 /dev/sdb1UUID=...),修改挂载点路径:
原配置行

/dev/sdb1  /mnt/old_mount  ext4  defaults  0  2

修改后

/dev/sdb1  /new/mount_point  ext4  defaults  0  2

关键参数说明

  • 第一列:设备标识(建议使用 UUID= 替代设备名,通过 blkid 获取)。
  • 第二列:新挂载点路径。
  • 第三列:文件系统类型(如 ext4、ntfs)。
  • 第四列:挂载选项(defaults 包含读写权限)。
  • 第五列:备份标志(0 为不备份)。
  • 第六列:开机磁盘检查顺序(根目录为 1,其他建议 2)。

应用新配置

sudo mount -a   # 加载fstab中所有配置
mount | grep /dev/sdb1  # 检查是否挂载到新路径

若无报错,重启生效:sudo reboot


关键注意事项

  1. 备份优先

    • 操作前备份 /etc/fstabsudo cp /etc/fstab{,.bak}
    • 重要数据建议额外备份。
  2. 使用 UUID 替代设备名
    设备名(如 /dev/sdb1)可能因硬件变动改变,通过 blkid 获取唯一 UUID:

    sudo blkid /dev/sdb1

    /etc/fstab 中使用:

    UUID=123e4567-e89b-12d3-a456-426614174000  /new/mount_point  ext4  defaults  0  2
  3. 文件系统兼容性

    • NTFS/FAT 设备需安装驱动:
      sudo apt install ntfs-3g   # Debian/Ubuntu
    • /etc/fstab 中指定文件系统类型(如 ntfs)。
  4. 修复启动失败
    若修改错误导致系统无法启动:

    • 使用 Live CD/USB 进入救援模式。
    • 挂载原系统根分区:sudo mount /dev/sda1 /mnt
    • 恢复备份:cp /mnt/etc/fstab.bak /mnt/etc/fstab

常见问题解决

  • 挂载失败

    • 检查 dmesg | tail 查看内核错误日志。
    • 确认目录权限:sudo chmod 755 /new/mount_point
  • 开机卡住
    在 GRUB 启动菜单按 e 编辑内核参数,末尾添加 init=/bin/bash,进入单用户模式修复 /etc/fstab

  • 共享挂载点
    需卸载所有子挂载点:sudo umount -R /mnt/old_mount


修改挂载点需谨慎操作,核心步骤为:卸载设备 → 创建目录 → 修改 /etc/fstab → 验证生效,优先使用 UUID 标识设备,并始终备份配置文件,对生产环境操作前,建议在测试系统中模拟流程,如遇复杂情况(如 LVM、RAID),参考官方文档或寻求专业支持。

引用说明基于 Linux 内核文档(kernel.org)、man 手册页(man7.org)及 Filesystem Hierarchy Standard 标准,具体命令可通过 man [command] 查看权威指南。

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

(0)
酷番叔酷番叔
上一篇 4小时前
下一篇 4小时前

相关推荐

  • 这样吃真的能多活十年?

    硬件兼容性验证• 访问服务器厂商支持列表(如Dell EMC、HPE、Lenovo)确认Linux发行版认证状态• 检查RAID卡、网卡、管理控制器(iDRAC/iLO/BMC)的驱动支持专业提示:企业级服务器建议选择RHEL、SUSE或Ubuntu LTS等商用支持版本安装介质准备• 官方渠道下载ISO镜像……

    1天前
    500
  • 如何用命令行操作打开文件?

    在Linux系统中,打开文件是最基础且频繁的操作之一,无论是查看文档、编辑代码还是运行程序,都需要掌握多种打开文件的方法,本文将详细讲解命令行和图形界面下的操作,并涵盖权限管理、安全建议等关键知识,帮助您高效安全地使用Linux,使用文本编辑器nano(新手友好)命令:nano 文件名示例:打开notes.tx……

    4天前
    900
  • 如何导出Linux日志?最佳实践

    Linux系统日志主要位于/var/log目录,可使用journalctl、grep、awk等工具筛选导出,最佳实践包括:明确导出范围与时间、利用重定向或rsync备份、注意文件权限、管理日志轮转并确保存储安全。

    6天前
    700
  • Linux如何安全挂载存储设备?

    挂载前准备识别存储设备使用 lsblk 或 fdisk -l 命令查看设备标识(如 /dev/sdb1):sudo fdisk -l # 列出所有磁盘分区lsblk # 以树形结构显示设备注意:新设备通常命名为 sdb, sdc 等,数字后缀(如 sdb1)表示分区,检查文件系统类型使用 blkid 确认分区格……

    2025年7月18日
    1700
  • 为什么必须更新软件包列表?

    在Linux系统中安装GCC(GNU Compiler Collection)是开发工作的基础步骤,GCC是一套开源的编程语言编译器,支持C、C++、Fortran等语言,以下提供官方推荐且安全的安装方法,涵盖主流的Linux发行版,所有操作均需终端权限,普通用户请使用sudo提权,通过包管理器安装(推荐)Li……

    2025年6月24日
    1700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信