我执行
sudo kexec -l /sbin/grub.exe
sudo kexec -e在黑屏上加上一些短语。字体是垂直压缩的,我还在右边看到一份相同短语的副本。有些短语(我可能会混淆数字)
"... 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
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:加载自由图像的类似结果
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)不存在悬浮现象。不管怎样,这是个进步。
发布于 2014-11-23 00:22:08
为什么你需要grub4dos来引导你的机器?
我会使用超级Grub2磁盘,它可以更容易地完成同样的任务。
https://askubuntu.com/questions/551995
复制相似问题