鸿 网 互 联 www.68idc.cn

Linux基础-20day-linux磁盘分区(fdisk/parted)

来源:互联网 作者:佚名 时间:2022-07-19 11:17
Linu x磁盘分区(fdisk/parted) 一 . 分区类型及表示方式 磁盘分区划分 :常见的硬盘可以划分为主分区、扩展分区、和逻辑分区( MBR分区方式)。通常情况下主分区只有4个,而扩展分区

Linux磁盘分区(fdisk/parted)

. 分区类型及表示方式

磁盘分区划分:常见的硬盘可以划分为主分区、扩展分区、和逻辑分区(MBR分区方式)。通常情况下主分区只有4个,而扩展分区看成一个特殊的主分区类型,在扩展分区可以建立逻辑分区。主分区一般用来安装操作系统,扩展分区则多用来储存文件数据。

MBR分区方案使用硬盘的第一个物理扇区中的64个字节作为分区表的空间保存硬盘分区信息,每个分区的信息要占16个字节。所以,MBR分区表最多只能保存4个分区的分区信息。

16个字节的分区信息保存有分区活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容。这里最重要的是:分区的起始扇区位置与分区的总扇区数,都是用4个字节表示的。

一般每个扇区的容量是512字节,4个字节的扇区能表示的最大容量是2TB,由4可知,在MBR分区表中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB。所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。

磁盘分区表示Linux系统根据设备类型对硬盘设备进行识别,如果是IDE硬盘,计算机中被识别为“hd”,第一块设备被识别为“hda”,第二块设备被识别为“hdb”,以此类推。如果是ATA、SCSI等设备,将被识别为“sd”,同样依次类推,分别为“sda、sdb、sde”等。

第一块盘的第一个主分区应该是“sda1”,第一块磁盘的第二个主分区应该是“sda2”,第二块盘的第一个主分区应该是“sdb1”,第二块硬盘的第二个主分区应该是“sdb2”依此类推。

主分区共有4个,而扩展分区看成一个特殊的主分区,逻辑分区是建立在扩展分区之上。所以,第一个逻辑分区的表示方法是“sda5”,后面分依此类推。

二.磁盘分区

2.1传统MBR分区方式(fdisk)

1fdisk -l 查看磁盘分区表

###########################################################

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

?

磁盘 /dev/sda21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0001038f

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sda1 ??* ???????2048 ????2099199 ????1048576 ??83 ?Linux

/dev/sda2 ????????2099200 ???41943039 ???19921920 ??8e ?Linux LVM

?

磁盘 /dev/mapper/cl-root18.2 GB, 18249416704 字节,35643392 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

?

?

磁盘 /dev/mapper/cl-swap2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

###########################################################

2fdisk 磁盘名称 ?#对硬盘进行分区

3)分区实例:fdisk ?/dev/sdb

###########################################################

[root@localhost ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x951146d9 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助)m ?#在此输入指令m,获取帮助

命令操作

???a ??toggle a bootable flag ???#设置分区启动标识(*

???b ??edit bsd disklabel ? #编辑bsd磁盘标签

???c ??toggle the dos compatibility flag ?#设置dos兼容模式

???d ??delete a partition ?#删除一个分区

???g ??create a new empty GPT partition table ?#创建新的空GPT分区

???G ??create an IRIX (SGI) partition table??#创建新的SGI分区表

???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?#创建新的sun磁盘标签

???t ??change a partition's system id ?#修改分区idl查看id

???u ??change display/entry units #修改容量单位

???v ??verify the partition table #验证分区表

???w ??write table to disk and exit #保存并推出

???x ??extra functionality (experts only) ?#扩展功能

命令(输入 m 获取帮助)n ? #创建新分区

Partition type:

???p ??primary (0 primary, 0 extended, 4 free) ?#创建主分区

???e ??extended ?#创建扩展分区

Select (default p): p ? ? #创建主分区

分区号 (1-4,默认 1)1 ? #选择主分区编号1

起始 扇区 (2048-20971519,默认为 2048) ?#回车,使用默认2048开始分区

Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519)+2G ? #指定创建分区大小为2G

分区 1 已设置为 Linux 类型,大小设为 2 GiB

?

命令(输入 m 获取帮助)p ? #显示分区信息(是否创建成功)

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xb46e950b

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sdb1 ???????????2048 ????4196351 ????2097152 ??83 ?Linux

?

(输入 m 获取帮助)n ?#创建新分区

Partition type:

???p ??primary (1 primary, 0 extended, 3 free)

???e ??extended

Select (default p): e ? ?#创建扩展分区

分区号 (2-4,默认 2)2 ?#选择分区号为2

起始 扇区 (4196352-20971519,默认为 4196352) #回车

将使用默认值 4196352

Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519) ? #回车将剩余空间全部划分为扩展分区

将使用默认值 20971519

分区 2 已设置为 Extended 类型,大小设为 8 GiB

?

命令(输入 m 获取帮助)n ? #创建新分区

Partition type:

???p ??primary (1 primary, 1 extended, 2 free)

???l ??logical (numbered from 5) ?#创建逻辑分区

Select (default p): l ?#创建逻辑分区

添加逻辑分区 5

起始 扇区 (4198400-20971519,默认为 4198400) ?#回车

将使用默认值 4198400

Last 扇区, +扇区 or +size{K,M,G} (4198400-20971519,默认为 20971519)+2G ?#创建逻辑分区大小为2G

分区 5 已设置为 Linux 类型,大小设为 2 GiB

?

命令(输入 m 获取帮助)p ?#显示分区列表,确认是否创建

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5f024b01

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sdb1 ???????????2048 ????4196351 ????2097152 ??83 ?Linux

/dev/sdb2 ????????4196352 ???20971519 ????8387584 ???5 ?Extended

/dev/sdb5 ????????4198400 ????8392703 ????2097152 ??83 ?Linux

?

命令(输入 m 获取帮助)d ? #删除分区

分区号 (1,2,5,默认 5)5 ? #选择删除的分区编号5

分区 5 已删除

?

命令(输入 m 获取帮助)p ? #显示分区列表,确认是否删除

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5f024b01

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sdb1 ???????????2048 ????4196351 ????2097152 ??83 ?Linux

/dev/sdb2 ????????4196352 ???20971519 ????8387584 ???5 ?Extended

?

命令(输入 m 获取帮助)w ?#保存并退出

The partition table has been altered!

?

Calling ioctl() to re-read partition table.

正在同步磁盘。

###########################################################

如果想要系统读取到新分区列表信息,有两种方式:对系统进行重启;或使用partprobe命令让内核立即读取分区列表。

[root@localhost ~]# partprobe /dev/sdb

2.2GPT分区方式(parted)

对与上述传统MBR分区方式而言,最多4个主分区,无法创建大于2TB分区。现在有一种新的GPT分区方式,不受以上限制,此外,GPT分区方式,提供了分区表冗余用于实现分区表的备份与安全。

改变分区方式后,原有磁盘中的数据将全部丢失,因此需要做好数据备份。

命令格式:parted ?[选项] ?[磁盘(命令)(参数)]

?

parted主要选项:-l 显示所有分区列表

主要操作命令:

命令

功能

cp

将文件系统复制到另一个分区

mklabel 分区表格式

mklabel 分区表格式) 指定分区表格式

mkpart

mkpart 分区类型 [文件系统类型] 开始 结束,创建一个分区?

rm NUMBER

删除指定分区

print

打印分区表信息

?name NUMBER NAME

修改指定分区号对应的名称

?rescue START END ???

挽救临近起始点终止点的遗失的分区

??set NUMBER FLAG STATE

修改指定分区号的分区标识

?select DEVICE

选择要编辑的设备

help

显示帮助命令

quit

退出

案例选用第三块磁盘:

1)修改磁盘分区表类型

[root@localhost ~]# parted ?/dev/sdc mklabel gpt ??#修改分区表为GPT格式 ??

警告: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue? ?#磁盘数据将丢失,是否继续

/Yes//No? yes ??????????#继续

修改完成后,通过print指令查看修改结果。

[root@localhost ~]# parted /dev/sdc print ????????????????????????????????

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 10.7GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt ? ?#分区表类型为GPT

Disk Flags:

Number ?Start ?End ?Size ?File system ?Name ?标志

(2)创建及删除分区

创建新分区需要使用parted命令的mkpart指令,格式如下:

parted [磁盘] mkpart 分区类型 文件系统类型 ?开始 ?结束

? 其中,mkpart指令为创建新的分区,分区类型有primary(主分区)、logical(逻辑分区)、extended(扩展分区),文件类型有:fat16fat32ext2ext3ext4Linux-swap等,开始于结束标记分区的开始和结束位置(默认单位MB)。

创建分区:创建主分区大小(1Mb-2G),格式ext4

[root@localhost ~]# parted /dev/sdc mkpart primary ext4 1 2G

查看是否创建成功:

[root@localhost ~]# parted /dev/sdc print ????????????????????????????????

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 10.7GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Disk Flags:

Number ?Start ??End ????Size ???File system ?Name ????标志

?1 ?????1049kB ?2000MB ?1999MB ??????????????primary

删除已创建的分区

[root@localhost ~]# parted /dev/sdc rm 1 ?#rm接分区号,删除

看是否创建已删除:

[root@localhost ~]# parted /dev/sdc print ????????????????????????????????

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 10.7GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Disk Flags:

Number ?Start ?End ?Size ?File system ?Name ?标志

[root@localhost ~]#

三、磁盘格式化及挂载

对磁盘进行分区后,需要对磁盘进行分区及挂载。

3.1格式化

Linux系统使用mkfs命令对磁盘进行格式化。

使用权限 : 超级使用者

格式:

?mkfs ?[-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]

主要参数:

参数

功能

-V

详细显示模式

-t

指定文件系统类型

Eg

1)对/dev/sdb1分区进行格式化,指定文件系统格式ext4

[root@localhost ~]# mkfs -t ext4 /dev/sdb1

2)对交换分区使用mkswap进行格式化

?#/dev/sdb2格式化为交换分区

[root@localhost ~]# mkswap /dev/sdb2

3.2挂载分区

将磁盘分区、格式化后需要将分区进行挂载,然后进行使用。两种方式:(1mount命令直接挂载,系统重启后失效;(2)修改/etc/fstab文件,系统重启后任然有效。

Eg

(1)将分区/dev/sdb1挂载到/mnt/sdb1目录

[root@localhost ~]# mkdir ?/mnt/sdb1

[root@localhost ~]# mount /dev/sdb1 ?/mnt/sdb1

[root@localhost ~]# df -h

文件系统 ????????????容量 ?已用 ?可用 已用% 挂载点

/dev/mapper/cl-root ??17G ?1.1G ??16G ???7% /

devtmpfs ????????????478M ????0 ?478M ???0% /dev

tmpfs ???????????????489M ????0 ?489M ???0% /dev/shm

tmpfs ???????????????489M ?6.7M ?482M ???2% /run

tmpfs ???????????????489M ????0 ?489M ???0% /sys/fs/cgroup

/dev/sda1 ??????????1014M ?139M ?876M ??14% /boot

tmpfs ????????????????98M ????0 ??98M ???0% /run/user/0

/dev/sdb1 ???????????2.0G ?6.0M ?1.8G ???1% /mnt/sdb1

[root@localhost ~]#

?

个人公众号:

Linux基础-20day-linux磁盘分区(fdisk/parted)_partedLinux基础-20day-linux磁盘分区(fdisk/parted)_fdisk_02

【文章出处:香港多ip站群服务器 http://www.558idc.com/hkzq.html提供,感恩】
网友评论
<