在 Windows 上无法制作 Live USB

在 Windows 上无法制作 Live USB

我正在为高中生教授 C++ 课程。学生们自带电脑,为了标准化,我让每个人都从带有持久存储的 Ubuntu LiveUSB 启动。我让每个学生都带一个 USB,并在周末将它们格式化以使用 UEFI。

我用的是Mac Linux USB 加载程序因为我使用 Mac,而且一些学生也使用 Mac,而且它也应该与 PC 兼容。

学生们来到课堂,我把这些文件分发给学生们,所有拥有 Mac 的学生都完美启动,没有任何问题,直接进入 Ubuntu。

对于使用 Windows 的学生来说,无论他们怎么操作,USB 都无法启动。我们加载了启动菜单并禁用了安全启动等,但它仍然无法工作。

有一位学生非常接近成功了:他被降级到了 GRUB shell。我认为这是班上唯一一个真正拥有 UEFI 硬件的学生。我猜其余的学生都有 BIOS。

从那时起,我就尝试制作一个可以在 BIOS 上启动的 Ubuntu Live USB。我唯一测试过 BIOS 的机器是一台旧的 HP 台式机。它能够从 USB 启动,我可以从启动菜单中选择 USB。我还有一台 Surface 3,它从 UEFI 启动。原始的 live USB 可以从我的 Surface 3 和任何 Mac 上顺利启动。

我尝试制作一个实时 USB 并从 Mac、Surface 3 和 HP 台式机启动它。到目前为止,我尝试过:

  1. 可以从 Mac 和 Windows 上使用 UNetbootin
  2. PendriveLinux 的通用 USB 安装程序(在同一台机器上的 Windows 上运行)
  3. 使用启动盘创建器应用程序在 Ubuntu 中制作启动盘
  4. 我尝试安装 Porteus,并按照 Ubuntu 中的所有说明进行操作

每次我都要重新格式化 USB 驱动器以删除旧文件。

什么都不起作用。这些方法都无法生成可以在我的 HP 台式机上启动的 USB。或者在我的 Surface 3 上或者在我的任何一台 MacBook 上。

原装的内存条绝对可以用于 UEFI 机器。

我需要在这里做什么?

谢谢。

答案1

简短回答

可能没有通用的解决方案,因此您可能必须针对不同的计算机采用不同的工具。

长答案

听起来学生们都有自己的电脑,这意味着你可能要处理十几个甚至更多的不同模型。如果是这样,那么就会有相当多的变量在起作用,包括(但不限于):

  • 计算机时代-- 一般来说,全新的计算机通常很难运行,因为它们配备了新硬件,而 Linux 驱动程序可能尚未编写。
  • 固件类型(EFI、UEFI 和 BIOS)-- 2011 年年中以后生产的计算机大多使用 BIOS 固件,而从 2011 年年中开始,制造商迅速转向 UEFI。所有基于 Intel 的 Mac 都使用 EFI,它与 UEFI 类似。(UEFI 本质上是 EFI 2.x。)EFI 和 UEFI 启动大多方式相同,但可能会存在一些细微的差别。
  • 引导模式-- 大多数基于 EFI 和 UEFI 的计算机都提供一项称为兼容性支持模块 (CSM) 的功能,该功能使它们能够启动基于 BIOS 的计算机。一些基于 UEFI 的 PC 在 Windows 7 上安装 Windows 时使用的是 BIOS/CSM/旧模式,因此可以配置为更轻松地在 BIOS 模式下启动 Ubuntu,而不是在原生 UEFI 模式下启动。即使在较新的机器上,通常也可以以这种方式启动 Ubuntu,尽管必须设置系统特定的固件选项。在十几台或更多台计算机上理解和控制这个细节可能是一个挑战。
  • 有缺陷的固件-- 除固件类型外,很多计算机出厂时都带有漏洞百出的固件。这可能导致启动某些介质变得困难或需要系统特定的解决方法。
  • 选择启动媒体-- 许多计算机需要按 Esc、Enter 或功能键才能调出启动管理器菜单,以便从可移动磁盘(如 USB 闪存驱动器)启动。不过,每台计算机的“魔法键”都不同。
  • 安全启动-- 这是可选的 UEFI 功能,可能会干扰 Ubuntu 的启动。理论上,Ubuntu 可以在启用安全启动的情况下运行。实践通常遵循理论,但也有例外。
  • 硬件支持-- 即使不考虑硬件年龄,有时您也需要调整启动选项才能使系统正常运行。一两年前,视频硬件出现了大量问题。今天我看到的有关该问题的问题比那时少,可能是因为支持有所改善;但nomodeset对于某些计算机,您可能仍需要传递特定的内核选项(如)。

您的许多问题可能是由固件问题引起的,特别是由系统特定的怪癖和错误引起的。此外,您的理想解决方案是在 BIOS 模式或 EFI/UEFI 模式下启动支持在启动介质上存储文件。我不知道是否有任何工具支持创建此类介质。如果有,这些工具在某些计算机上失败我也不会感到惊讶,因此您可能需要以其他方式为某些计算机准备介质。

总的来说,我建议放弃当前的方法,尝试另一种方法:虚拟化。特别是,虚拟盒是开源的,适用于 OS X、Windows 和 Linux,因此您的所有学生都可以运行它。您可以自己在 VirtualBox 下安装 Ubuntu,然后将您的安装分发给您的学生,无论主机操作系统是什么,他们都可以在自己的系统上运行它。这将巧妙地绕过我刚刚确定的所有变量。

虚拟化的主要缺点是它会产生额外的开销。在具有大量 RAM(例如 4GiB 或以上)的计算机上,这应该不是什么大问题;您可以在 1GiB 或更多内存中运行轻量级桌面环境和 C++ 开发所需的所有工具,因此在 4GiB 系统上,您可以将 1GiB 提供给虚拟机,一切正常。(从 Lubuntu 开始,而不是“基本”Ubuntu 可能是一个好方法。)但是,如果学生只有 1GiB 的 RAM,虚拟机将内存不足,或者 VirtualBox 最终将依赖交换,从而降低性能。因此,在开始使用 VirtualBox 解决方案之前,您应该对学生将使​​用的硬件进行调查,以确保这种方法适用于可用的硬件。

当然,您也可以使用混合方法——对于具有足够 RAM 的学生,可以使用 VirtualBox;对于资源较为匮乏的学生,可以使用基于 USB 的双启动来处理个别问题。

答案2

在 Windows 上使用 YUMI。下载这里

相关内容