linux 硬盘分区 格式化 挂载

MBR概述:全称为Master Boot Record,即硬盘的主引导记录。 如果你用的是GPT的分区方式,那么它没有限制主分区个数 MBR概述 分区编号:主分区1-4 ,逻辑分区5…… LINUX规定:逻辑分区...

一、分区分类

MBR:全称为Master Boot Record,即硬盘的主引导记录。

GPT:分区模式使用GUID分区表,是源自EFI标准的一种较新的磁盘分区表结构的标准。与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。


1. MBR概述


分区编号:主分区1-4 ,逻辑分区5……  。主分区最多 4个

LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上


分区作用:

主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上

扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中

attachments-2020-02-QyJwgMPw5e52117e59f32.png

这是采用MBR分区方案的硬盘分区示意图(一块硬盘 ),关于主分区、扩展分区与逻辑分区的各自含义,后面会有说明。

MBR是传统的分区表,如果你使用的电脑比较老,该电脑硬盘使用MBR分区方案的可能性比较大。下面,我们列出MBR分区表的一些重要特点:

  • 1、MBR分区方案使用硬盘的第一个物理扇区中的64个字节作为分区表的空间保存硬盘分区信息,每个分区的信息要占16个字节。所以,MBR分区表最多只能保存4个分区的分区信息。
  • 2、MBR分区方案中,有三种类型的分区,主分区、扩展分区和逻辑分区。扩展分区与逻辑分区是为了突破分区表中只能保存4个分区的限制而出现的。
  • 3、MBR分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用。逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内,这样,就可以突破MBR分区表只能保存4个分区的限制。
  • 4、16个字节的分区信息保存有分区活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容。这里最重要的是:分区的起始扇区位置与分区的总扇区数,都是用4个字节表示的。
  • 5、一般每个扇区的容量是512字节,4个字节的扇区能表示的最大容量是2TB,由4可知,在MBR分区表中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB。所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。


如果你一个普通用户,对技术细节不是那么感兴趣,那其实关于MBR分区方案你需要记住的只有两点:

  • 1、本来MBR分区表只能保存四个分区的信息,但通过扩展分区与逻辑分区的使用,MBR突破了这个限制。
  • 2、由于MBR分区表中,表示地址的参数是只有4个字节,所以导致MBR分区方案中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB。所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。


2.查看硬盘设备以及分区情况

[root@centos7 ~]# ls /dev/sda*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sda5

命名方式: /dev/sd[a-z]n

其中:a-z 表示硬盘的序号,如sda表示第一块scsi硬盘,sdb就是第二块......

          n  表示每块磁盘上划分的磁盘分区编号

attachments-2020-02-wwmRam0y5e52142941d60.png

3.使用分区工具fdisk对磁盘进行操作,分区,格式化(重点)

fdisk:磁盘分区,Linux发行版本中最常用的分区工具

用法:fdisk [选项] device    

常用的选项 : -l 查看硬盘分区表  

案例:sdb盘上建一个分区,大小为1G


[root@centos7 ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Feb 23 01:02 /dev/sda
brw-rw----. 1 root disk 8,  1 Feb 23 01:02 /dev/sda1
brw-rw----. 1 root disk 8,  2 Feb 23 01:02 /dev/sda2
brw-rw----. 1 root disk 8,  3 Feb 23 01:02 /dev/sda3
brw-rw----. 1 root disk 8,  4 Feb 23 01:02 /dev/sda4
brw-rw----. 1 root disk 8,  5 Feb 23 01:02 /dev/sda5
brw-rw----. 1 root disk 8, 16 Feb 23 01:02 /dev/sdb
[root@centos7 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
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
Building a new DOS disklabel with disk identifier 0xeb311dde.
Command (m for help): m #打印帮助
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition #删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types #显示分区类型
   m   print this menu 打印帮助
   n   add a new partition 添加新的分区
   o   create a new empty DOS partition table
   p   print the partition table 显示分区表
   q   quit without saving changes 不保存退出
   s   create a new empty Sun disklabel
   t   change a partition's system id 改变分区表类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit 保存操作并退出
   x   extra functionality (experts only)
Command (m for help): p
Disk /dev/sdb: 8526 MB, 8526585856 bytes, 16653488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xeb311dde
   Device Boot      Start         End      Blocks   Id  System
Command (m for help): n 新建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p 建立主分区
Partition number (1-4, default 1): 1
First sector (2048-16653487, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-16653487, default 16653487): 1G     
Value out of range.
Last sector, +sectors or +size{K,M,G} (2048-16653487, default 16653487): +1G #注意+号
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): w 保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@centos7 ~]# ls /dev/sdb* 查看结果
/dev/sdb  /dev/sdb1
[root@centos7 ~]# 
让新的分区生效
[root@centos7 ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partition 1

格式化分区并挂载使用

[root@centos7 ~]# mkfs.ext4 /dev/sdb1
[root@centos7 ~]# mkdir data 创建挂载点
[root@centos7 ~]# mount /dev/sdb1 data/
[root@centos7 ~]# df -h  #查看

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        733M     0  733M   0% /dev
tmpfs           748M     0  748M   0% /dev/shm
tmpfs           748M  9.5M  739M   2% /run
tmpfs           748M     0  748M   0% /sys/fs/cgroup
/dev/sda2        10G  4.5G  5.6G  45% /
/dev/sda5        52G  111M   52G   1% /home
/dev/sda1       197M  146M   52M  75% /boot
tmpfs           150M   20K  150M   1% /run/user/0
/dev/sr0         57M   57M     0 100% /run/media/root/VBox_GAs_6.1.2
/dev/sdb1       976M  2.6M  907M   1% /root/data

4.写入配置文件,让它开机自动挂载


方法1:
写入配置文件,让它开机自动挂载:/etc/fstab

[root@centos7 ~]# echo "/dev/sdb1 /root/data ext4 defaults 0 0" >>/etc/fstab
[root@centos7 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat Feb 22 09:25:14 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=b2af0e57-3f99-40b9-a621-6697301e4b88 /                       xfs     defaults        0 0
UUID=dd56dea7-8797-4fef-aa8e-ef2a8adf2f29 /boot                   xfs     defaults        0 0
UUID=c05c7778-3202-44c8-810e-23f9e711cf8f /home                   xfs     defaults        0 0
UUID=c26caf1e-444a-4445-8f91-49af5b828113 swap                    swap    defaults        0 0
/dev/sdb1 /root/data ext4 defaults 0 0
[root@centos7 ~]# mount -a #自动挂载未挂载的分区
[root@centos7 ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        733M     0  733M   0% /dev
tmpfs           748M     0  748M   0% /dev/shm
tmpfs           748M  9.5M  739M   2% /run
tmpfs           748M     0  748M   0% /sys/fs/cgroup
/dev/sda2        10G  4.5G  5.6G  45% /
/dev/sda5        52G  111M   52G   1% /home
/dev/sda1       197M  146M   52M  75% /boot
tmpfs           150M   20K  150M   1% /run/user/0
/dev/sr0         57M   57M     0 100% /run/media/root/VBox_GAs_6.1.2
/dev/sdb1       976M  2.6M  907M   1% /root/data

配置文件各列解释

/dev/sdb1

/sdb1

 ext4

defaults

0

0

要挂载的分区设备

挂载点

文件系统类型

挂载选项

是否备份

是否检测


方法2:

使用设备的uuid挂载,避免硬盘拔插,分区号改变挂错硬盘:

[root@centos7 ~]#  blkid  显示设备的uuid
/dev/sr0: UUID="2020-01-13-11-26-32-82" LABEL="VBox_GAs_6.1.2" TYPE="iso9660" 
/dev/sda1: UUID="dd56dea7-8797-4fef-aa8e-ef2a8adf2f29" TYPE="xfs" 
/dev/sda2: UUID="b2af0e57-3f99-40b9-a621-6697301e4b88" TYPE="xfs" 
/dev/sda3: UUID="c26caf1e-444a-4445-8f91-49af5b828113" TYPE="swap" 
/dev/sda5: UUID="c05c7778-3202-44c8-810e-23f9e711cf8f" TYPE="xfs" 
/dev/sdb1: UUID="911fc7a2-bc67-407d-9517-ed2992e54b3a" TYPE="ext4" 
[root@centos7 ~]# echo "UUID=911fc7a2-bc67-407d-9517-ed2992e54b3a  /root/data  xfs defaults 0 0" >> /etc/fstab


GPT分区方案


相比较于MBR,GPT是新一代的分区方案,如果你使用的电脑很新,有可能该电脑上的硬盘就是使用了GPT分区方案。

GPT比MBR要复杂,下面我们简单说明一下GPT的技术细节,如果你不是技术控,对这些技术细节不感兴趣,可以跳过这部分,直接去阅读GPT的重要特点。

attachments-2020-02-GzrkJA545e52122e220af.png

这张图,简明扼要的显示除了GPT分区方案的硬盘结构。

首先,你会注意到,这张用LBA 0、LBA 1这样的方法来表明硬盘上的地址,这是因为以前一般都是用chs方式对硬盘寻址的,现在一般都用LBA方式对硬盘寻址,关于chs与LBA,不明白且有兴趣专研的读者,可以自行查阅相关资料,对上面这张图来说,LBA 0指的是物理序号为0的第一个扇区,LBA 1指的是物理序号为1的第二个扇区,依次类推。

下面比照着上面这张图,解释下GPT分区方案。

  • 1、保留MBR,GPT的分区方案,硬盘的第一个物理扇区,仍然是一个前面讲过的MBR,这个MBR主要是出于软件兼容性的考虑,对GPT分区方案本身来讲,其实没有啥意义。
  • 2、GPT分区表头,这个在保留MBR之后,也就是占用第二个物理扇区,GPT分区表头中,定义了分区的数量,基本上,你可以认为GPT分区的数量是没有限制的;
  • 3、GPT分区表,从第三个扇区开始,是实际的分区表。请注意:每个扇区可以保存4个分区信息,说明每个分区的分区信息占用的空间是128个字节。
  • 4、从3中,我们知道每个分区的信息占用了四分之一个扇区,也就是128字节的空间,对比一下MBR分区方案中,每个分区的信息只有16个字节,所以GPT分区方案,有充足的空间去存储分区的开始位置及总的容量等,基本上,不用考虑对分区容量的限制。
  • 5、从3中,我们知道,GPT分区方案,分了多少个区,就在分区表中有多少个分区信息。然而实际情形并不是这样,事实上,如图中所示:如果你使用windows操作系统,通常GPT分区表占用32个扇区的空间,可以保存128个分区信息,用不到的空间会被保留,实际使用了多少分区信息与保留了多少分区信息,在2中的GPT分区表头中设置。我们的电脑,通常不会有超过10个的分区,所以GPT分区表中的空间,90%以上都是保留空间,其实就是被浪费了。
  • 6、接下来的两个部分,很简单,分别是GPT分区表,及GPT分区表头的备份。

以上就是GPT分区方案的大致内容,其实也不算复杂了。对普通用户而言,其实需要了解的GPT最重要的特点是:使用GPT分区方案,没有硬盘容量不能超过2TB大小的限制,这是GPT区别于MBR的特点与优点!

现在,可能你会觉得如何使用MBR与GPT了:硬盘容量小于或等于2TB时,用MBR或GPT都行;硬盘容量大于2TB时,用GPT。这种说法没错,但实际情况比这个要复杂些。因为,正确的使用MBR或GPT,你还需要了解另外一些知识:比如BIOS与EFI。


 1.gdisk 磁盘分区工具 与fdisk工具类似

gdisk主要是用来划分容量大于2T的硬盘,大于2T fdisk搞不定

两种类型的分区表:GPTMBR  MBR不支持4T以上

GPT分区:GPT,全局唯一标识分区表(GUID Partition Table),它使用128GUID来唯一标识每个磁盘和分区,与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部一个在磁盘尾部;它通过CRC校验和来检测GPT头和分区表中的错误与损坏;默认一个硬盘支持128个分区

例:对sdbgpt分区,创建一个sdb1


[root@centos7 ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 Feb 23 01:37 /dev/sdb
[root@centos7 ~]# 
[root@centos7 ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************

Command (? for help): ?     查看帮助
bback up GPT data to a file
cchange a partition's name
ddelete a partition   #删除分区
ishow detailed information on a partition
llist known partition types
nadd a new partition   # 添加一个分区
ocreate a new empty GUID partition table (GPT)
pprint the partition table  # 打印分区表
qquit without saving changes   # 退出不保存
rrecovery and transformation options (experts only)
ssort partitions
tchange a partition's type code
vverify disk
wwrite table to disk and exit   # 写入分区表并退出
xextra functionality (experts only)
?print this menu
Command (? for help): n   #新建分区表
Partition number (1-128, default 1):      #
直接回车
First sector (34-16653454, default = 2048) or {+-}size{KMGTP}:     #直接回车,从头开始划分空间
Last sector (2048-16653454, default = 16653454) or {+-}size{KMGTP}: +1G    #1G空间
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):     #分区类型直接回车   注:8300Linux filesystem  ;8e00 Linux LVM     想查看,可以按L 来显示
Changed type of partition to 'Linux filesystem'
Command (? for help): p    #查看
Disk /dev/sdb: 16653488 sectors, 7.9 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): E08228E1-79AB-4AC8-8A82-782A795B9AFF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 16653454
Partitions will be aligned on 2048-sector boundaries
Total free space is 14556269 sectors (6.9 GiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  8300  Linux filesystem
Command (? for help): w    #保存
  
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y   #确定写入
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
[root@centos7 ~]# mkfs.xfs  /dev/sdb1   #格式化
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@centos7 ~]# mkfs.xfs -f  /dev/sdb1   #格式化
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
其他挂载查看等和MBR分区一致,这里不再赘述,  查看磁盘分区挂载 还可以用 fdisk -l

[root@centos7 ~]# fdisk -l
Disk /dev/sda: 68.7 GB, 68719476736 bytes, 134217728 sectors #第一块盘
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00060ad4
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    21383167    10485760   83  Linux
/dev/sda3        21383168    25577471     2097152   82  Linux swap / Solaris
/dev/sda4        25577472   134217727    54320128    5  Extended
/dev/sda5        25579520   134217727    54319104   83  Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/sdb: 8526 MB, 8526585856 bytes, 16653488 sectors #第二块盘
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: E08228E1-79AB-4AC8-8A82-782A795B9AFF

#         Start          End    Size  Type            Name
 1         2048      2099199      1G  Linux filesyste Linux filesystem
 2      2099200     16653454      7G  Linux filesyste Linux filesystem


生物信息入门到精通必修基础课:linux系统使用biolinux搭建生物信息分析环境linux命令处理生物大数据perl入门到精通perl语言高级R语言画图R语言快速入门与提高python语言入门到精通


  • 发表于 2020-02-23 13:48
  • 阅读 ( 3791 )
  • 分类:linux

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

698 篇文章

作家榜 »

  1. omicsgene 698 文章
  2. 安生水 347 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 74 文章
  8. CORNERSTONE 72 文章