Linux文件系统 -- MBR

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

现在能够显示分区信息了

你可能感兴趣的:(Linux,linux)