首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过kexec加载grub4dos

无法通过kexec加载grub4dos
EN

Ask Ubuntu用户
提问于 2014-11-20 21:49:05
回答 1查看 2.1K关注 0票数 2

我执行

代码语言:javascript
复制
sudo kexec -l /sbin/grub.exe
sudo kexec -e

在黑屏上加上一些短语。字体是垂直压缩的,我还在右边看到一份相同短语的副本。有些短语(我可能会混淆数字)

代码语言:javascript
复制
"... root is (0x80.0)
"Processing the preset menu ...
Launching GRUB ..."

它不会挂断,因为如果我等待10-20秒,还会出现一个短语“如果挂断,在预置菜单的开头使用‘几何图形-lba1扇区(120)’”。

我试图在menu.lst中插入该字符串。没有效果。另外,我尝试了kexec的--reset-vga选项,并尝试它的--append='...'选项将menu.lst的相同内容作为参数传递给grun4dos。同样的结果。

我没有更改MBR或分区引导扇区,特别是对于grub4dos。C:驱动器上有menu.lst和grldr,boot.ini中有一个字符串。通过这种方式,我可以通过grub4dos加载Ubuntu。

这是grub4dos的0.4.5。使用grub4dos 0.4.4我可以到达一些菜单,字体被压缩,输入被禁用。

kexec的配置方式是在我按下关闭->重新启动时通过它快速重新启动。这样就能正常工作了。

如何解决这个问题,有什么建议吗?也许Ubuntu应该先做一些它通常在正常重新启动之前完成的任务,然后启动kexec。但是如何检查这个呢?我是Linux新手。

这里他们说32位负载段应该添加到boot/i386/pc/lnxboot.S中,这在Ubuntu中是不存在的。

更新:以下命令可以重新启动Ubuntu

代码语言:javascript
复制
sudo kexec -l /boot/vmlinuz-3.13.0-39-generic --initrd=/boot/initrd.img-3.13.0-39-generic --command-line="$( cat /proc/cmdline )"
sudo kexec -e

但几秒钟后它就挂了。在关闭->重新启动之后,也注意到了几次。也许有一个kexec的错误,或者有一个更正确的方法来使用它。

Update2:加载自由图像的类似结果

代码语言:javascript
复制
kexec -l grub.exe --initrd=DOS.IMG --command-line="--config-file=map (rd) (fd0); map --hook; chainloader (fd0)+1; rootnoverify (fd0)"

Update3: grub4dos版本0.4.3、0.4.2、0.4.1的类似结果

Update4:我的kexec版本是2.0.6。Ubuntu是14.04。在/boot中,我在某些文件名(内核版本?)中找到了3.13.0-39。

Update5:在Knoppix5.1.1中,LiveCD正常加载Ubuntu,然后加载Ubuntu,不过后来被冻结了。而Knoppix5.1.1 (LiveCD或normal)不存在悬浮现象。不管怎样,这是个进步。

EN

回答 1

Ask Ubuntu用户

发布于 2014-11-23 00:22:08

为什么你需要grub4dos来引导你的机器?

我会使用超级Grub2磁盘,它可以更容易地完成同样的任务。

票数 -1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/551995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档