前言
上一篇文章留了一点尾巴,如上篇文章介绍,MBR只能分四个主分区,如果需要更多的分区,需要放弃其中一个主分区,将其划分为扩展分区,再将扩展分区划分为逻辑分区来使用。
一、逻辑分区
1、简介
当我们需要更多的分区的时候,需要放弃其中一个主分区,一般是创建三个主分区以后,将第四个分区划分为扩展分区,载将扩展分区划分为若干个逻辑分区来使用。
2、演示创建四个主分区后的效果
1)创建四个分区(具体步骤见上一篇文章)
//进入分区工具 [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): p 已选择分区 4 起始 扇区 (5015552-10485759,默认为 5015552): 将使用默认值 5015552 Last 扇区, +扇区 or +size{K,M,G} (5015552-10485759,默认为 10485759): 将使用默认值 10485759 分区 4 已设置为 Linux 类型,大小设为 2.6 GiB 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) 正在同步磁盘。
2)尝试创建第五个分区
[root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 //创建第五个分区提示需要放弃一个主分区创建一个扩展分区 命令(输入 m 获取帮助):n If you want to create more than four partitions, you must replace a primary partition with an extended partition first. 命令(输入 m 获取帮助):p //展示分区表 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x6928af85 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 4605951 204800 83 Linux /dev/sdb3 4605952 5015551 204800 83 Linux /dev/sdb4 5015552 10485759 2735104 83 Linux 命令(输入 m 获取帮助):
3)删除第四个主分区,将其分为扩展分区
命令(输入 m 获取帮助):d //输入d删除分区 分区号 (1-4,默认 4):4 //选择删除4号分区 分区 4 已删除 命令(输入 m 获取帮助):n //现在可以创建分区了 Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e //选择创建扩展分区 已选择分区 4 //自动选择最后4号分区 起始 扇区 (5015552-10485759,默认为 5015552): 将使用默认值 5015552 //直接回车表示将剩余所有空间分给扩展分区 Last 扇区, +扇区 or +size{K,M,G} (5015552-10485759,默认为 10485759): 将使用默认值 10485759 分区 4 已设置为 Extended 类型,大小设为 2.6 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x6928af85 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 4605951 204800 83 Linux /dev/sdb3 4605952 5015551 204800 83 Linux /dev/sdb4 5015552 10485759 2735104 5 Extended 命令(输入 m 获取帮助):
在分区表可看到sdb4的类型是extended(扩展分区),扩展分区是不能存放数据的,要想使用,需要将其划分若干逻辑分区,这个逻辑分区没有数量限制。
4)创建逻辑分区
命令(输入 m 获取帮助):n //创建分区 All primary partitions are in use 添加逻辑分区 5 //默认直接创建5号逻辑分区 起始 扇区 (5017600-10485759,默认为 5017600): 将使用默认值 5017600 Last 扇区, +扇区 or +size{K,M,G} (5017600-10485759,默认为 10485759):+200M //大小设置200M 分区 5 已设置为 Linux 类型,大小设为 200 MiB 命令(输入 m 获取帮助):p //查看分区表 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x6928af85 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 4605951 204800 83 Linux /dev/sdb3 4605952 5015551 204800 83 Linux /dev/sdb4 5015552 10485759 2735104 5 Extended /dev/sdb5 5017600 5427199 204800 83 Linux //逻辑分区创建成功 命令(输入 m 获取帮助):n //继续创建分区 All primary partitions are in use 添加逻辑分区 6 //默认添加逻辑分区 起始 扇区 (5429248-10485759,默认为 5429248): 将使用默认值 5429248 Last 扇区, +扇区 or +size{K,M,G} (5429248-10485759,默认为 10485759)://将剩余空间全分配给6号逻辑分区 将使用默认值 10485759 分区 6 已设置为 Linux 类型,大小设为 2.4 GiB 命令(输入 m 获取帮助):p //查看分区表 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x6928af85 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 4605951 204800 83 Linux /dev/sdb3 4605952 5015551 204800 83 Linux /dev/sdb4 5015552 10485759 2735104 5 Extended /dev/sdb5 5017600 5427199 204800 83 Linux /dev/sdb6 5429248 10485759 2528256 83 Linux 命令(输入 m 获取帮助):w //保存分区 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) 正在同步磁盘。 [root@localhost ~]#
3、刷新分区表、格式化、进行挂载
这里讲的都是临时挂载,重启计算机将没有挂载信息,只是为了方便学习了解磁盘,永久挂载需要将挂载命令卸载写在etc/fstab里,以后会讲。
和上篇文章操作一样对分区表刷新、格式化,创建待挂载文件夹,将分区挂载到指定的文件夹。
注意:扩展分区不能够挂载,只能将其划分的逻辑分区进行挂载。
//1、刷新分区表 //直接查看分区表,发现刚刚创建的分区没有显示出来。 [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1000M 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 5G 0 disk ├─sdb1 8:17 0 2G 0 part ├─sdb2 8:18 0 200M 0 part /mnt/disk2 └─sdb3 8:19 0 200M 0 part /mnt/fisk3 sdc 8:32 0 5G 0 disk sdd 8:48 0 5G 0 disk sde 8:64 0 5G 0 disk sdf 8:80 0 5G 0 disk sdg 8:96 0 5G 0 disk sdh 8:112 0 5G 0 disk sdi 8:128 0 5G 0 disk sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64 //刷新分区表 [root@localhost ~]# partprobe /dev/sdb //刷新之后查看分区表,发现刚刚创建的所有分区都显示出来了 [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1000M 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 5G 0 disk ├─sdb1 8:17 0 2G 0 part ├─sdb2 8:18 0 200M 0 part /mnt/disk2 ├─sdb3 8:19 0 200M 0 part /mnt/fisk3 ├─sdb4 8:20 0 512B 0 part ├─sdb5 8:21 0 200M 0 part └─sdb6 8:22 0 2.4G 0 part sdc 8:32 0 5G 0 disk sdd 8:48 0 5G 0 disk sde 8:64 0 5G 0 disk sdf 8:80 0 5G 0 disk sdg 8:96 0 5G 0 disk sdh 8:112 0 5G 0 disk sdi 8:128 0 5G 0 disk sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64 //2、格式化 //格式化sbd5和sdb6,用分号隔开直接运行两个命令。 [root@localhost ~]# mkfs.ext4 /dev/sdb5;mkfs.ext4 /dev/sdb6 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 51200 inodes, 204800 blocks 10240 blocks (5.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=33816576 25 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (4096 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 158080 inodes, 632064 blocks 31603 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=648019968 20 block groups 32768 blocks per group, 32768 fragments per group 7904 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (16384 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 //3、挂载 //创建disk5和disk6文件夹 [root@localhost ~]# mkdir /mnt/disk5 /mnt/disk6 //将sdb5挂载到disk5,将sdb6挂载到disk6 [root@localhost ~]# mount -t ext4 /dev/sdb5 /mnt/disk5 ;mount -t ext4 /dev/sdb6 /mnt/disk6 //查看挂载信息 [root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 470M 0 470M 0% /dev tmpfs tmpfs 487M 0 487M 0% /dev/shm tmpfs tmpfs 487M 8.6M 478M 2% /run tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 18G 4.2G 13G 25% / /dev/sda1 xfs 997M 172M 826M 18% /boot tmpfs tmpfs 98M 24K 98M 1% /run/user/0 /dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb2 ext4 190M 1.6M 175M 1% /mnt/disk2 /dev/sdb3 ext4 190M 1.6M 175M 1% /mnt/fisk3 /dev/sdb5 ext4 190M 1.6M 175M 1% /mnt/disk5 /dev/sdb6 ext4 2.4G 7.3M 2.2G 1% /mnt/disk6 //挂载成功
4、卸载(取消分区挂载)
命令:umount /dev/需要卸载的分区
[root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 470M 0 470M 0% /dev tmpfs tmpfs 487M 0 487M 0% /dev/shm tmpfs tmpfs 487M 8.6M 478M 2% /run tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 18G 4.2G 13G 25% / /dev/sda1 xfs 997M 172M 826M 18% /boot tmpfs tmpfs 98M 24K 98M 1% /run/user/0 /dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb2 ext4 190M 1.6M 175M 1% /mnt/disk2 /dev/sdb3 ext4 190M 1.6M 175M 1% /mnt/fisk3 /dev/sdb5 ext4 190M 1.6M 175M 1% /mnt/disk5 /dev/sdb6 ext4 2.4G 7.3M 2.2 1% /mnt/disk6 [root@localhost ~]# umont /dev/sdb6 //取消sbd6挂载 [root@localhost ~]# df -hT //查看挂载信息,没有sbd6的挂载信息了 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 470M 0 470M 0% /dev tmpfs tmpfs 487M 0 487M 0% /dev/shm tmpfs tmpfs 487M 8.6M 478M 2% /run tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 18G 4.2G 13G 25% / /dev/sda1 xfs 997M 172M 826M 18% /boot tmpfs tmpfs 98M 24K 98M 1% /run/user/0 /dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb2 ext4 190M 1.6M 175M 1% /mnt/disk2 /dev/sdb3 ext4 190M 1.6M 175M 1% /mnt/fisk3 /dev/sdb5 ext4 190M 1.6M 175M 1% /mnt/disk5
取消挂载,相当于拔掉U盘,比如我刚刚取消了sdb5在disk5的挂载,这个时候相当于我拔掉了sdb5这个U盘,本来存放在disk5内的文件都会消失,因为那些文件都是存放在sdb5的,我拔掉了这个U盘,自然这些文件就消失了,当重新挂载sdb5,这些文件将会恢复。
总结
逻辑分区的后续格式化以及挂载是和当时主分区是一样的,唯一不一样的是逻辑分区可以创建若干个,特别注意的是扩展分区是不能够挂载,不能够储存数据的,需要划分逻辑分区来使用,这篇文章主要将逻辑分区的划分。