答案是编辑/etc/fstab文件,用UUID替换原挂载项并指向/data目录。需先卸载原分区、创建空挂载点、临时挂载验证,再备份fstab、写入UUID行(格式:UUID=xxx /data ext4 defaults 0 2),最后用mount -a测试无误后生效。
在麒麟操作系统中,需要把原本挂载在/run/media/root/xxxx的硬盘改挂到/data目录下,否则后续部署应用或存放用户数据时路径不统一,容易引发权限错乱或服务启动失败。
打开终端,执行lsblk命令,列出所有块设备,找到待调整的磁盘(如/dev/sdb1)及其当前挂载点;若显示挂载在/run/media/root/xxx这类临时路径下,说明是自动挂载的可移动设备行为,需手动接管控制权。
运行mount | grep sdb1确认该分区是否已处于挂载状态;若已挂载,必须先卸载才能重新指定路径,否则会提示“device is busy”。
执行sudo mkdir -p /data新建挂载目录;注意该目录【必须为空】,否则挂载后原目录内容将被隐藏不可见,导致数据访问中断。
执行sudo umount /dev/sdb1卸载当前挂载;如果提示“target is busy”,说明有进程正在访问该路径,可用lsof +D /run/media/root/xxx查出占用进程并终止,或重启进入单用户模式操作。
执行sudo mount /dev/sdb1 /data完成一次性的路径切换;此时立刻用df -h | grep sdb1验证挂载点是否已更新为/data,输出应显示/dev/sdb1对应/data而非旧路径。
这一步操作起来很简单,直接运行命令即可,但只是临时生效——重启后会恢复原挂载点,所以必须继续配置永久挂载。
第一步:获取分区唯一标识符。运行sudo blkid /dev/sdb1,记录输出中的UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"值;【务必使用UUID而非/dev/sdb1】,因为设备名可能随硬件顺序变化而改变,导致开机挂载失败甚至系统卡死。
第二步:备份原fstab文件。执行sudo cp /etc/fstab /etc/fstab.bak,防止误编辑导致无法启动。
第三步:用vi打开fstab:sudo vi /etc/fstab,在文件末尾新增一行:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 2
其中ext4需与实际文件系统类型一致(可用sudo file -sL /dev/sdb1确认),最后的2表示该分区参与开机fsck检查,对数据盘更安全;若原fstab中已有/dev/sdb1相关行,必须删除旧行,否则会导致重复挂载报错。
保存退出后,执行sudo mount -a测试fstab语法是否正确——无任何输出即成功;若有错误提示,立即修正再试,否则重启可能无法进入图形界面。