当前位置: 首页>>技术教程>>正文


32位UEFI引导支持

, , , ,

问题描述

我最近购买了Dell Venue 8 Pro。我已经在线阅读了有关引导到Ubuntu或任何其他Linux发行版所需的内容。据我了解,真正需要实现的是32位UEFI支持。我从多个站点获得了信息,但实际上归纳起来的地方是在上一篇文章中:

http://ubuntuforums.org/showthread.php?t=2187204

“ Ubuntu没有32位Uefi安装程序,请他们添加支持,他们可能会倾听。”

该线程专门用于使Dell Venue 8/11 Pro引导Linux。但是,有大量新的平板电脑运行32位UEFI,我认为这种趋势将继续增长:

“ IA32上的UEFI不会消失。随着时间的流逝,它将出现在更多的嵌入式系统上。”

其他人之前曾尝试过此方法,但取得了不同的成功,但还没有使事情正常进行:

https://www.happyassassin.net/2013/11/24/the-fedlet-revived-or-fedora-linux-on-a-dell-venue-8-pro-bay-trail/

“它实际上并没有用。但是很有趣。”

我正在尝试在32位UEFI支持上启动线程专用线程,因为这是所缺少的(根据我的理解)。我真的不知道如何使用这些东西,但我希望有这样做的人能读懂这些东西,或者联系规范的人或以某种方式修补Ubuntu(或其他发行版)以这种方式工作。再说一次,我真的不知道该怎么做…我只是希望有人能帮上忙!

戴尔Venue 8、11 Pro,东芝Encore,宏cer w3,w4,联想miix和华硕a100都是受此影响的平板电脑…我认为一旦价格下降,这些平板电脑将成为非常受欢迎的平板电脑,而且我认为人们真的会对在这些平台上使用linux感兴趣。感谢您的帮助,非常感谢!

编辑4/1/14:刚刚在我的DV8Pro上启动到Ubuntu!您所要做的就是按照此处的说明进行操作:

http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/

总而言之,您需要做的是下载最新的Ubuntu 14日常构建(AMD 64对我有用),然后通过Rufus将其放在USB驱动器上。 “对于“分区方案和目标系统类型”,选择“用于UEFI计算机的GPT分区方案。”您可以在此处获取最新的每日版本:http://cdimage.ubuntu.com/daily-live/current/

您需要将下面找到的文件放入EFI /Boot目录:https://github.com/jfwells/linux-asus-t100ta/raw/master/boot/bootia32.efi

禁用Secureboot等-如果您不知道该怎么做,请按照原始说明链接进行操作。然后将USB设置为首先在BIOS中引导。这应该使您进入GRUB。

其余的我将引用原始作者,这很简单:

在GRUB菜单中,突出显示“Try Ubuntu”,然后按“e”进行编辑。在编辑屏幕中,向下滚动到命令行选项,其显示为“quiet splash”。删除“splash”并将其替换为:video = VGA-1:1368x768e reboot = pci,force [编辑:对于使用Dell Venue 8 Pro的我们来说,您需要改用此行:video = VGA-1:800x1280e reboot = pci,force这说明了屏幕的不同分辨率。]

然后按F10键启动。您应该一路直达桌面。

你有它!这使我进入了Unity桌面。问题:Wifi无法正常工作,但是我使用了以太网适配器,而且似乎可以正常工作。

我尝试旋转屏幕,但它会将您的触摸输入移到一侧,所以我离开了它。

确保阅读了前面提到的教程,即使它是针对ASUS T100制作的,它也更加全面。如果没有其他要求,我提供的说明应该足以使您进入Unity Desktop,这对我来说真是太好了!希望您也能获得同样的成功并继续发展!

值得的是,有人这样做了,并在这里发布了一个YouTube视频:https://www.youtube.com/watch?v=1WrRngZ4giE#t=94

最佳办法

Ubuntu 15.10支持32位EFI。实际上,该32位版本将自动安装32位EFI引导加载程序。不幸的是,Canonical不提供DVD映像中具有EFI引导加载程序的可引导32位ISO。因此,我们必须自己创建安装盘。

其他说明尝试使64位Ubuntu运行和安装。这可能是由于误解,认为EFI需要64位OS。这是错误的。实际上,EFI的位数将与OS的位数联系在一起。大多数PC是为64位OS设计的,因此具有64位EFI。但是,为32位OS设计的廉价PC具有32位EFI。

但是请记住,Ubuntu(或更确切地说,其Linux内核)并不完全支持通常配备32位EFI BIOS(廉价的Intel Atom SoC)的系统中的硬件。 WiFi,声音和电源管理通常不起作用。确实存在可修复某些问题的修补第三方内核,例如made available here

要准备具有EFI引导加载程序的Ubuntu 32位安装驱动器,请执行以下操作:

  • 下载32位和64位Ubuntu ISO。 (已在Ubuntu 15.10上测试)

  • 下载a multi-arch Debian ISO。 (使用Debian 8.2.0 netinst ISO测试)

  • 将USB磁盘格式化为FAT并挂载

    • 在“ Gnome磁盘”中,选择左侧列表中的USB驱动器,转到upper-right角中的”Hamburger Menu”,选择“格式化磁盘”,选择“ MSR /DOS分区”,然后选择“格式化”。然后单击’+’并接受应创建FAT分区的默认值。最后,单击”play”三角形进行安装。

  • 复制符号链接的内容时,从Ubuntu 32位ISO提取安装文件

    • 在“ Gnome磁盘”中,打开“磁盘”菜单(通常位于“文件”和“编辑”的位置),选择“附加磁盘映像”,选择“ ubuntu-15.10-desktop-i386.iso”,然后安装最大的分区。

    • 在终端rsync -rL --exclude=/ubuntu <path to Ubuntu 32-bit install disk>/ <path to usb disk>/

      • 用正确的路径替换<placeholders>

      • 不要忘记源路径末尾的斜杠

  • 从Ubuntu 64位ISO复制/boot和/EFI目录

    • 安装ISO

    • rsync -r <path to Ubuntu 64-bit install disk>/boot/ <path to usb disk>/boot/

    • rsync -r <path to Ubuntu 64-bit install disk>/EFI/ <path to usb disk>/EFI/

      • 同样,最后的斜线很重要

  • 从Debian multi-arch ISO复制32位GRUB

    • 安装ISO

    • cp <path to Debian multi-arch install disk>/efi/boot/bootia32.efi <path to usb disk>/EFI/BOOT/

    • rsync -r <path to Debian multi-arch install disk>/boot/grub/i386-efi <path to usb disk>/boot/grub/

      • 注意那些斜线(这次源代码不会以斜线结尾)

  • 将vmlinuz重命名为vmlinuz.efi

    • mv <path to usb disk>/casper/vmlinuz <path to usb disk>/casper/vmlinuz.efi

  • 卸载所有东西

  • 在目标系统上禁用安全启动,然后从USB驱动器启动。

  • 安装Ubuntu! (我已经使用“擦除磁盘并使用LVM对其进行加密”选项进行了测试,并且安装会自动进行-除非内核不支持设备中的闪存芯片。)

  • 系统应该是”ready.”它会启动,但实际上由于缺少驱动程序(从Ubuntu 16.04开始),它可能无法正常运行。请查看this Google+ group以获取更多建议和最新修补的内核。

次佳办法

广义上讲,如果您需要在具有32位EFI且没有BIOS /CSM /legacy-mode引导支持的计算机上安装Ubuntu(或其他Linux发行版),则方法是:

  1. 使用unetbootin或类似的东西准备安装的USB闪存驱动器。 (可以使其与CD-R一起使用,但这需要更多工作。)

  2. 选择一个EFI-mode boot loader for Linux.,我建议使用ELILO,Fedora的修补GRUB Legacy,rEFInd或gummiboot,因为它们相对容易手动设置。 GRUB 2太难手动配置,而SYSLINUX太新了。

  3. 根据内核位置研究所选引导加载程序的配置文件格式及其需求。

  4. 检查原始CD映像以找到其引导加载程序配置。您需要知道引导加载程序正在将哪些选项传递给内核。

  5. EFI/BOOT目录添加到现在保存Linux映像的USB闪存驱动器上的FAT分区。理想情况下,此分区应该是ESP(即,如果磁盘使用GPT,则在parted中设置”boot flag”;如果gdisk,其类型代码为EF00;如果磁盘使用MBR,则fdisk的类型代码为0xEF),但是某些ESP可以应付自如。如果磁盘没有FAT分区,则需要创建一个

  6. 将您选择的引导程序的二进制文件(名称以.efi结尾)复制到USB闪存驱动器上的EFI/BOOT目录中,并将其重命名为bootia32.efi -即它应该为EFI/BOOT/bootia32.efi。确保复制32位版本的引导加载程序!

  7. 安装引导加载程序需要的所有支持文件,例如驱动程序,映像,模块和配置文件。在某些情况下(例如ELILO和gummiboot),您需要将内核和initrd文件复制到保存引导加载程序的FAT分区中。

  8. 编辑引导加载程序的配置文件,以便它可以通过检查BIOS-mode引导加载程序的配置,使用前面标识的选项启动内核。

  9. 重新引导以测试引导加载程序。

运气好的话,它将起作用,并且您将能够安装所有东西。不过,我不能保证Ubuntu将安装32位EFI引导加载程序。否则,您将需要启动紧急系统并手动进行设置。您可能还需要调试一些东西,尤其是在unetbootin(或您使用的任何东西)没有以最佳方式设置闪存驱动器的情况下。

当然,此描述对于配置引导加载程序的关键细节相当含糊。这是因为我最近没有做过(尽管我过去也做过),并且详细信息取决于您选择的引导加载程序。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10414.html,未经允许,请勿转载。