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 to the first blocklist. */bl.first_block = (structgrub_boot_blocklist *) (...
代码 读完之后再看,发现grub-install只是做了一些识别设备信息并匹配设置的准备工作,真正生成core.img的是grub-mkimage,真正负责安装的是grub-bios-setup(对于i386-pc平台) 以下代码根据我需要的目标平台i386-pc进行了删减,从而方便阅读 // 读取环境变量和命令行参数(略)if(!grub_install_source_directory){if(!targ...
disk_module) disk_module = xstrdup("biosdisk"); break; // 省略 } switch (platform) { case GRUB_INSTALL_PLATFORM_I386_PC: case GRUB_INSTALL_PLATFORM_SPARC64_IEEE1275: // 没有指定安装设备就报错 if (!install_device) grub_util_error("%s", _("install device isn't specified")); break;...
安装系统重启的时候出现了error:file '/boot/grub/i386-pc/normal.mod' not found,1.直接进入系统的时候只出现grubrescue的命令行可以使用的命令有set和ls在用ls命令
/boot/grub/i386-pc/normal.mod not found. Grub Rescue>的问题。 关于基本知识,孙斌斌的个人blog做了部分总结: 在救援模式下,只有很少的命令可是使用: set 设置环境变量 ls 查看设备 insmod 加载模块 root 指定用于启动系统的分区 prefix 设定grub启动路径 ...
grub-core/boot/i386/pc/boot.S start: jmp LOCAL(after_BPB) ... LOCAL(after_BPB): cli .org GRUB_BOOT_MACHINE_DRIVE_CHECK boot_drive_check: jmp 3f testb $0x80, %dl jz 2f 3: testb $0x70, %dl jz 1f 2: movb $0x80, %dl ...
如果报错,unknown filesystem 执行insmod normal 如果还是报错,那么此路不通,再想别的办法吧。 如果没把错,继续执行 normal 显示启动项了,进入系统后执行修复命令 sudo update-grub sudo grub-install /dev/sda /dev/sda是系统所在的第一块磁盘名。
硬盘分区问题,找个u盘做个pe进入系统,一般pe都带分区软件,进入分区软件,选择重建MBR,重启就行了。应该可以解决的。
wgetftp://alpha.gnu.org/pub/gnu/grub/grub-0.97-i386-pc.tar.gztarxf grub-0.97-i386-pc.tar.gz 制作grub 软盘 # 创建软盘镜像 1.44MBddif=/dev/zeroof=bootfd.imgbs=512count=2880# 安装 grubsudolosetup /dev/loop0 bootfd.imgsudoddif=./grub-0.97-i386-pc/boot/grub/stage1of=/dev/loop0bs...
事件:搭建在云计算管理平台CAS上的 Centos7.4 虚拟机在⼀次断电后,启动虚拟机出现file '/grub/i386-pc/normal.mod' not found ,使⽤⽹上各路⼤神的办法都没有解决后,将整个存储卷添加到相同系统的虚拟机上并挂载/boot所在分区,最后将本机/boot下的⽂件拷贝⾄所挂载⽬录,再将存储卷重新挂回...