bl.first_sector=(grub_disk_addr_t)-1;// 设定启动时加载的目标地址bl.current_segment=GRUB_BOOT_I386_PC_KERNEL_SEG+(GRUB_DISK_SECTOR_SIZE>>4);bl.last_length=0;// 打开boot.img和core.img文件,略// core.img第一个扇区末尾就是diskboot的末尾,存着blocklist结构/* Have FIRST_BLOCK to point ...
代码 读完之后再看,发现grub-install只是做了一些识别设备信息并匹配设置的准备工作,真正生成core.img的是grub-mkimage,真正负责安装的是grub-bios-setup(对于i386-pc平台) 以下代码根据我需要的目标平台i386-pc进行了删减,从而方便阅读 // 读取环境变量和命令行参数(略)if(!grub_install_source_directory){if(!targ...
当你遇到“/grub2/i386-pc/normal.mod not found”的错误时,这通常意味着GRUB引导加载程序在尝试加载系统时找不到必要的模块。以下是一些解决此问题的步骤: 1. 确认问题背景与上下文 确认你正在尝试启动的操作系统和硬件平台。 检查是否最近有对系统或GRUB配置进行更改。 2. 检查/grub2/i386-pc/normal.mod文件缺...
1.直接进入系统的时候只出现grub rescue的命令行 可以使用的命令有set和 ls 在用ls命令查看 磁盘的分区情况其中hd0代表第一块硬盘hd1代表第二块 使用ls 来查看存在那些系统,使用set来设置root和prefix 比如: set root=(hd0,msdos12) set prefix=(hd0,msdos12)/grub insmod /grub/normal.mod normal 便可进入...
1.直接进入系统的时候只出现grub rescue的命令行 可以使用的命令有set和 ls 在用ls命令查看 磁盘的分区情况其中hd0代表第一块硬盘hd1代表第二块 使用ls 来查看存在那些系统,使用set来设置root和prefix 比如: set root=(hd0,msdos12) set prefix=(hd0,msdos12)/grub ...
造成该问题可能的原因是我update之后对系统造成了修改,结果导致了/boot/grub/i386-pc/normal.mod的丢失,normal.mod是ubuntu开机引导的必加载项,因而报出 /boot/grub/i386-pc/normal.mod not found. Grub Rescue>的问题。 关于基本知识,孙斌斌的个人blog做了部分总结: ...
开机显示erro:file'/boot/grub/i386-pc/normal.mod' not解决,1. 输入:ls显示(hd0) (hd0,msdos14)(hd0,msdos13) (hd0,msdos12)...2. 输入:ls(hd0,msdos9)/grub(注意:有的需要输入s(h
这个错误是找不到grub启动执行所需文件,通常是由于误删(格式化)了分区或者调整移动了分区导致,要解决问题首先就要确认是什么原因。如果只是调整移动分区导致grub路径错误,可以在grub命令行设置root路径,或者在grub菜单进入编辑模式修改路径。如果确认是分区被误删或格式化了,那么通常只能考虑重装系统了。
如果报错,unknown filesystem 执行insmod normal 如果还是报错,那么此路不通,再想别的办法吧。 如果没把错,继续执行 normal 显示启动项了,进入系统后执行修复命令 sudo update-grub sudo grub-install /dev/sda /dev/sda是系统所在的第一块磁盘名。
error: file '/boot/grub/i386-pc/normal.mod' not found解决方案# 一台Esxi的虚拟机,在强制重启后报错/boot/grub2/i386-pc/normal.mod文件找不到 这里记录下解决过程: 开机时按F2设置光盘启动 进入救援模式,系统磁盘将会被挂载到/mnt/sysimage下