32 位 UEFI 启动支持

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,我认为这种趋势将继续增长:

mjg59.dreamwidth.org/26734.html

“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 支持的专用线程,因为这是缺少的部分(据我所知)。我真的不知道如何使用这些东西,但我希望一些知道的人会读到这篇文章,然后联系 canonical 或以某种方式修补 Ubuntu(或任何其他发行版)以以这种方式工作。再说一遍,我真的不知道怎么做这些……我只是希望有人能帮忙!

Dell Venue 8、11 Pro、Toshiba Encore、Acer w3、w4、Lenovo miix 和 asus transformer a100 都是会受此影响的平板电脑...我认为一旦价格下降,这些平板电脑就会变得非常受欢迎,而且我认为人们真的会对在这些平板电脑上安装 Linux 感兴趣。任何帮助都会很感激,非常感谢大家!

编辑于 2014 年 4 月 1 日:刚刚在我的 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 等功能——如果您不知道如何操作,请按照原始说明链接操作。然后在 BIOS 中将 USB 设置为首先启动。这应该会带您进入 GRUB。

其余部分我将引用原作者的话,这真的很简单:

在 GRUB 菜单中,突出显示“尝试 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

答案1

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

其他说明尝试运行和安装 64 位 Ubuntu。这可能是由于误解 EFI 需要 64 位操作系统。这是错误的。事实上,EFI 的位数应该与操作系统的位数相关联。大多数 PC 都是为 64 位操作系统设计的,因此具有 64 位 EFI。但是,为 32 位操作系统设计的廉价 PC 具有 32 位 EFI。

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

要准备带有 EFI 引导加载程序的 Ubuntu 32 位安装驱动器:

  • 下载 32 位和 64 位 Ubuntu ISO。(使用 Ubuntu 15.10 测试)
  • 下载多架构 Debian ISO. (已测试Debian 8.2.0 网络安装 ISO

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

    • 在 Gnome Disks 中,选择左侧列表中的 USB 驱动器,转到右上角的“汉堡菜单”,选择“格式化磁盘”,选择 MSR/DOS 分区,然后格式化。然后单击“+”并接受默认设置,这将创建一个 FAT 分区。最后,单击“播放”三角形以挂载它。
  • 从 Ubuntu 32 位 ISO 中提取安装文件,同时复制符号链接的内容
    • 在 Gnome Disks 中,打开“磁盘”菜单(位于文件和编辑通常所在的位置),选择“附加磁盘映像”,选择 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 多架构 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 加密”选项进行了测试,安装会自动进行 - 除非内核不支持设备中的闪存芯片。)
  • 系统应该“准备就绪”。它将启动,但实际上由于缺少驱动程序(截至 Ubuntu 16.04),它可能功能不太好。请查看此 Google+ 群组获取更多建议和最新修补的内核。

答案2

广义上讲,如果您需要在具有 32 位 EFI 且没有 BIOS/CSM/传统模式启动支持的计算机上安装 Ubuntu(或任何其他 Linux 发行版),则操作方式如下:

  1. 使用网启动或类似的东西来准备安装 USB 闪存驱动器。(也可以使用 CD-R 来使其工作,但这需要更多工作。)
  2. 选择Linux 的 EFI 模式引导加载程序。我推荐 ELILO、Fedora 的修补版 GRUB Legacy、rEFInd 或 gummiboot,因为它们相对容易手动设置。GRUB 2 手动配置太难了,而 SYSLINUX 又太新了。
  3. 研究您选择的引导加载程序的配置文件格式及其在内核位置方面的需求。
  4. 检查原始 CD 映像以查找其引导加载程序配置。您需要知道引导加载程序将哪些选项传递给内核。
  5. EFI/BOOT在现在保存 Linux 映像的 USB 闪存驱动器上的 FAT 分区中添加一个目录。理想情况下,此分区应为 ESP(即,如果磁盘使用 GPT,则设置“启动标志”parted或类型代码为 EF00 gdisk;如果磁盘使用 MBR,则类型代码为 0xEF fdisk),但有些 ESP 无需此分区即可应对。如果磁盘没有 FAT 分区,则需要创建一个
  6. 将您选择的引导加载程序的二进制文件(名称以 结尾.efi)复制到EFI/BOOTUSB 闪存驱动器上的目录中,并将其重命名为bootia32.efi—— 也就是说,它应该是EFI/BOOT/bootia32.efi。 确保将32 位引导加载程序的版本!
  7. 安装引导加载程序所需的所有支持文件,例如驱动程序、映像、模块和配置文件。在某些情况下(例如 ELILO 和 gummiboot),您需要将内核和 initrd 文件复制到保存引导加载程序的 FAT 分区。
  8. 编辑引导加载程序的配置文件,以便它可以使用您之前通过检查 BIOS 模式引导加载程序的配置所确定的选项来启动内核。
  9. 重新启动以测试引导加载程序。

如果运气好的话,它会正常工作,您将能够安装所有东西。不过,我不能保证 Ubuntu 会安装 32 位 EFI 引导加载程序。如果没有,您也需要启动紧急系统并手动设置。您可能还需要调试某些东西,特别是如果 unetbootin(或您使用的任何东西)没有以最佳方式设置闪存驱动器。

当然,这个描述对于配置引导加载程序的关键细节相当模糊。这是因为我最近没有做过这件事(虽然我过去做过),而且细节取决于您选择的引导加载程序。

答案3

尽管 Fedora 确实支持 32 位 EFI,MX Linux 也支持直接安装,Debian 则通过网络安装。

此外,我还使用以下方法成功应用于基于英特尔 baytrail/cherrytrail 的设备。

http://linuxiumcomau.blogspot.com/2017/06/customizing-ubuntu-isos-documentation.html https://www.ianrenton.com/guides/install-linux-on-a-linx-1010b-tablet/ https://concretedog.blogspot.com/2018/04/linux-on-linx1010b.html?m=1

我目前在我的 Linx 1010b 上使用 Ubuntu Mate 19.04,除了摄像头之外一切正常,我正在研究这个问题。

答案4

如果您使用“unetbootin”在 USB 驱动器上创建可启动 ISO,则可以将 bootia32 efi 映像放入您创建的 ISO 的 efi/boot 中。这样就可以在具有混合设置(即 32 位 uefi 和 64 位 CPU)的机器上启动 64 位 Ubuntu ISO。我已经在我的 Linx 1010b(baytrail)上成功安装了 Ubuntu Budgie 19.10,不得不说我不需要调整任何东西。自动旋转、触摸屏对齐、WiFi 都可以正常工作。我还没有检查网络摄像头,但我认为它将无法正常工作。Onboard 已经安装,只需进行配置即可使虚拟键盘正常工作。性能可以接受,因为 Budgie 占用的内存比 Gnome 少一点,ISO 附带 Geary 作为电子邮件客户端,这很好,因为它比我为该设备尝试过的其他客户端更轻、更快。

总的来说,我对结果很满意。

相关内容