Linux磁盘的分区和格式化

文章目录

  • Linux磁盘的分区和格式化
        • 进入fdisk,列出所有子命令
        • 删除磁盘分区

Linux磁盘的分区和格式化

什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。

为什么要有多个分区?

  • 防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
  • 增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
  • 数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起

##fdisk分区工具
fdisk是Linux系统下常用的分区工具,但fdisk只能划分小于2TB的分区

fdisk是用来磁盘分区的程序,它采用传统的问答界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣
##fdisk语法

功能说明:磁盘分区
语法:

fdisk [选项] [设备]

选项和参数

  • -b<分区大小>:指定每个分区的大小
  • -l:列出指定的外围设备的分区表状况
  • -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块
  • -u:搭配-l参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
  • -C<柱面数>:指定柱面数
  • -H<磁盘数>:指定磁头数
  • -S<扇区数>:指定磁盘每磁道的扇区数
  • -v:显示版本信息

菜单操作说明

  • m :显示菜单和帮助信息
  • a :设置磁盘启动分区
  • d :删除磁盘分区
  • l :显示磁盘分区类型
  • n :新建磁盘分区
  • p :显示磁盘分区信息
  • q :退出fdisk,不保存磁盘分区设置
  • t :转换分区类型
  • v :进行磁盘分区检查
  • w :保存修改
  • x :扩展应用,高级功能

###磁盘分区实例

进入fdisk,列出所有子命令

[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m
命令操作
   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)

####显示磁盘分区信息


命令(输入 m 获取帮助):p

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0000d528

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

这里显示的硬盘容量是以1KB=1000B为换算单位,而不是以1024B为换算单位,所以我们规划的20Gib硬盘容量在这里显示21.5 GB
1KB=1000Byte 1MB=1000KB 1GB=1000MB 1TB=1000GB
1KiB=1024Byte 1MiB=1024KiB 1GiB=1024MiB 1TiB=1024GiB

磁盘分区的表示方法如下
设备:磁盘分区设备名
Boot:表示引导分区,如果是引导分区则显示*,否则什么也不显示
Start:表示一个磁盘分区的开始扇区
End:表示一个磁盘分区的结束扇区
Blocks:表示分区容量,单位是块,默认一个块是1KB,一个分区容量的值是由Blocks=(End-Start)*扇区大小公式计算而来
Id:一个两位的十六进制数,表示分区类型
System:Id所定义的分区类型

####创建分区
磁盘的分区由主分区、扩展分区、逻辑分区组成

  • 主分区:主分区的主要存放操作系统的启动和引导程序
  • 扩展分区:扩展分区是逻辑分区的容器,逻辑分区必须建立在扩展分区上,扩展分区上是不能存放数据的,只能存放逻辑分区;扩展分区的容量=各个逻辑分区的容量之和
  • 逻辑分区:对于逻辑分区,Linux规定它们必须建立在扩展分区上,而不是建立在主分区上

数量关系
一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,但扩展分区最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个
在一块硬盘上,主分区和扩展分区最多有4个,占据分区范围1-4;逻辑分区从5开始。

数据存放位置
能存放数据的分区只有主分区和逻辑分区,但建议主分区仅仅存放操作系统的启动和引导程序,其它数据建议存储到逻辑分区中

容量
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和


创建分区时需要指定分区类型

  • 主分区:P
  • 扩展分区:e
  • 逻辑分区:l:该选项只有在拥有扩展分区之后才显示,因为逻辑分区必须建立在扩展分区上,而不是建立在主分区上

在创建磁盘分区时,需要指定结束扇区

  • n:使用结束扇区,n代表数字
  • +n:在开始扇区的基础上,加上n个扇区,n表示数字
  • -nM:在开始扇区的基础上,加上nMB容量,n代表数字。可以使用单位K、M、G
  • 回车键:使用默认的扇区,也就是这个分区的结束扇区就是最后一个扇区

####创建主分区

选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

创建主分区

命令(输入 m 获取帮助):n	#使用n命令创建磁盘分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)	#主分区
   e   extended	#扩展分区
Select (default p): p	#选择创建主分区
分区号 (1-4,默认 1):1	#选择分区号
起始 扇区 (2048-20971519,默认为 2048):2048 	#起始扇区位置
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G 	#终止扇区位置
分区 1 已设置为 Linux 类型,大小设为 1 GiB

保存修改

命令(输入 m 获取帮助):w 	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

####创建扩展分区
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

创建扩展分区

命令(输入 m 获取帮助):n	#使用n命令创建磁盘分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)	#主分区
   e   extended	#扩展分区
Select (default p): e	#选择创建扩展分区
分区号 (2-4,默认 2):2	#选择分区号
起始 扇区 (2099200-20971519,默认为 2099200):2099200	#起始扇区位置
Last 扇区, +扇区 or +size{K,M,G} (2099200-20971519,默认为 20971519):+1G	#终止扇区位置
分区 2 已设置为 Extended 类型,大小设为 1 GiB

保存修改

命令(输入 m 获取帮助):w 	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

####创建逻辑分区
只有创建了扩展分区才能创建逻辑分区,因为逻辑分区必须存放在扩展分区上,不能存放在主分区上
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

创建逻辑分区
可以使用n命令创建磁盘分区


命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)	#主分区
   l   logical (numbered from 5)	#逻辑分区,该选项只有拥有扩展分区的情况下才显示
Select (default p): l	#选择创建逻辑分区
添加逻辑分区 5		#选择分区号
起始 扇区 (2101248-4196351,默认为 2101248)#起始扇区位置
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-4196351,默认为 4196351)#终止扇区位置
将使用默认值 4196351
分区 5 已设置为 Linux 类型,大小设为 1023 MiB

保存修改

命令(输入 m 获取帮助):w	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
删除磁盘分区

选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

删除磁盘分区
可以使用d命令删除磁盘分区

命令(输入 m 获取帮助):d	#使用d命令删除磁盘分区
分区号 (1,2,默认 2):2	#要删除的分区号
分区 2 已删除

保存修改

命令(输入 m 获取帮助):w	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

####查看磁盘分区类型
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

查看磁盘分区类型
可以使用l命令查看磁盘分区类型

命令(输入 m 获取帮助):l	#使用l命令查看磁盘分区类型

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix

####转换分区类型
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

转换分区类型
可以使用t命令转换分区类型

命令(输入 m 获取帮助):t	#使用t命令转换分区类型
分区号 (1,2,5,默认 5):5	#选择要转换的分区号
Hex 代码(输入 L 列出所有代码):8e	#选择分区类型
已将分区“Linux”的类型更改为“Linux LVM”

保存修改

命令(输入 m 获取帮助):w	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

你可能感兴趣的:(Linux教程,linux,运维,centos,服务器)