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 配置文件 没有正确设置 自动挂载。该磁盘 没有被正确识别,需要手动挂载。文件系统错误 导致挂载失败。 下面是解…...
无法打开包括文件: “crtdbg.h”: No such file or directory
目录 无效解决措施(重装WindowsSDK) 有效解决措施 创建环境变量 添加环境变量INCLUDE 添加环境变量LIB RC无法运行 问题现象描述 复制以下文件至Error路径 无效解决措施(重装WindowsSDK) 参考文献:94176676/227706449-a5222d7d-d8d2-4a19-addb-8f546e69786f…...
番茄工作法html实现
对比了deepseek-r1-online和本地部署的14b的版本,输出的输出的html页面。 在线满血版的功能比较强大,可以一次完成所有要求。14b版本的功能有一些欠缺,但是基本功能也是写了出来了。 input write a html named Pomodoro-clock which “hel…...
多源 BFS 算法详解:从原理到实现,高效解决多源最短路问题
多源 BFS 是一种解决 边权为 1 的多源最短路问题 的高效算法。其核心思想是将所有源点视为一个“超级源点”,通过一次 BFS 遍历即可计算所有节点到最近源点的最短距离。以下从原理、实现和代码示例三个方面深入讲解: 目录 一、原理分析 1. 单源 BFS vs…...
使用IDEA提交SpringBoot项目到Gitee上
登录Gitee并新建仓库 创建本地仓库 提交本地代码到本地仓库 提交本地代码到远程仓库...
我们来学人工智能 -- DeepSeek客户端
DeepSeek客户端 题记使用后记系列文章 题记 我选择了 Cherry Studio是国内产品由CherryHQ团队开源是一个平台在这里,有豆包、kimi、通义千问的入口当然,最主要是作为大模型的UI正如标题,这里,作为DeepSeep的客户端 使用 下载本…...
【Linux】匿名管道的应用场景-----管道进程池
目录 一、池化技术 二、简易进程池的实现: Makefile task.h task.cpp Initchannel函数: 创建任务: 控制子进程: 子进程执行任务: 清理收尾: 三、全部代码: 前言: 对于管…...
JavaScript函数-函数的使用
在JavaScript编程中,函数不仅是组织代码的基本单元,也是实现复杂逻辑、提高代码复用性和可维护性的关键工具。无论你是刚开始学习JavaScript的新手,还是希望深入理解函数使用的开发者,本文都将为你提供全面的指导。 函数的基础知…...
水果生鲜农产品推荐系统 协同过滤余弦函数推荐水果生鲜农产品 Springboot Vue Element-UI前后端分离 代码+开发文档+视频教程
水果生鲜农产品推荐系统 协同过滤余弦函数推荐水果生鲜农产品 Springboot Vue Element-UI前后端分离 【亮点功能】 1.SpringbootVueElement-UIMysql前后端分离 2.Echarts图表统计数据, 直观展示数据情况 3.发表评论后,用户可以回复评论, 回复的评论可以被再次回复, …...
Android输入事件传递流程系统源码级解析
1. 硬件层到Linux内核 设备节点:触摸事件由内核驱动捕获,写入/dev/input/eventX。关键结构体:input_event(包含时间戳、类型、代码、值)。 2. Native层处理(system_server进程) 2.1 EventHub …...
自制操作系统学习第七天
今天要做什么? 实现HLT,不让计算机处于HALT(HLT).用C语言实现内存写入(错误,需要分析) 一:使用HLT,让计算机处于睡眠状态 写了下面这个程序,naskfunc.nas 函数名叫io_h…...
【多模态处理篇三】【DeepSeek语音合成:TTS音色克隆技术揭秘】
最近帮某明星工作室做AI语音助手时遇到魔幻需求——要求用5秒的咳嗽声克隆出完整音色!传统TTS系统直接翻车,生成的语音像得了重感冒的电音怪物。直到祭出DeepSeek的TTS音色克隆黑科技,才让AI语音从"机器朗读"进化到"声临其境"。今天我们就来扒开这个声音…...
Coze插件之基于IDE创建插件
上篇文章中,我们基于已有服务创建了一些插件和工具。方便我们开发更多工作流和智能体应用。 本篇文章要介绍的是基于IDE进行创建,为什么有了基于服务创建后还有基于IDE进行创建呢?基于IDE进行创建有哪些优势? 对于一些简单操作&…...
deepseek的模型经过训练 ai写出了linux 64位加壳软件
1. 加壳程序的设计目标 目标:保护64位Linux下的可执行文件,使其难以被反编译或调试。核心功能: 在运行时加载原始可执行文件并解密。隐藏壳代码和原程序的真正入口点。提供一定的反调试机制。 2. 思路 加壳流程: 加载器…...
解锁音频新境界:LALAL.AI 与 Audo Studio 深度解析
在音频处理的世界里,噪音常常是困扰我们的一大难题。无论是专业的音频工作者,还是普通的音频爱好者,都渴望拥有一款强大的工具来解决这个问题。今天,就为大家介绍两款来自 AI 工具导航(AIDH.NET)的 AI 语音…...
Kubernetes 使用 Kube-Prometheus 构建指标监控 +飞书告警
1 介绍 Prometheus Operator 为 Kubernetes 提供了对 Prometheus 机器相关监控组件的本地部署和管理方案,该项目的目的是为了简化和自动化基于 Prometheus 的监控栈配置,主要包括以下几个功能: Kubernetes 自定义资源:使用 Kube…...
20250221 NLP
1.向量和嵌入 https://zhuanlan.zhihu.com/p/634237861 encoder的输入就是向量,提前嵌入为向量 二.多模态文本嵌入向量过程 1.文本预处理 文本tokenizer之前需要预处理吗? 是的,文本tokenizer之前通常需要对文本进行预处理。预处理步骤可…...
【C++】const关键字的作用及常见应用场景
一、核心作用 用于定义“常量”,限制程序对变量的修改,提升代码安全性和可读性。其核心作用包括: 避免误修改:明确标识不可变数据。编译器优化:常量可被放入符号表,减少内存访问,优化执行效率…...
04控制流
一、二路分支 逻辑:程序中某段代码需要在满足某个条件时才能运行形式: if 语句:表达一种 如果-则 的条件执行关系if-else 语句:表达一种 如果-否则 的互斥分支关系 流程图: 注意: if 语句可以单独使用&…...
【Leetcode 每日一题】2506. 统计相似字符串对的数目
问题背景 给你一个下标从 0 0 0 开始的字符串数组 w o r d s words words。 如果两个字符串由相同的字符组成,则认为这两个字符串 相似 。 例如,“abca” 和 “cba” 相似,因为它们都由字符 ‘a’、‘b’、‘c’ 组成。然而,“…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
