百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

如何让Linux识别新增的硬盘(linux识别新增磁盘)

sinye56 2024-11-04 13:57 10 浏览 0 评论

当我们为Linux系统新增硬盘之后,如果不做一些操作,该硬盘是无法被成功识别的。而要做的操作就是分区和挂载。

一、分区

1.1 文件系统

在Linux中会使用树形文件来作为数据存储的结构,也就是所谓的目录加文件的形式。但对于磁盘等各种存储设备来说,无论是什么形式的数据,最终都会转换为0和1。也就是说,磁盘的物理存储方式决定了其根本不会存在文件和目录的概念。当然,对用户来说,0和1也是毫无意义的?此时就需要在用户和磁盘之间建立一种类似于“翻译”的机制,而Linux中文件系统+虚拟文件系统(Virtual File System,VFS)的解决方案就是这种翻译机制的实现。

那么什么是文件系统呢?所谓文件系统就是操作系统用于确定磁盘或分区上相关文件的方式和数据结构,简单说就是磁盘上组织文件的方法。在使用磁盘前,都需要对磁盘进行初始化操作,并将一些数据结构写到磁盘上,其目的就是建立对应的文件系统。当然,这些操作在某些操作系统中被称为格式化。

对于Linux而言,支持多种文件系统,如;ext2、ext3、ext4、xfs,zfs、iso9660、vfat、msdos、smbfs、nfs等,此外还能通过加载其他模块的方式来支持更多的文件系统。尽管Linux能够支持的文件系统很多,但是对于大部分的Linux系统而言,它们都具有类似的数据结构,如:超级块(superblock)、i节点(inode)、数据块(datablock)、目录块(directory block)等。

  • 超级块:包含文件系统的总体信息,是文件系统的核心,一般在磁盘中会有多个超级块,从而避免当磁盘出现坏块而导致文件系统无法使用的情况。
  • inode:用于存储所有与文件有关的元数据,如:文件的所有者、权限等属性数据以及指向的数据块。需要说明一点的是,inode中不包括文件名和文件内容。
  • 数据块:是真实存放文件数据的部分,一个数据块默认情况下是4KB。
  • 目录块:包括文件名和文件在目录中的位置,并包括文件的inode节点信息等。

1.2 如何进行分区

磁盘在使用前需要对其进行分区。磁盘的分区主要分为两类,即主分区和扩展分区。受制于磁盘的分区表大小(MBR大小为512字节,其中分区表占64字节),由于每个分区信息使用16字节,所以一块磁盘最多只能创建4个主分区,为了能支持更多分区,可以使用扩展分区(扩展分区中可以划分更多逻辑分区),但是即便这样,分区还是要受主分区+扩展分区最多不能超过4个的限制。在完成磁盘分区后,需要进行创建文件系统的操作,最后将该分区挂载到系统中的某个挂载点才可以使用。

下面开始进行分区的介绍。事先声明一点,本文使用虚拟机来进行演示。

  • 增加虚拟硬盘

右击对应的虚拟机,在弹出的菜单中选择“设置”,如下所示:

点击之后就来到了设置页面,如下所示:

接着点击“添加”,出现下图所示的页面:

接着选择“硬盘”,点击“下一步”后出现下图所示页面:

这里选择默认的“SCSI”即可。继续点击“下一步”,出现下图所示的页面:

这里选择默认的“创建新虚拟磁盘”,并点击“下一步”。点击之后出现下图所示页面:

由于只是测试,因此分配1G大小即可,并选择“将虚拟磁盘存储为单个文件”,之后继续点击“下一步”,出现下图所示页面:

最后点击完成即可。此时发现在设置页面上已经出现了新添加的硬盘,如下所示:

点击“确定”,接着开启或者重新启动虚拟机后,使用fdisk -l命令进行查看,发现已经有/dev/sdb设备,如下图所示:

这就是新添加的磁盘在操作系统中对应的设备文件。其大小是1073MB(我在创建磁盘时给的大小是1GB,由于操作系统之间计算容量的差别,所以会存在一定的误差)。下面开始介绍如何进行分区。

  • 进行分区

接着是对新增加的/dev/sdb磁盘进行分区。首先输入fdisk /dev/sdb,如下图所示:

这里需要输入字母n,这个字母代表new,也就是新建分区,如下图所示:

然后系统会进行提示,询问是创建扩展分区(extended)还是主分区(primary),这里选择p,如下图所示:

在分区号中输入数字1,代表这是第一个分区,如下图所示:

下面要输入首个柱面开始的位置,也就是该处输入2048;然后输入最后一个柱面的位置,也就是输入2097151表示将所有的空间划给这个分区,如下图所示:

最后输入字母w,代表将刚刚创建的分区写入分区表。这样就完成了第一步分区操作,如下图所示:

到此,分区已经完毕。此时可以使用fdisk -l进行查看,查看结果如下所示:

然后在刚刚创建的分区中格式化文件系统,这里使用的是ext4文件系统。使用到的命令如下所示:

mkfs -t ext4 /dev/sdb1
或
mkfs.ext4 /dev/sdb1

执行结果如下所示:

接着使用如下命令来查看是否分区成功:

lsblk -f

执行结果如下所示:

当然,能够查看磁盘分区信息的命令除了lsblk外,还有如下几个:

  1. df -T:查看已挂载的分区和文件类型
  2. fdisk -l : 只能显示分区,无法显示文件系统类型
  3. lsblk -l:查看分区的文件系统类型,包括挂载和未进行挂载的分区
  4. file -s 分区名称:查看指定挂载分区的文件系统类型

大家按照自己的需求选用对应的命令即可。

二、挂载

2.1 手动挂载

手动挂载就是使用mount命令来进行挂载。在Linux系统下, 创建了文件系统的分区后还需要经过挂载才能使用。以上面的例子来说,新建的磁盘分区为/dev/sdb1,比如需要将其挂载到/root/newDisk目录下,此时使用到的命令为:

[root@localhost ~]# mount /dev/sdb1 newDisk

执行之后可以通过如下命令来查看是否挂载成功:

df -h|grep sdb1

执行结果如下所示:

2.2 自动挂载

所谓自动挂载就是通过修改/etc/fstab配置文件来实现开机启动后的自动挂载。因为使用mount命令进行的挂载在计算机重启之后就会失效。

使用reboot命令重启虚拟机,重启后再次使用df -h | grep sdb1查看结果如下所示:

从上面结果可知,如果只是单纯用mount进行挂载,在服务器重启后挂载的磁盘确实失效了。

下面我们来对/etc/fstab配置文件进行修改,可以使用如下命令进行直接修改:

echo "/dev/sdb1 /root/newDisk ext4 defaults 0 0" >> /etc/fstab

这句话的意思是直接在/etc/fstab配置文件中追加echo输出的文本信息。当然,也可以使用vi命令打开/etc/fstab文件后进行追加。

对于上述命令而言,大致可以分为六个部分:

  1. /dev/sdb1(第一部分):表示待挂载的磁盘
  2. /root/newDisk(第二部分):表示磁盘需要挂载到哪个目录下
  3. ext4(第三部分):表示挂载使用的文件系统。
  4. defaults(第四部分):表示使用系统默认的挂载参数。
  5. 0(第五部分):用于决定dump命令在进行备份时是否要将这个分区存档,默认设0
  6. 0(第六部分):用于设定系统启动时是否对该设备进行fsck,这个值只可能是3种,其中1表示保留给根分区,2表示其他分区使用(检查完根分区后检查)或者0表示不尽兴任何检查。

执行完毕后再次重启系统后,再次执行df -h|grep sdb1查看结果如下所示:

到此,关于让Linux操作系统识别新增硬盘就介绍完毕,希望对大家有所帮助。

相关推荐

Linux两种光驱自动挂载的方法

环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...

linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握

虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...

Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)

mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...

在Linux中如何设置自动挂载特定文件系统(示例)

Linux...

Linux环境中的绑定挂载(bind mount)

简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...

Linux挂载CIFS共享 临时挂载 1. 首先

如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...

Linux 硬盘挂载(服务器重启自动挂载)

1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...

linux 挂载磁盘

在Linux中挂载硬盘的步骤如下:...

笨小猪教您Linux磁盘挂载

本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...

Linux 磁盘挂载和docker安装命令

本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...

Linux设置开机自动挂载分区

有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...

在linux挂载一个新硬盘的完整步骤

以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...

Linux系统如何挂载exFAT分区

简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...

Linux系统挂载硬盘

fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...

WSL2发布,如何在Win10中挂载Linux文件系统

WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...

取消回复欢迎 发表评论: