无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 20693|回复: 19
打印 上一主题 下一主题

[分享] 发现一个似乎可以逆天的神器。

  [复制链接]
跳转到指定楼层
1#
发表于 2014-3-8 18:01:37 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2012hsj17 于 2014-3-8 19:03 编辑

我下载了一个UEFi版的Android,发现它的引导器非常特殊。
Gummiboot.efi
引导方式把..\loader\entries\*.conf文件做为菜单文件。
每一个都是独立的引导项。
现在提供引导器:
Gummiboot.7z (449.64 KB, 下载次数: 340)
2#
 楼主| 发表于 2014-3-8 21:16:57 | 显示全部楼层
最主要的是这个引导器似乎可以替代GRUB。注意是GRUB,不是GRUB2。也就是说理论上可以引导传统PE。
回复

使用道具 举报

3#
 楼主| 发表于 2014-3-9 02:36:56 来自手机 | 显示全部楼层
fujianabc 发表于 2014-3-9 02:17
下来看了一下,就是一堆efi执行文件而已。
何以认为是可以取代grub,而且可以引导传统的pe的,又何以逆天 ...

看过那些conf文件了吗?里面的内容相当于grub里面的menu.lst 而且编码相近。也就是说只需要简单的转化,大多数的Linux和GRUB的PE很有可能可以在UEFI下加载运行。

点评

这些conf文件只是这个gummiboot的执行命令而已,类似于grub2中所执行的命令。android uefi版通过这个gummiboot来加载启动 没看出来和grub有何关系,更没看出bios下的pe通过这个东西执行的可能性。  详情 回复 发表于 2014-3-9 03:27
回复

使用道具 举报

4#
 楼主| 发表于 2014-3-9 11:35:15 来自手机 | 显示全部楼层
注意一下,grub2引导Linux时指向efi文件。也就是说必须把Linux改编。而gummiboot则是指向了非efi文件,和grub一样,不用改代码。

点评

uefi+grub2启动linux也是加载linux内核和initrd两条命令,不需要指向.efi文件  详情 回复 发表于 2014-3-9 17:17
回复

使用道具 举报

5#
 楼主| 发表于 2014-3-9 21:24:11 | 显示全部楼层
fujianabc 发表于 2014-3-9 17:17
uefi+grub2启动linux也是加载linux内核和initrd两条命令,不需要指向.efi文件

一下是64位乌班图14.04的grub.cfg文件的代码。

  1. if loadfont /boot/grub/font.pf2 ; then
  2.         set gfxmode=auto
  3.         insmod efi_gop
  4.         insmod efi_uga
  5.         insmod gfxterm
  6.         terminal_output gfxterm
  7. fi

  8. set menu_color_normal=white/black
  9. set menu_color_highlight=black/light-gray

  10. menuentry "Try Ubuntu without installing" {
  11.         set gfxpayload=keep
  12.         linux        /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  13.         initrd        /casper/initrd.lz
  14. }
  15. menuentry "Install Ubuntu" {
  16.         set gfxpayload=keep
  17.         linux        /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
  18.         initrd        /casper/initrd.lz
  19. }
  20. menuentry "OEM install (for manufacturers)" {
  21.         set gfxpayload=keep
  22.         linux        /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash oem-config/enable=true --
  23.         initrd        /casper/initrd.lz
  24. }
  25. menuentry "Check disc for defects" {
  26.         set gfxpayload=keep
  27.         linux        /casper/vmlinuz.efi  boot=casper integrity-check quiet splash --
  28.         initrd        /casper/initrd.lz
  29. }
复制代码

众所周知,64位的乌班图是用GRUB2来引导的。
其中第十二行代码就指向vmlinuz.efi文件:
  1.     linux        /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
复制代码
而传统的grub则是指向vmlinuz
所以说LINUX用grub2来做uefi的引导还必须要从新写代码。
而gummiboot里面的conf文件,如“”里面的代码:
  1. title        Live Android session
  2. androidfile liveboot.img
复制代码

它直接指向img镜像,而不是efi文件。
grun是不行的



点评

现在64位的乌班图没有vmlinuz.都是用vmlinuz.efi引导,有的linux版本是统一用vmlinuz(bzImage)没有vmlinuz.efi文件。  详情 回复 发表于 2015-12-28 18:23
现在64位的乌班图没有vmlinuz.都是用vmlinuz.efi引导,有的linux版本是统一用vmlinuz(bzImage)没有vmlinuz.efi文件。  详情 回复 发表于 2015-12-28 18:23
回复

使用道具 举报

6#
 楼主| 发表于 2014-3-9 22:44:07 | 显示全部楼层
ali88home 发表于 2014-3-9 22:31
哦!Ubuntu使用cdrom来加载,以前都是加载RAW内核

而这个02.androidfile liveboot.img有看看里面什么吗 ...

我尝试过,打不开啊
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-7-11 13:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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