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’ 组成。然而,“…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...
