Linux理论一章中的磁盘分区
当前有两种主流分区方法-MBR分区和GPT分区. 本文将重点介绍MBR分区的基本原理,并使用相关命令验证相关原理
为什么实验需要对磁盘进行分区
优化I / O性能
隔离系统和应用程序
实现磁盘空间的配额限制
同一张磁盘可以使用不同的文件系统
可以在同一磁盘上安装多个操作系统
//当然,分区也会有一些缺点,这里将其忽略
MBR分区
MBR: 主引导记录,MBR磁盘分区是使用最广泛的分区结构之一,它用于Windows系统平台,Linux系统平台和基于X86的UNIX系统平台.
实施原则
使用磁盘的扇区0(一个扇区等于512字节)来指示整个磁盘的整体分区. 整个扇区0简称MBR扇区.
从硬件角度看,MBR分区是按柱面进行的,也就是说,磁盘上的同一柱面只能归属一个分区. 但是,在CentOS 6.8上,同一圆柱上的不同扇区可以属于不同的分区.
MBR行业组成
MBR扇区由三部分组成: 引导代码,MBR分区表和MBR结束标志,总共占512个字节.
引导代码占用446个字节,MBR分区占用64个字节,MBR结束标志占用2个字节,MBR扇区总共占用512个字节.
引导代码: 它占用MBR分区的前446个字节,并负责整个系统的启动. 如果启动代码损坏,系统将无法启动
MBR分区: 引导代码后64字节,它是整个硬盘的分区表. 每个分区使用16个字节,因此可以确定MBR分区方法最多具有4个主分区(包括扩展分区).
MBR结束标志: 占用最后2个字节,始终为“ 55AA”.
分区规则
1. 磁盘上的主分区和扩展分区的总数不能超过4
2. 磁盘上最多可以有1个扩展分区
3. 可以在扩展分区中创建逻辑分区,数量限制取决于磁盘类型
实验
注意: 这些实验是破坏性的. 强烈建议不要在生产环境中运行. 在虚拟机上操作时,最好执行快照处理,以便在无法恢复操作时可以使用快照功能. 将系统还原到操作之前的状态.
查看磁盘MBR扇区数据
hexdump /dev/sda -C -n 512
# hexdump命令可查看二进制文件,也可以直接查看硬盘数据
-C选项,以十六进制显示数据
-n选项,读取输入数据的字节个数
...
000001d0 07 19 83 fe ff ff 00 48 06 00 00 00 80 02 00 fe |.......H........|
000001e0 ff ff 83 fe ff ff 00 48 86 02 00 00 40 01 00 fe |.......H....@...|
000001f0 ff ff 05 fe ff ff 00 48 c6 03 00 b8 39 15 55 aa |.......H....9.U.|
00000200
# 最后几行的结果
修改MBR扇区数据
以下“销毁”的mbr扇区数据
[root@linuxidc ~]#fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000455a4
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 2637 20971520 83 Linux
/dev/sda3 2637 3942 10485760 83 Linux
/dev/sda4 3942 26109 178052096 5 Extended
/dev/sda5 3943 4204 2097152 82 Linux swap / Solaris
/dev/sda6 4204 26109 175952896 83 Linux
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
使用fdisk命令查看磁盘信息,fdisk命令直接查询mbr分区表的信息
[root@linuxidc ~]#dd if=/dev/sda of=/tmp/mbr bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00102281 s, 501 kB/s
从/ dev / sda设备读取数据并将其存储在/ tmp / mbr文件中. 块大小为1个字节,数字为512
[root@linuxidc ~]#dd if=/dev/zero of=/dev/sda bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.0019455 s, 263 kB/s
将/ dev / sda分区表512字节的所有数据更改为0
[root@linuxidc ~]#fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
# 显示不出磁盘分区的具体信息了
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-296254-1.html