Ubuntu服务器 /data 盘需要手动挂载的解决方案
服务器 /data 盘需要手动挂载的解决方案
如果重启服务器后,发现 /data 盘 没有自动挂载,通常是因为:
/etc/fstab配置文件 没有正确设置 自动挂载。- 该磁盘 没有被正确识别,需要手动挂载。
- 文件系统错误 导致挂载失败。
下面是解决方案,确保 /data 盘可以手动挂载,然后配置自动挂载。
🔍 1. 确认 /data 盘是否存在
首先,使用 lsblk 或 fdisk 检查当前磁盘情况:
lsblk
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk /
sdb 8:16 0 500G 0 disk
这里 sdb 可能是 /data 盘,但它还没有挂载。
如果 lsblk 不能确认,可以使用:
sudo fdisk -l
或者:
sudo blkid
📌 2. 手动挂载 /data 盘
2.1 确认 /data 目录是否存在
sudo mkdir -p /data
2.2 挂载磁盘
如果 lsblk 显示 /data 盘是 /dev/sdb1,手动挂载:
sudo mount /dev/sdb1 /data
然后检查是否成功挂载:
df -h
如果 /data 盘已挂载,说明手动挂载成功。
🔄 3. 配置开机自动挂载
如果 /data 盘需要 开机自动挂载,需要修改 /etc/fstab。
3.1 获取磁盘 UUID
使用以下命令获取 /data 盘的 UUID:
sudo blkid
示例输出:
/dev/sdb1: UUID="1234-ABCD-5678-EFGH" TYPE="ext4"
3.2 编辑 /etc/fstab
打开 /etc/fstab:
sudo nano /etc/fstab
添加一行:
UUID=1234-ABCD-5678-EFGH /data ext4 defaults 0 2
说明:
UUID=1234-ABCD-5678-EFGH:磁盘的 UUID(用你自己磁盘的 UUID 替换)。/data:挂载点。ext4:文件系统类型(如果你的磁盘是xfs,改为xfs)。defaults:常规挂载选项,表示读写权限正常。0 2:0:不进行dump备份(通常0)。2:用于fsck检查磁盘错误,/盘用1,其他盘一般用2。
保存文件(按 Ctrl + X → Y → Enter)。
3.3 测试 /etc/fstab 是否正确
运行:
sudo mount -a
如果没有报错,说明 /etc/fstab 配置正确。
3.4 重启并检查
sudo reboot
重启后,检查 /data 是否成功挂载:
df -h
如果 /data 正常显示在列表中,说明 开机自动挂载成功! 🎉
🛠️ 4. 其他可能遇到的问题
❌ 问题 1:手动挂载时报错
如果 mount /dev/sdb1 /data 报错:
mount: unknown filesystem type 'ext4'
可能是文件系统未格式化,需要格式化:
sudo mkfs.ext4 /dev/sdb1
⚠ 注意:这会清空 /dev/sdb1 磁盘上的所有数据!如果磁盘上有重要数据,不要执行这一步!
❌ 问题 2:挂载后 /data 为空
如果你之前存储的数据丢失,可能是 挂载了错误的分区,尝试:
lsblk
sudo blkid
找到正确的磁盘路径再挂载。
❌ 问题 3:/etc/fstab 配置错误,导致系统无法启动
如果 /etc/fstab 写错了,可能会导致 系统无法启动。
解决方案:
-
进入恢复模式:
- 在开机引导时按
ESC或Shift进入 GRUB 菜单。 - 选择 Advanced options → Recovery mode。
- 选择 Drop to root shell 进入命令行。
- 在开机引导时按
-
编辑
/etc/fstab并修复错误:mount -o remount,rw / nano /etc/fstab- 删除或修正错误的挂载行。
-
重新启动系统:
reboot
✅ 总结
| 步骤 | 命令 | 说明 |
|---|---|---|
| 检查磁盘 | lsblk / fdisk -l / blkid | 找到 /data 盘对应的设备 |
| 手动挂载 | sudo mount /dev/sdb1 /data | 临时挂载磁盘 |
| 开机自动挂载 | 编辑 /etc/fstab | 添加 UUID=xxx /data ext4 defaults 0 2 |
测试 fstab 是否正确 | sudo mount -a | 检查配置是否正确 |
| 重启检查 | df -h | 确保 /data 盘开机自动挂载 |
🚀 现在,您的 /data 盘应该可以在服务器重启后自动挂载了! 🚀
如果还有问题,请提供 lsblk、df -h 和 /etc/fstab 配置,我可以帮你进一步排查!😊
$ sudo lsblk -l
[sudo] password for:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.7M 1 loop /snap/core20/2434
loop1 7:1 0 63.7M 1 loop /snap/core20/2496
loop2 7:2 0 87M 1 loop /snap/lxd/29351
loop3 7:3 0 89.4M 1 loop /snap/lxd/31333
loop4 7:4 0 44.3M 1 loop /snap/snapd/23258
loop5 7:5 0 44.4M 1 loop /snap/snapd/23545
sda 8:0 0 447.1G 0 disk
sda1 8:1 0 1G 0 part /boot/efi
sda2 8:2 0 2G 0 part /boot
sda3 8:3 0 444G 0 part
sdb 8:16 0 29.1T 0 disk
ubuntu–vg-ubuntu–lv 253:0 0 100G 0 lvm /这里的sdb就是我要的盘,如何挂载
挂载 sdb 盘并设置开机自动挂载
你的 lsblk -l 输出中显示:
sdb 8:16 0 29.1T 0 disk
这表示 sdb 是一块 未分区 或 未挂载 的磁盘,总大小 29.1T。
下面是完整的 挂载 sdb 的步骤,包括 手动挂载、格式化、分区、以及开机自动挂载。
🔍 1. 检查 sdb 是否已有分区
运行:
sudo fdisk -l /dev/sdb
如果输出类似:
Disk /dev/sdb doesn't contain a valid partition table
说明 sdb 没有分区,需要格式化(如果有数据,请提前备份)。
📌 2. 挂载 sdb(如果已经格式化)
如果 sdb 已经格式化(fdisk -l 显示有分区,如 /dev/sdb1),可以直接挂载:
sudo mkdir -p /data # 创建挂载点
sudo mount /dev/sdb1 /data # 挂载
然后检查是否挂载成功:
df -h
如果 /data 目录中可以看到磁盘空间,说明挂载成功。
🔄 3. 创建分区(如果 sdb 没有分区)
如果 fdisk -l /dev/sdb 显示 sdb 没有分区,则需要先创建分区。
3.1 使用 fdisk 创建分区
sudo fdisk /dev/sdb
在 fdisk 命令行:
- 输入
n(新建分区) - 按
Enter(默认主分区) - 按
Enter(使用默认起始扇区) - 按
Enter(使用整个磁盘) - 输入
w(写入并退出)
3.2 格式化分区
假设分区名称为 /dev/sdb1,使用 mkfs.ext4 进行格式化:
sudo mkfs.ext4 /dev/sdb1
⚠ 警告:格式化会清空所有数据!如果 sdb 里有数据,请先备份。
📌 4. 手动挂载 sdb1
创建挂载点:
sudo mkdir -p /data
挂载磁盘:
sudo mount /dev/sdb1 /data
检查是否成功:
df -h
如果 /data 显示 sdb1 的容量,说明挂载成功。
🔄 5. 设置开机自动挂载
5.1 获取 sdb1 的 UUID
运行:
sudo blkid /dev/sdb1
示例输出:
/dev/sdb1: UUID="1234-ABCD-5678-EFGH" TYPE="ext4"
5.2 编辑 /etc/fstab
sudo nano /etc/fstab
添加一行:
UUID=1234-ABCD-5678-EFGH /data ext4 defaults 0 2
解释:
UUID=1234-ABCD-5678-EFGH(用blkid输出的 UUID)。/data(挂载点)。ext4(文件系统类型)。defaults(挂载选项)。0 2(文件系统检查顺序,2代表非/分区)。
保存并退出(按 Ctrl + X → Y → Enter)。
5.3 测试 /etc/fstab 是否正确
sudo mount -a
如果没有错误,则 /etc/fstab 配置正确。
📌 6. 重新启动并检查
sudo reboot
重启后检查:
df -h
如果 /data 仍然正确挂载,说明 挂载成功 🎉。
🚀 总结
| 步骤 | 命令 | 说明 |
|---|---|---|
| 检查磁盘 | lsblk / fdisk -l /dev/sdb | 确保 sdb 存在 |
| 手动挂载(已有格式) | sudo mount /dev/sdb1 /data | 如果 sdb 已有格式 |
| 创建分区(若无) | sudo fdisk /dev/sdb → n → w | 创建 /dev/sdb1 |
| 格式化(清空数据) | sudo mkfs.ext4 /dev/sdb1 | 格式化为 ext4 |
| 创建挂载点 | sudo mkdir -p /data | 确保 /data 存在 |
| 挂载磁盘 | sudo mount /dev/sdb1 /data | 手动挂载 |
| 获取 UUID | sudo blkid /dev/sdb1 | 用于 /etc/fstab 持久挂载 |
配置 /etc/fstab | sudo nano /etc/fstab | 设置开机自动挂载 |
| 测试挂载 | sudo mount -a | 检查 /etc/fstab 配置 |
| 重启检查 | sudo reboot → df -h | 确保 /data 盘自动挂载 |
🚀 现在你的 /data 盘应该可以 永久自动挂载 了!
如果还有问题,提供 lsblk、df -h 和 /etc/fstab 配置,我可以继续帮你排查!😊
后记
2025年2月22日19点18分于上海,在GPT 4o大模型辅助下完成。确实完成了服务器挂载的任务。
相关文章:
Ubuntu服务器 /data 盘需要手动挂载的解决方案
服务器 /data 盘需要手动挂载的解决方案 如果重启服务器后,发现 /data 盘 没有自动挂载,通常是因为: /etc/fstab 配置文件 没有正确设置 自动挂载。该磁盘 没有被正确识别,需要手动挂载。文件系统错误 导致挂载失败。 下面是解…...
[Windows] 全国油价实时查询,可具体到城市
[Windows] 全国油价实时查询,可具体到城市 链接:https://pan.xunlei.com/s/VOJnS3aOPeBwGaSvS0O0E1hwA1?pwdx83j# 出于代码练习的目的,调用公共免费api做的py程序,已经一键打包,双击启动即可 使用:选择…...
香橙派/树莓派 利用Wiring库 使用GPIO模拟PWM
香橙派或者树莓派 等开发板,本身带有硬件PWM,比如香橙派3 lts版,但是这个引脚不符合我的项目需求,我需要外接一个电机,在检测到人脸的时候 转动,但是这个硬件引脚,只要上电就开始输出pwm 信号,导…...
【CSS】---- CSS 变量,实现样式和动画函数复用
1. 前言 本文介绍 CSS 的自定义属性(变量)来实现样式、动画等 CSS 的复用。都是知道在 CSS 和 JS 复用一个很重要的事情,比如 JS 的函数封装,各个设计模式的使用等等,CSS 中样式的复用,同样重要。MDN 使用 CSS 自定义属性(变量):自定义属性(有时候也被称作CSS 变量或…...
C#实现Modbus TCP 通讯测试软件
C#实现Modbus TCP 通讯测试软件,源码,包括读写功能。 文件列表 WindowsFormsApplication6/WindowsFormsApplication6.sln , 1041 WindowsFormsApplication6/WindowsFormsApplication6.v12.suo , 39936 WindowsFormsApplication6/WindowsFormsApplicati…...
装修流程图: 装修前准备 → 设计阶段 → 施工阶段 → 安装阶段 → 收尾阶段 → 入住
文章目录 引言I 毛坯房装修的全流程**1. 装修前准备****1.1 确定装修预算****1.2 选择装修方式****1.3 选择装修公司****1.4 办理装修手续****2. 设计阶段****2.1 量房****2.2 设计方案****2.3 确认方案****3. 施工阶段****3.1 主体拆改****3.2 水电改造****3.3 防水工程****3.…...
Windows逆向工程入门之串流操作指令解析与拓展
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 1. 串流操作指令简介 2. 串流指令及其操作解析 2.1 DF(方向标志) 设置和清除 2.2 STOS(存储串操作) 指令格式 操作过程 应用场景 …...
【论文解读】《Training Large Language Models to Reason in a Continuous Latent Space》
论文链接 1. 背景与动机 语言空间与推理的矛盾 目前大多数大语言模型(LLMs)在解决复杂问题时采用链式思维(Chain-of-Thought, CoT)方法,即利用自然语言逐步推导出答案。然而,论文指出: 自然语言…...
topN 相似度 torch实现
目录 优化版,去重相似度 topN 欧式距离版 没有去重复, 优化版,去重相似度 import torch import torch.nn.functional as F torch.manual_seed(42) # 假设 10 条数据,每条数据的特征维度是 128 data = torch.randn(10, 128)# 计算所有数据对之间的余弦相似度 cosine_simi…...
深度剖析 C 语言函数递归:原理、应用与优化
在 C 语言的函数世界里,递归是一个独特且强大的概念。它不仅仅是函数调用自身这么简单,背后还蕴含着丰富的思想和广泛的应用。今天,让我们跟随这份课件,深入探索函数递归的奥秘。 一、递归基础:概念与思想 递归是一种…...
goredis常见基础命令
基本操作 //删除键 exists,err: rdb.Exists(ctx,"key").Result() if err!nil{panic(err) } if exists>0{err rdb.Del(ctx,"key").Err()if err!nil{panic(err)} }string类型 //设置一个键值对 //0表示没有过期时间 err:rdb.Set(ctx,"key1",…...
【Linux网络】序列化、守护进程、应用层协议HTTP、Cookie和Session
⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、序列化和反序列化2、守护进程2.1 什么是进程组?2.2 什么是会话? 3、应用层协议HTTP3.1 HTTP协议3.2 HT…...
JavaScript函数-arguments的使用
在JavaScript编程语言中,函数是构建复杂逻辑和实现代码复用的关键组件。虽然现代JavaScript(尤其是ES6及之后版本)提供了更多灵活的方式来处理函数参数(如剩余参数、默认参数等),但arguments对象仍然是一个…...
Hadoop常用操作命令
在NameNode节点格式化集群 初始化集群 hdfs namenode -format启动HDFS sbin/start-dfs.sh启动yarn sbin/start-yarn.sh启动NodeManager yarn-daemon.sh start nodemanager启动DataNode hadoop-daemon.sh start datanode启动SecondaryNameNode hadoop-daemon.sh start se…...
system verilog的流操作符
流操作符,有分为操作对象是一整个数组和单独的数据两种,例如bit [7:0] a[4]和bit [31:0] b,前者操作对象是数组,后者是单独一个较大位宽的数。 流操作符有<<和>>,代表从右向左打包和从左向右打包。 打包的…...
LLM2CLIP论文学习笔记:强大的语言模型解锁更丰富的视觉表征
1. 写在前面 今天分享的一篇论文《LLM2CLIP: P OWERFUL L ANGUAGE M ODEL U NLOCKS R ICHER V ISUAL R EPRESENTATION》, 2024年9月微软和同济大学的一篇paper, 是多模态领域的一篇工作,主要探索了如何将大模型融合到Clip模型里面来进一步提…...
计算机毕业设计SpringBoot+Vue.jst网上超市系统(源码+LW文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
python-静态方法和类方法
Java之类的编程语言还带有静态方法,Python类也拥有与静态方法明确对应的方法。此外,Python还拥有类方法,要比静态方法更高级一些。 静态方法与Java一样,即便没有创建类的实例,静态方法也是可以调用的,当然…...
什么是手机9008模式?如何进入9008
之前给大家分享了一些有关手机刷机的知识,今天给大家讲一讲如果刷机过程中不慎变砖应该如何应对(当然了,希望大家都不会遇到)😂😄 在给手机 Root 或刷机时,线刷 9008 指的是利用 高通 9008 模式…...
嵌入式之指针
在嵌入式系统中指针是一种非常重要的概念。它们用于直接访问内存地址,能够提高程序的灵活性和效率。 一、基本概念 1. 指针的基本概念 定义:指针是一个变量,其值为另一个变量的地址。通过指针,可以间接访问和修改该变量的值。声…...
网络安全研究
1.1 网络安全面临的威胁 网络安全面临的威胁呈现出多样化和复杂化的趋势,给个人、企业和国家的安全带来了严峻挑战。以下是当前网络安全面临的主要威胁: 1.1.1 数据泄露风险 数据泄露是当前网络安全的重大威胁之一。根据国家互联网应急中心发布的《20…...
Git入门:数据模型 to 底层原理
版本控制系统(VCS)是软件开发中不可或缺的工具,而Git作为现代版本控制的事实标准,其底层设计远比表面命令更加优雅。本文将从数据模型的角度,揭示Git的核心工作原理。 Git的核心概念 1. 快照(Snapshot&am…...
openharmony中hdf框架的驱动消息机制的实现原理
openharmony中hdf框架的驱动消息机制的实现原理 在分析hdf框架时发现绕来绕去的,整体梳理画了一遍流程图,发现还是有点模糊甚至不清楚如何使用的,详细的每个点都去剖析细节又过于消耗时间,所以有时间便从功能应用的角度一块块的去…...
HTTP SSE 实现
参考: SSE协议 SSE技术详解:使用 HTTP 做服务端数据推送应用的技术 一句概扩 SSE可理解为:服务端和客户端建立连接之后双方均保持连接,但仅支持服务端向客户端推送数据。推送完毕之后关闭连接,无状态行。 下面是基于…...
二分图检测算法以及最大匹配算法(C++)
上一节我们学习了有向图中的最大连通分量. 本节我们来学习二分图. 二分图是一种特殊的图结构, 能够帮助我们高效地解决这些匹配和分配问题. 本文将带你了解二分图的基本概念, 判定方法, 最大匹配算法以及实际应用场景. 环境要求 本文所用样例在Windows 11以及Ubuntu 24.04上面…...
Keepalive基础
一。简介和功能 vrrp协议的软件实现,原生设计目的是为了高可用ipvs服务 功能: 1.基于vrrp协议完成地址流动 2.为vip地址所在的节点生成ipvs规则(在配置文件中预先定义) 3.为ipvs集群的各RS做健康状况检测 4.基于脚本调用接口…...
计算机毕业设计SpringBoot+Vue.jst0图书馆管理系统(源码+LW文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
【Java消息队列】应对消息丢失、重复、顺序与积压的全面策略
应对消息丢失、重复、顺序与积压的全面策略 引言kafka消息丢失生产者消费者重复消费顺序消费消息积压生产者消费者其他RabbitMQ消息丢失生产者事务机制,保证生产者发送消息到 RabbitMQ Server发送方确认机制,保证消息能从交换机路由到指定队列保证消息在 RabbitMQ Server 中的…...
AI大模型学习(三): LangChain(二)
Langchain构建聊天机器人 安装依赖 pip install langchain_community Chat History:它允许聊天机器人"记住"过去的互动,并在回应后续问题时考虑他们 代码 # 创建模型 from langchain_core.messages import HumanMessage from langchain_core.prompts import ChatP…...
apply的用法
apply 是一个在编程语言中常见的函数,它在不同的上下文和语言中有不同的用途。以下是 apply 在常见编程语言中的几种常见用法: 1. Python 中的 apply 方法 在 Python 中,apply 主要用于 pandas 库中的 DataFrame 或 Series 对象,…...
