最近要给小伙伴们写几篇文章,关于《linux下误删除文件之后该如何恢复》。对于没有进程占用的文件想要进行数据恢复,不同的文件系统格式需要使用不同的工具,比如:ext4、xfs等。我找遍了我所有的虚拟机服务器,都没找到ext4文件格式的。因为ext4毕竟还是非常常用的文件系统格式,我写东西就希望能够系统一点,所以本文先介绍下:如何为linux操作系统挂载新硬盘,并将新硬盘格式化为ext4格式。

一、新建硬盘或安装硬盘

一个硬盘可以通过工具分成多个分区,但在linux运维中通常一个新硬盘就一个分区即可。硬盘中的每个分区需要与linux操作系统中的一个文件目录建立挂载关系。后续针对这个目录下的文件读写操作,实际就是针对该磁盘进行文件读写操作。对于这一步安装硬盘的操作,如果是真实的服务器,将硬盘安装到服务器的机架上即可。 对于虚拟机我们需要新建硬盘,规划硬盘空间。所以下面的操作只针对虚拟机,我使用的是virtualbox虚拟机,其他的虚拟机其实差不多。虚拟机设置->存储->控制器SATA->添加新的硬盘->创建新的虚拟盘。

然后根据提示选择虚拟盘的格式、大小、宿主机上的存储路径即可。注意虚拟盘的格式是虚拟机的文件存储格式,与linux操作系统的文件格式无关,如果不会选就默认即可。创建完成之后,会在控制器SATA下面多出一个新的硬盘。

二、添加硬盘分区

下面我们来将硬盘挂载到指定的目录,这一步开始就不区分是虚拟机还是服务器了,都是一样的操作。我们通过命令lsblk -f查看一下操作系统现在能够识别的硬盘盘符。我们能够看到sda盘符的硬盘是安装操作系统的时候的硬盘,包含swap、boot分区等。

注意红色的部分sdb盘符的硬盘就是我们新安装的硬盘,下面我们来针对sdb硬盘进行分区。磁盘分区的命令是fdisk /dev/sdb,sdb是我们上文提到的新分区盘符。按照如图所示操作完成之后,新的硬盘就完成了分区操作,一个硬盘只做了一个分区。通过lsblk -f再次查看硬盘分区,我们看到sdb硬盘下多出一个分区sdb1,证明我们的分区操作正确的完成了。 唯一的区别是:旧的硬盘分区都有一个UUID和挂载目录MOUNTPOINT,而我们新建的硬盘分区是没有的。就需要我们下面来完成硬盘分区的格式化与目录挂载。

三、硬盘分区格式化与目录挂载

下面我们来针对分区进行格式化,格式化的操作比较简单,执行mkfs -t ext4 /dev/sdb1命令即可,其中sdb1是我们新建的分区,ext4是linux操作系统支持的一种硬盘存储格式。

[root ~]# mkdir -p /data;        #新建一个目录用于挂载新硬盘
[root ~]# mount /dev/sdb1 /data;   #挂载新硬盘到目录
[root ~]# lsblk -f
NAME            FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                      
└─sdb1          ext4              0f75f926-222b-4385-84ac-8c69c613aa0a   /data

格式化完成之后,我们需要将已经格式化之后的分区,挂载到linux操作系统的一个目录下面。所有操作完成之后,我们再用lsblk -f查看分区,可以看到我们新添加了硬盘sdb,新建了分区sdb1,完成sdb1分区格式化之后sdb1分区有了自己的UUID,格式化的存储格式是ext4,完成了挂载操作之后有了MOUNTPOINT。以后该操作系统下针对/data目录的读写操作,其实都是针对我们刚刚添加的硬盘sdb进行的。

四、重启后不失效

上面完成的挂载关系,在操作系统重启之后就失效了。如果希望下次操作系统重启的时候自动挂载,需要在/etc/fstab 文件中添加下面的一行记录实现自动挂载。

/dev/sdb1  /data  ext4 defaults 0 0

执行如下命令会重新加载配置文件,并使其生效:

mount -a
作者:|字母哥博客|,原文链接: https://www.cnblogs.com/zimug/p/16316110.html

文章推荐

【clickhouse专栏】单机版的安装与验证

SpringBatch从入门到精通-2-StepScope作用域和用法

详解TCP四次挥手(断开TCP连接过程)

Change Buffer 只适用于非唯一索引页?错

.NET性能优化-推荐使用Collections.Pooled

Android shape与selector标签使用

curl 下载地址中有特殊字符解决方案

Databend 全链路追踪

一文学会Java的交互式编程环境jshell

Python数据分析--工具安装及Numpy介绍(1)

并发编程之临界区\阻塞\非阻塞\死锁\饥饿\活锁

解决目标网站封爬虫的3步方法