当前位置: 首页 > news >正文

Ubuntu服务器 /data 盘需要手动挂载的解决方案

服务器 /data 盘需要手动挂载的解决方案

如果重启服务器后,发现 /data没有自动挂载,通常是因为:

  1. /etc/fstab 配置文件 没有正确设置 自动挂载。
  2. 该磁盘 没有被正确识别,需要手动挂载。
  3. 文件系统错误 导致挂载失败。

下面是解决方案,确保 /data 盘可以手动挂载,然后配置自动挂载


🔍 1. 确认 /data 盘是否存在

首先,使用 lsblkfdisk 检查当前磁盘情况:

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 + XYEnter)。

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 写错了,可能会导致 系统无法启动
解决方案:

  1. 进入恢复模式

    • 在开机引导时按 ESCShift 进入 GRUB 菜单。
    • 选择 Advanced optionsRecovery mode
    • 选择 Drop to root shell 进入命令行。
  2. 编辑 /etc/fstab 并修复错误

    mount -o remount,rw /
    nano /etc/fstab
    
    • 删除或修正错误的挂载行。
  3. 重新启动系统

    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 盘应该可以在服务器重启后自动挂载了! 🚀
如果还有问题,请提供 lsblkdf -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 命令行:

  1. 输入 n(新建分区)
  2. Enter(默认主分区)
  3. Enter(使用默认起始扇区)
  4. Enter(使用整个磁盘)
  5. 输入 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 + XYEnter)。

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/sdbnw创建 /dev/sdb1
格式化(清空数据)sudo mkfs.ext4 /dev/sdb1格式化为 ext4
创建挂载点sudo mkdir -p /data确保 /data 存在
挂载磁盘sudo mount /dev/sdb1 /data手动挂载
获取 UUIDsudo blkid /dev/sdb1用于 /etc/fstab 持久挂载
配置 /etc/fstabsudo nano /etc/fstab设置开机自动挂载
测试挂载sudo mount -a检查 /etc/fstab 配置
重启检查sudo rebootdf -h确保 /data 盘自动挂载

🚀 现在你的 /data 盘应该可以 永久自动挂载 了!
如果还有问题,提供 lsblkdf -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. 思路 加壳流程: 加载器&#xf…...

解锁音频新境界: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’ 组成。然而,“…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...