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