MBR
MBR(Master Boot Record)主引导记录,每块磁盘中都有MBR
磁盘的0柱面、0磁头、0扇区成为主引导扇区
MBR大小为512字节,分为三个部分:主引导程序446字节、硬盘分区表DPT64字节、分区结束标记2字节
DPT磁盘分区表的四个主分区分别用16字节描述,扩展分区也要占用16字节的主分区空间
下面模拟破坏sdb的MBR,看看还能不能用fdisk命令显示出分区信息
# sdb的分区信息
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x11b298d9
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41945087 20971520 83 Linux
/dev/sdb2 41945088 209715199 83885056 5 Extended
/dev/sdb5 41947136 83890175 20971520 83 Linux
# 建立sdb的MBR备份
[root@localhost ~]# mkdir /mbr
[root@localhost ~]# dd if=/dev/sdb of=/mbr/sdb.mbr bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000424829 秒,1.2 MB/秒
# 破坏MBR
[root@localhost ~]# dd if=/dev/zero of=/dev/sdb bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000965753 秒,530 kB/秒
# 查看sdb的分区信息
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
这里看到已经显示不出分区信息了,我们把备份还原回去
[root@localhost ~]# dd if=/mbr/sdb.mbr of=/dev/sdb bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.00154552 秒,331 kB/秒
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x11b298d9
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41945087 20971520 83 Linux
/dev/sdb2 41945088 209715199 83885056 5 Extended
/dev/sdb5 41947136 83890175 20971520 83 Linux
现在能够显示分区信息了