在 VM-ware 实例上,我尝试将grub2
引导加载程序安装到全新的 SCSI 磁盘上。我想将它安装到磁盘的 MBR 上。
我运行sudo grub-install /dev/sda
并收到错误“无法识别 hotdisk//dev/sda 中的文件系统;无法执行安全检查。”
问题
- 我究竟做错了什么?
- 为什么需要一个文件系统?我想既然我试图将它安装到 MBR(不是分区的引导记录),它不应该关心文件系统/分区。我应该只是将引导加载程序写入磁盘的前 512 个字节。
答案1
MBR 中可用的 512 字节远远不足以满足 Grub2 的所有功能。 MBR ( boot.img
) 中的代码加载下一部分 ( core.img
),该部分通常存储在 MBR 和第一个分区之间的磁盘扇区中。core.img
包含了解文件系统并可以访问 的代码/boot/grub
,其中包含 Grub2 的其余部分,包括用于菜单处理和加载内核映像的代码。/boot/grub
是文件系统上的普通目录,并且该文件系统必须存在才能安装 Grub2。