博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
误将两块磁盘挂载到根目录解决办法
阅读量:3960 次
发布时间:2019-05-24

本文共 746 字,大约阅读时间需要 2 分钟。

一.背景:

1.因根目录/空间不大,故而想将另一硬盘挂载到根目录下(后发现此想法很是幼稚)

二.过程:

2.成功输入命令挂载后,发现出现/上被挂了两个东西,且/下剩余空间还是原来一样大,才发现大错特错

mount /dev/vdb1 /

3.查阅资料后,才知道根目录的重要性,且两个设备挂载在同一文件夹

df -h

会出现只显示一个硬盘的挂载空间信息且是第一个硬盘的空间信息,虽然两个盘名字都显示挂载在上面了,但后者实际上并没有成功。(因为挂载的意义就是磁盘入口的意思,若是两者都能成功,则数据将向哪存储呢?)

4.在这种背景下按照常规的卸载umount设备会显示有进程在挂载点跑,若是按照常规方法再将这些进程杀死,显然不行(因为这是根目录,跑的都是系统必要进程,杀死系统就会死了)

5.继续查阅资料,发现有两个相关的文件

/etc/fstab和/etc/mtab这是挂载相关的文件,操作这两个文件可达到卸载设备的目的下面查看这两个文件

cat /etc/fstabcat /etc/mtab

查看这两个文件,看是否有挂载根目录/相关的信息,我试验的结果是只有mtab文件里有sdb1,我们把这条sdb1挂载到/的记录删除即可

6.编辑文件发现是系统文件并没有写的权限,使用chmod命令更改文件使用权限

发现并不能做修改,那么会不会有可能是文件有隐藏属性,使用

chattr -i /etc/mtab  (immutable)不能更改或者删除

移除文件的隐藏属性,发现还是不能对文件进行修改

7.尝试将旧的磁盘重新挂载到根目录下

mount /dev/vda1 /

发现根目录磁盘变成旧磁盘的名字,那么再将后面追加的新磁盘挂载到新的目录下

mout /dev/vdb1 /data

三.成功

转载地址:http://iyazi.baihongyu.com/

你可能感兴趣的文章
linux,shell中if else if的写法,if elif
查看>>
shell中单引号、双引号、反引号的区别
查看>>
shell脚本死循环方法
查看>>
shell中$*和$@的区别
查看>>
log4cxx 的编译安装过程和使用
查看>>
简单邮件系统程序
查看>>
STL里的multimap使用详解
查看>>
STL 库其中的 std::string用法总结
查看>>
模态对话框的销毁过程与非模态对话的几种销毁方法
查看>>
C++实现http下载 && 24点计算编码风格
查看>>
memcached了解使用和常用命令详解
查看>>
GDB调试各功能总结
查看>>
"undefined reference to" 多种可能出现的问题解决方法
查看>>
类结构定义
查看>>
Windows下关于多线程类 CSemaphore,CMutex,CCriticalSection,CEvent,信号量CSemaphore的使用介绍
查看>>
图像处理基本算法(汇总)以及实现
查看>>
C++编程获取本机网卡信息 本机IP 包括Windows和Linux
查看>>
23种设计模式详解及C++实现
查看>>
C++连接CTP接口实现简单量化交易
查看>>
服务端使用c++实现websocket协议解析及通信
查看>>