![无法在 UEFI 模式下从 USB 启动 Ubuntu](https://linux22.com/image/1091104/%E6%97%A0%E6%B3%95%E5%9C%A8%20UEFI%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E4%BB%8E%20USB%20%E5%90%AF%E5%8A%A8%20Ubuntu.png)
我对 Linux 还比较陌生。我之前用单个W95 FAT32 (bootable)
分区制作了一个运行良好的 USB 启动设备。但是,那个磁盘太小了,所以现在我试图在更大的 USB 上复制相同的分区和格式。但是,无论我怎么尝试,都无法做到这一点。
首先,我尝试将磁盘格式化为 fat32,然后使用 ubuntu 中的启动磁盘创建器将 iso 文件加载到磁盘。当我尝试使用此 usb 启动时,屏幕变黑。在我的启动选项中,我看到三个与此 usb 相对应的不同选项。我看到的选项是:
1) UEFI: [name of usb]
2) UEFI: [name of usb] partition 1
3) [name of usb]
请注意,我使用的是 MSI z170a 主板和英特尔酷睿 i7 处理器,以及 pcie2 中的 radeon R9 390 8gb 显卡和 1000w PSU。首先,我不确定这三个分区是怎么回事——我只是按照启动磁盘创建器中的确切说明进行操作,但我没有在任何论坛上看到它创建三个不同的启动设备。不过,我确实发现有些人看到了 2 个设备,一个用于 UEFI,一个用于传统 BIOS。
我尝试使用磁盘工具来查找原因,发现设备实际上已被分成三个部分 - 其中一个是大小约为 1.6 Gb 的 FAT32 分区,其中包含 ISO 文件,其中一个约为 24 mb(我相信这是用于交换),其余的是可用空间。
相比之下,可以正常启动的旧 USB 只有一个分区。虽然partition type
与我刚刚创建的分区相同(W95 FAT32 (bootable)
),但我注意到contents
实际上有所不同。旧的工作 USB 的内容为FAT (32-bit version) — Mounted at /media/paul/1030-503F
,而新设备上带有 iso 的分区的内容为ISO 9660 (version Joliet Extension) — Not Mounted
。不幸的是,我不记得我最初是如何格式化旧磁盘映像的。但我会注意到磁盘只有 8 GB —— 勉强够安装 Ubuntu。
问题 1:我怎样才能将我的 USB 恢复为旧 USB 的格式?我想如果我能做到这一点,一切都应该可以正常工作。提醒一下,工作分区的配置是:只有一个 fat32 格式的分区,内容只是 fat32?
好吧,在放弃获取完全相同格式的驱动器后,我决定继续前进。我尝试使用 UEFI 模式(常规模式和末尾附加有“分区 1”的模式)启动设备,但得到的只是一个黑屏。我在网上找到了一些关于这个问题的提及,并尝试了所有的修复方法——包括但不限于设置nomodeset
而不是quiet splash
、或radeon.modeset=0
——但都没有用。请注意,当我选择 uefi 时,我甚至无法进入 bios 菜单,这样我就可以选择 f6 来进行这些更改——我必须通过点击e
启动菜单然后在 grub 中添加参数来完成这些更改。这条路似乎没有成效,所以我决定以传统 bios 模式启动。
当我选择与旧版 BIOS 对应的 USB 启动选项时,我能够进入 BIOS 菜单。进入后,我可以选择安装 Ubuntu. 然后选择安装 ubuntu 时下载更新和安装第三方软件...这样我就可以自动安装 gpu 的驱动程序。我一直到安装类型屏幕。出于某种原因,我无法在此处看到三个不同的分区——只有可用空间,但 iso 文件的分区和交换分区都没有显示出来。我暂时忽略这个问题,并尝试使用 fat32 格式化驱动器的其余部分并将根目录挂载到/
。不幸的是,这再次被证明是无用的;我收到一条错误消息,指出
无法将文件系统 fat32 挂载到 上
/
,因为它不是功能齐全的文件系统。请选择其他文件系统,例如 ext2。
好的,所以我尝试这个...跳过交换分区...并且...我收到另一个错误:
sc17 (0,0,0) (sda) 的分区 #1 中创建 ext2 文件系统失败。
现在我意识到,我没有看到其他分区的原因是非 uefi 启动选项可能对应于可用空间,这就是为什么它仍然需要格式化。而其他两个 uefi 启动设备必须对应于 usb 上的其他分区:实际启动映像和交换分区。因此,问题似乎仍然回到新磁盘与旧磁盘的分区和格式化上。
顺便说一句,我在没有显卡的情况下测试了所有这些步骤,得到了相同的结果。
如果有人能解开这个谜团的一部分,我将不胜感激,因为这至少会给我带来一些进展。在我看来,即使回答其中一个问题也会被视为正确答案:
- 为什么我看到 3 个启动设备对应一个 USB?
- 如何创建一个只有一个 fat32 分区的启动盘,类似于我描述的正确启动的启动盘?
- 为什么即使使用诸如此类的推荐修复方法,UEFI 选项也会导致黑屏
nomodeset
? - 为什么安装过程无法识别这多个分区,而只识别有可用空间的分区?
/
这不是一个“功能齐全的”文件系统,这意味着什么?- 为什么ext2文件系统创建失败?
编辑:我意识到(至少我认为)要使较大的驱动器具有与旧的工作驱动器完全相同的格式,一种方法是简单地将旧驱动器的内容逐字节复制到新驱动器。我尝试了这种方法,确实在新驱动器上看到了完全相同的格式和分区。但是,我注意到了一个微小的变化:旧驱动器在分区图形上方仍然有一个较浅的阴影条纹,而新 USB 在顶部没有这个较浅的条纹。我还看到旧驱动器有一行附加的元数据:partitioning: Master Boot Record
。我如何才能获得此属性?我认为这是有区别的,因为我仍然无法从新驱动器启动,但可以从旧驱动器启动。
根据一些答案,我尝试使用不同的可启动 USB 将 Ubuntu 安装到插入 GPU 设备的空白棒上。但是,当我尝试重新启动并仅使用新安装启动时,我得到了一个非常奇怪的屏幕,我亲切地称之为“彩虹模糊”。这个屏幕出现在我选择启动选项之后,但在我进入 Ubuntu 启动菜单之前。我以前从未见过这种情况,但也许有人见过?顺便说一句,我认为这与显卡无关,因为当我的 GPU 断开连接时也会发生同样的事情。
答案1
我无法修改使用 ISO 9660 安装南达科他州自 14.04 起。当 SDC 制作 Live USB 时,无论 USB 驱动器的实际大小是多少,您都只能获得 1.5 GB 的可用驱动器。
最好使用韓國要制作驱动器,在这种情况下,您将获得一个小型 UEFI 分区、一个 FAT32 Grub 启动分区、一个 ISO 9660 OS 分区、一个 ext2 casper-rw 持久分区(将保存您的设置)和一个 NTFS 数据分区(可由 Linux 或 Windows 用于数据)。您可以改变 casper-rw/data 分区的大小。制作驱动器时使用 EFI 选项。
看https://help.ubuntu.com/community/mkusb
如果需要 UEFI 和 BIOS 启动并且只有 Windows 机器可用,则可以使用 UNetbootin 制作持久启动驱动器并在其中安装 mkusb。
另一种可能性是下载已安装 mkusb 的 Linux 映像并使用 Windows Image Writer 将其写入 USB,请参阅:
https://ubuntuforums.org/showthread.php?t=2213631&page=17&p=13642568#post13642568
UNetbootin、Rufus 和 YUMI
很高兴看到 UNetbootin 657 现在默认支持 BIOS 和 UEFI 启动,但是我尝试修改分区结构(缩小、移动)的任何操作都导致 BIOS 启动中断,UEFI 启动可以正常工作,但 BIOS 启动会导致光标闪烁。
Rufus 有 UEFI 启动和 BIOS 或 UEFI 启动选项。对我来说后者效果很好,直到尝试修改分区结构时,结果与 UNetbootin 一样,BIOS 启动失败。
当分区被修改时,Yumi 也会遭遇与 SDC、UNetbootin 和 Rufus 相同的命运。从 Windows 写入 YUMI UEFI Beta 根目录的文件可以在 /isodevice 中访问,并在从 USB 启动时以根用户身份进行修改。当安装在 NTFS 中时,YUMI 没有持久文件大小限制。
在 8GB 及更大的驱动器上可以进行完整安装。
答案2
我在这里猜测,也许我是对的,也许我是错的。如果是任何一种情况,请告诉我。如果我错了,请更详细地描述情况,这样我才能提供更好的帮助。
1)为什么我看到一个 USB 对应 3 个启动设备?
有许多不同的 UEFI-BIOS 系统,它们可以显示非常不同的替代方案。我很难知道为什么您的系统会为一个 USB 驱动器获取 3 个启动设备。通常显示一个 UEFI 模式替代方案和一个 BIOS 模式替代方案(别名 CSM 别名传统模式)。有时 USB 硬件以明文形式标识,有时则不标识。
2)如何创建一个只有一个 fat32 分区的启动盘,类似于我描述的正确启动的启动盘?
您可以按照评论中@johnnybegood 的建议进行操作(使用 Windows 和 Unetbootin(或 Rufus,也是一个很好的工具)。但是 Ubuntu 16.04 LTS 及更新版本中的 Ubuntu 启动盘创建器也是一个很好的工具。它是一个克隆工具,可以克隆 iso 文件的 ISO 9660 文件系统,它在实时驱动器中运行良好(‘试用 Ubuntu’并安装 Ubuntu)。
但是,这是一个很大的但是,您不应该将 Ubuntu 安装到同一个驱动器中。我认为您的问题可能是您尝试将 Ubuntu 安装到您从中启动的同一个驱动器(USB 闪存驱动器)中。相反,您应该从一个闪存驱动器启动(2 GB 的闪存驱动器足以容纳 Ubuntu),然后安装到内部驱动器(HDD 或 SSD)或另一个 USB 驱动器(闪存驱动器、HDD 或 SSD 或存储卡)中。
3)为什么即使使用 nomodeset 等推荐的修复方法,uefi 选项也会导致黑屏?
您的显卡芯片/显卡可能缺少某些软件(驱动程序或相关程序)。有时 UEFI 模式的软件与 BIOS 模式的软件不同,在某种模式下运行效果会更好。(我拥有的东芝笔记本电脑也出现了类似情况。)
4)为什么安装过程不能识别这些多个分区,而只能识别具有可用空间的分区?
您是否尝试安装到与启动相同的驱动器中?根据您的描述,似乎就是这样。有内置驱动器吗?Windows 有内置驱动器吗?在这种情况下,它可能被隐藏了,因为您的 Windows 处于休眠或半休眠状态,这意味着 Ubuntu 不应该触碰它。相反,您应该关闭 Windows 中的“快速启动”(这是一种半休眠状态),或者简单地重启而不是关闭 Windows,并检查这是否会使内部驱动器出现在 Ubuntu 安装程序的替代方案中。
5)/不是一个“功能齐全的”文件系统,这是什么意思?
Ubuntu 无法将其用作其根文件系统 '/'。Ubuntu 需要一个 Linux 文件系统。标准文件系统是
ext4
。6)为什么ext2文件系统创建失败?
我怀疑您尝试在启动时所在的同一驱动器中创建它,并且该驱动器上的分区表、分区和文件系统的结构非常特殊,并且也被正在运行的系统积极使用。
答案3
有两种类型的“可启动 USB”设置,我无法从您的描述中确定您尝试创建哪一种:
- “实时启动” USB
- 基于 USB 而非硬盘构建的完整系统
实时启动 USB
看起来你已经完全理解了。这是一个带有引导加载程序和 DVD(或 CD)映像的 USB,仅此而已。每次从此 USB 启动时,你都会得到一个在 RAM 磁盘上新构建的 Linux 系统。当你关闭此系统时,所有内容都会丢失。如果这是你想要的,你只需选择“无需安装即可试用 Ubuntu”选项或任何含义最接近的选项。
您可以看到的分区是引导分区(您认为可能是交换分区)和 DVD 或 CD 映像。
从那里启动后,您可以将空闲空间格式化为另一个分区并挂载它。您保存在该分区上的所有内容都会保留。但每次启动时您都必须重新挂载它,因为挂载表会丢失。
够了,我很确定你不想要这个。
完整系统
如果这是你想要的,请清除新 USB 上的所有内容。删除所有分区。如果愿意,你可以提前重建所需的分区,或者 Ubuntu 安装程序将指导你完成此操作。我偶尔会使用安装程序来构建系统。
按照上述步骤创建实时启动 USB在另一个 USB 上。
现在转到要使用系统的计算机。您能在另一台计算机上构建,但如果在要运行的系统上构建,则会容易得多。从实时启动 USB 启动。选择适合您需求的“安装 Ubuntu”选项,然后就可以开始了。
完成后,系统将提示您移除实时启动 USB 并重新启动系统。新驱动器可能无法启动的可能性很小。如果是这样,答案可能是这样的:USB MBR 损坏
关于分区只想说几句话...
某些类型的分区必须具有相应的格式。boot
例如,分区上必须有 EFI 文件系统。对于其他类型,您可以更加谨慎,但如果您没有想到要构建任何非常复杂的东西,一些简单的指南将对您有所帮助。
除非您有特定、关键的原因,否则不要使用FAT
-anything。它几乎没有完整性/一致性保护。FAT
与任何新格式相比,文件、文件夹甚至驱动器丢失的可能性都更大。
NTFS
除非您打算与 Windows 共享分区,否则不要使用。您可以这样做,我在我的笔记本电脑上也这样做了,这样您就可以从 Windows 或 Linux 访问相同的文件。但NTFS
它并未针对 Linux 进行优化,并且在访问权限、所有权等方面存在一些缺陷。
一般swap
用于交换分区。其他格式也可以使用,但它们的开销更大,不适合临时、非文件存储,并且会降低您的速度。
一般用于ext2
/tmp 分区。同样,这是临时存储,关机时会丢失,因此您不需要ext3
或 的所有日志和记录ext4
。
一般用于ext4
任何基于持久文件的数据。
答案4
我知道这个问题已经有点老了 - 但也许有同样问题的人会发现这一点:
如果你已经有一个可以正常工作的 live-USB(是否使用 Linux 都没关系),还有另一种完全不同的方法:
安装分区工具并尝试将较小的旧硬盘的整个(单个)分区复制到新硬盘上。如果成功,您可以在剩余空间中创建一个新分区(仅用于数据等),或者将副本的大小调整得更大。或者,当然,您可以同时执行这两项操作。
您可能需要一些运气才能让其以这种方式工作,但这比下载和安装一些 1.5 Gb .iso 更简单、更快捷。如果成功,您将有一些额外的时间,因为所有设置和文件都已传输。