Linux 中的 MBR(Master Boot Record,主引导记录) 是存储在磁盘第一个扇区(512字节)中的关键数据结构,负责引导操作系统启动。以下是详细说明:
0x55AA
)用于验证MBR有效性。偏移量 | 大小(字节) | 用途 |
---|---|---|
0x000 | 446 | 引导代码(Boot Code) |
0x1BE | 64 | 分区表(4个16字节的主分区条目) |
0x1FE | 2 | 结束标志(0x55AA ) |
sudo dd if=/dev/sda bs=512 count=1 | hexdump -C # 以十六进制查看MBR
sudo fdisk -l /dev/sda # 查看分区表
# 使用GRUB重新安装MBR(假设Linux在/dev/sda)
sudo grub-install /dev/sda
sudo dd if=/dev/sda of=mbr_backup.bak bs=512 count=1 # 备份
sudo dd if=mbr_backup.bak of=/dev/sda bs=512 count=1 # 恢复
问题:GRUB error: no such partition
原因:MBR中的引导代码或分区表损坏。
解决:使用Live CD启动,重新安装GRUB或恢复备份的MBR。
问题:磁盘超过2TB时无法识别全部分区
原因:MBR的2TB限制。
解决:改用GPT分区表(需UEFI支持)。
dd
),误操作可能导致系统无法启动。如果有具体场景(如分区调整、启动修复),可进一步探讨!