LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 867|回复: 3

问个64位的GRUB2问题

[复制链接]
发表于 2009-11-22 11:22:57 | 显示全部楼层 |阅读模式
现在版本的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呢 这个包太折腾了..

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-11-22 12:07:22 | 显示全部楼层
我觉得MBR那部分没必要分什么多少位,就算是16位的也能引导

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

使用道具 举报

发表于 2009-11-23 18:07:33 | 显示全部楼层
貌似在那个引导阶段,cpu还不到区分32/64的时候吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-24 00:04:45 | 显示全部楼层
cpu不是一開始就知道自己多少位嗎
難道MBR裏那段程序通用?
總之跑不起來是硬道理:( 本來還想搞個GRUB-EFI 沒找到我自己沒搞清楚概念 貌似EFI跟MBR不相容…
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表