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

Linux磁盘分区、格式化、挂载(linux硬盘分区格式化及挂载)

sinye56 2024-10-28 19:17 4 浏览 0 评论

一、前期准备

测试环境:VMware Workstation / centos8

1)增加一块磁盘

2)查看新增磁盘(lsblk),发现没找到新增的磁盘

3)解决查不到新增磁盘问题

重新扫描SCSI总线添加设备,

$ echo "- - -" > /sys/class/scsi_host/host0/scan
$ echo "- - -" > /sys/class/scsi_host/host1/scan
$ echo "- - -" > /sys/class/scsi_host/host2/scan

上面的host0/host1/host2主要还得看机器,可能数量会有不一样。

刷完就可以看到新增的那块磁盘了

二、分区

1)简介

  • 在 Linux 中规定,每一个硬盘设备最多能有4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4个
  • 主分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是就是逻辑分区(logical partion),况且逻辑分区没有数量上限制
  • Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 sda1、sda2、sda3、sda4,而逻辑分区占用了 sda5 到 sda16 等 12 个号码。
  • 一个扇区是512字节,其中有64个字节存储的是分区表,一条分区信息占16个字节,因此磁盘最多只能分四个分区,这时候就有了扩展分区。
  • 扩展分区可以被继续划分为多个逻辑分区,逻辑分区是可以进行格式化的。扩展分区把逻辑分区的分区信息在扩展分区中找了一个位置给存起来。假如说p4扩展分区划分了三个逻辑分区那么第1个逻辑分区命名为sda5、第2个为sda6、第3个sda7,以此类推。一个磁盘被分为四个分区,第四个分区被设置为扩展分区,第一个逻辑分区为sda5。总结一下,就是不论磁盘有几个主分区,第一个逻辑分区一定是从sda5开始。

2)fdisk 对磁盘进行分区

[root@centos8-nat-168-182-152 ~]# fdisk /dev/sdb //对sdb磁盘进行分区

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x72914843.

Command (m for help): m                        //输出帮助信息

Help:

  DOS (MBR)
   a   toggle a bootable flag                 //设置启动分区
   b   edit nested BSD disklabel              //编辑分区标签
   c   toggle the dos compatibility flag      //flag

  Generic
   d   delete a partition                    //删除一个分区
   F   list free unpartitioned space         //列出分区类型
   l   list known partition types            //输出帮助信息
   n   add a new partition                   //建立一个新的分区
   p   print the partition table             ///打印分区表
   t   change a partition type               //改变分区的ID
   v   verify the partition table            //检查验证分区表
   i   print information about a partition   

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help): n                  
Partition type 
   p   primary (0 primary, 0 extended, 4 free)     //p是主分区
   e   extended (container for logical partitions) //e是扩展分区
Select (default p): p
Partition number (1-4, default 1): 1               //定义分区数量   --主分区最多只能有四个
First sector (2048-16777215, default 2048):        //表示起始扇区;默认从第2048块扇区开始是因为,由于EFI的兴起,要给EFI 代码留磁盘最开始的1M空间.
Last sector, +sectors or +size{K,M,G,T,P} (2048-16777215, default 16777215): +1024M //此处可直接输入柱面号码,但需要你自己计算分区大小,也可直接用+..M(如上),让系统自己分配柱面号码。

Created a new partition 1 of type 'Linux' and of size 1 GiB.  //这里就为此分区分配了1G的空间

Command (m for help): w  //保存刚才的配置信息。
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

查看(fdisk -l或者lsblk)

注意

上面的分区只适用于磁盘小于2T,大于2T需要用parted来分区

三、磁盘格式化

格式化:指将分区格式化成不同的文件系统。

文件系统:指操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。

注意

但是当你在格式化的时候,有可能找不到这个分区。这是因为Linux没有把分区信息读到内核来,我们需要输入partprobe这个命令,来使我们内核重读一下我们的分区信息。

格式化命令

mkfs -t ext4 /dev/sdb1或 mkfs.ext4 /dev/sdb1 两者命令皆可

Linux下的文件类型有ext2、ext3、ext4、xfs等等,我们可以使用命令:mkfs. 然后用按TAB键来查看都有哪些文件类型。

[root@centos8-nat-168-182-152 ~]# mkfs.ext4 /dev/sdb1 
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 1463fdcf-7360-4eb2-a671-d07262266121
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

检查,格式化后就有UUID

[root@centos8-nat-168-182-152 ~]# lsblk -f
NAME        FSTYPE      LABEL                      UUID                                   MOUNTPOINT
sda                                                                                       
├─sda1      xfs                                    58a9a0c3-f34d-41f7-a3e8-40e4801d8615   /boot
└─sda2      LVM2_member                            tA0cp2-gAml-dmLs-i3Rh-GHqT-iNDT-fa3PBt 
  ├─cl-root xfs                                    9cbc11d5-0d6b-4c1a-8511-fba93dada487   /
  └─cl-swap swap                                   f0029228-fb9b-4131-ae57-f0ba1282a0c6   [SWAP]
sdb                                                                                       
└─sdb1      ext4                                   1463fdcf-7360-4eb2-a671-d07262266121   
sr0         iso9660     CentOS-8-4-2105-x86_64-dvd 2021-06-01-20-39-18-00                 

四、挂载

1)临时挂载

将指定的一个目录作为挂载点目录时,如果挂载点的目录有文件,那么文件会被隐藏。因此当我们需要挂载目录时,最好新建一个空文件夹来作为挂在点目录。(重启后失效

创建挂载目录

$ mkdir -p /opt/data1

挂载

$ mount /dev/sdb1 /opt/data1

取消挂载,下面两条命令均可

$ umount /dev/sdb1 # 磁盘名
$ umount /opt/data1 # 挂载目录名

2)永久挂载

使用永久挂载,就意味着它开机会自动挂载(编辑 /etc/fstab 文件)

命令:blkid:查看对应分区的UUID(编号)。UUID唯一标识每一个分区,防止错误的挂载。除此之外,还会显示分区的类型。(建议先复制一下sdb1的UUID,一会儿会用到)

[root@centos8-nat-168-182-152 ~]# blkid /dev/sdb1 
/dev/sdb1: UUID="1463fdcf-7360-4eb2-a671-d07262266121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="72914843-01"

使用vi编辑 /etc/fstab在命令行直接输入vim /etc/fstab 就可以编辑,实现开机自动挂载。

$ echo 'UUID="1463fdcf-7360-4eb2-a671-d07262266121"  /opt/data1  ext4  defaults 0  0' >> /etc/fstab

/etc/fstab该文件中存在六列参数:

第一列:设备文件或UUID或label(三者的区别看下面)
第二列:设备的挂载点(空目录)
第三列:该分区文件系统的格式(可以使用特殊的参数auto,自动识别分区的分区格式)
第四列:文件系统的参数,设置格式的选项
第五列:dump备份的设置(0表示不进行dump备份,1代表每天进行dump备份,2代表不定日期的进行dump备份)
第六列:磁盘检查设置(其实是一个检查顺序,0代表不检查,1代表第一个检查,2后续.一般根目录是1,数字相同则同时检查)

设备文件、UUID、label作为标识的不同:

  1. 使用设备文件名会在当前生效,可能在系统重启之后会出现问题
  2. label在系统重启之后也会生效,但是要实时注意该设备的label
  3. UUID是分区的唯一标识。(推荐)

可以查看sdb1分区的UUID和label(详细信息) ,发现sdb1没有设置label,但是可以查看/dev/sr0的lable(/dev/sr0是光驱的设备名)

最后验证:

由于内核还没有读取这个命令,使用mount -a 这个命令来让内核读取这个文件(通过mount -a 读取/etc/fstab 重新挂载)

$ mount -a

相关推荐

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文件系统访问存储在硬盘中的文件。如果你...

取消回复欢迎 发表评论: