+ -
当前位置:首页 → 问答吧 → 问个64位的GRUB2问题

问个64位的GRUB2问题

时间:2009-11-22

来源:互联网

现在版本的grub2根本不正常啊。。不知道大家是不是这样 反正grub2 1.96 2008那个版还能用 以后的版本一直都是一进grub2就“rescue mode” ..

首先一个问题,我发现就算你系统Syu更新的时候更新了grub2 但如果不执行grub-install的话 mbr里还是那个老的。也就是说更新时也不提示更新grub-install的话跟没跟新没有区别啊。我就吃过这个亏:本来grub2用得好好的,有次换上了grub,然后又换回来的时候就出问题了, video 模块好像不了,总是提示进入rescue mode,但是引导没有问题的 。开始是百思不得解,后来明白了。 因为我最开始用的是1.96-2008没问题的版本,然后途中更新到1.97云云,然后再次grub-install的时候才把这个“也许有问题的”1.97 装到MBR里去了 最后还是换上老的1.96用。。。


第二个问题是 32位grub2跟64位的不同在哪呢? 下个PKGBUILD看 它里面说64位的grub2也得在32位下静态编译 这是何缘故? 好吧 就算把DESTARCH设成x86_64 然后放到32位下编译 .configure后 所看到的输出是说编译到“i386”平台 也就是说实际上make是make了32位的grub2
再注意到这个PKGBUILD的最后有这么一段


# Fool makepkg into building a x86_64 package
if [ "$DESTARCH" = "x86_64" ]; then
export CARCH="x86_64"
fi

就是说“这是在32位平台编译的,但考虑到目的系统是64位的 所以我们就让makepkg打包打成64位的” 吧?

所以说总体上说这个grub2编译出来的实际上就是个32位的咯?
但是在这个包包含的grub-install等可执行文件 在64位可以运行啊 是不是不调用32位libs的话 64位里就能直接运行32位程序呢

还有装到MBR里的那一块有没有32位和64位之分呢?


还有grub-emu.. grub1.97里带的 当我mbr里是1.96的grub的时候 能emulate出来 但当grub-install了这个1.97到MBR里的 时候 执行grub-emu它就说错误的ELF格式

怎么才能用个OK的1.97呢 这个包太折腾了..
上传的附件
PKGBUILD.txt (2.2 KB, 5 次查看)

作者: iamkr   发布时间: 2009-11-22

我觉得MBR那部分没必要分什么多少位,就算是16位的也能引导

只不过在64位系统里能不能装32位的引导程序是另外一个问题

作者: digwtx   发布时间: 2009-11-22

貌似在那个引导阶段,cpu还不到区分32/64的时候吧

作者: sanitizer84   发布时间: 2009-11-23

cpu不是一開始就知道自己多少位嗎
難道MBR裏那段程序通用?
總之跑不起來是硬道理:( 本來還想搞個GRUB-EFI 沒找到我自己沒搞清楚概念 貌似EFI跟MBR不相容…

作者: iamkr   发布时间: 2009-11-24

热门下载

更多