系统BIOS在安装后不会将Ubuntu显示为引导选项?
在尝试多次尝试创建可启动USB之后,我终于设法使用PenDriveLinux .com中的Universal USB Installer创建了一个。 我创建了一个具有Ubuntu 13.10 64位风格的可启动USB,并在禁用安全启动后成功启动到USB ,启用UEFI和Legacy启动并手动选择我的USB驱动器。
在我的SSD上的新分区上成功安装Ubuntu之后,我移除了我的USB记忆棒,重新启动了我的计算机并发送了Enter键,以便进入我的BIOS。 我去手动选择从哪里开机,但Ubuntu没有新选项。
因为我是一名计算机科学专业的学生,我认为自己相当聪明,所以我只选择了我的SSD,但它运行的是不同的启动顺序(我的计算机用来启动,也不是我新的shiny的Ubuntu操作系统)。 我认为我的计算机通常可以通过我的16GB mSATA快速启动Windows 8.1,但是当我选择它时,它通过我的SSD启动Windows 8.1,而不是Ubuntu。
所以我要问的是,当两者都位于 SSD上时,我如何让它从我的SSD启动Ubuntu而不是Windows 8.1并且没有其他选择? 有没有办法修改BIOS,这样我就可以选择从我的SSD上的一个分区而不是另一个分区启动? 我已经无法启动到Ubuntu,我只是设法以两种不同的方式启动到Windows 8.1。
我已经在下面列出了技术规格,但是如果您需要更多信息,我会确保跟进。
机器:ThinkPad S1瑜伽
技术规格:
- 英特尔酷睿i7-4500U处理器(4MB高速缓存,高达3.00GHz)
- Windows 8.1 64
- MB上8GB PC3-12800 DDR3L
- 英特尔高清显卡4400
- 256GB固态硬盘SATA 6G
- 16GB mSATA
在我开始之前只是一个问题,你有2个驱动器? Windows为256GB,mSATA为16GB? 如果不是Ubuntu,你如何使用mSATA?
据我所知,PenDriveLinux.com创建了MBR风格的可启动媒体,对UEFI的支持不确定。 如果您希望您的计算机使用UEFI,这是真正推荐的,您应该禁用CSM并仅创建UEFI可启动媒体 ,以确保在安装到GPT分区驱动器时可能不会意外地以MBR模式启动和安装,并且可能正在制作事情比较混乱 。
您似乎已安装在MBR模式下,否则安装程序将识别UEFI计算机并能够在其放置在EFI系统分区(ESP)上的固件引导菜单中注册EFI引导加载程序。 如果你在ESP上找不到与Ubuntu相关的.efi
二进制文件,那么你可能安装在MBR模式(或GPT MBR模式)下你应该能够以leagcy / MBR模式从驱动器启动,你只需要计算如何。 (通常Thinkpad提供优先级启动,例如首先启动传统。)
Gummiboot作为默认的热插拔UEFI引导加载程序
鉴于您已经拥有GPT分区目标磁盘(所有预装的Windows 8都应该是),您可以尝试按照以下说明对现有MBR安装进行故障排除。
注意:请注意,这些说明不是永久性修复或正确设置。 它们只是一个静态配置,可以帮助您进入安装并从那里继续进行故障排除(例如,正确安装GRUB)。
-
得到gummiboot
从Arch Linux存储库下载 gummiboot。 (一切都很好,我们只是做Linus Torvalds风格的包管理。你可以在右边的包装操作 > 从镜像下载下找到该页面上的下载链接)
从包中提取
gummibootx64.efi
(它位于/usr/lib/gummiboot/
)并将其复制为\EFI\BOOT\BOOTx64.EFI
到您的ESP。 备份具有相同名称的现有文件(例如使用zip)。 -
复制内核文件
在名为
Ubuntu
的ESP根目录下创建一个新文件夹,并将具有最高版本号的所有文件从/boot/
复制到刚刚创建的文件夹中。如果您使用的是Windows, 请从存储库下载与您的发行
linux-image-$VERSION-generic
匹配的最新软件包linux-image-$VERSION-generic
。 (initrd.img-$VERSION-generic
丢失,因为它是由Debian脚本自动生成的。) -
配置gummiboot以引导Ubuntu Linux内核
沿着ESP根目录下的路径
loader/entries/
创建文件夹,并在那里创建一个名为ubuntu.conf
的文件。 通过编辑此模板后面的文件来创建配置:title Ubuntu linux /Ubuntu/vmlinuz-$VERSION-generic initrd /Ubuntu/initrd.img-$VERSION-generic options root=UUID=$UUID ro
-
标题:选择你喜欢的。 必须是人类可读的 。
-
linux:要加载的内核的文件名,将
$VERSION
替换$VERSION
您复制的文件的版本号。 -
initrd:初始ram磁盘的文件名。 基本上与linux选项相同,
$VERSION
与您复制的文件的版本号相同。 如果你没有这样的文件,请保留此行(但我不知道它是否会起作用)。 -
options:将
$UUID
替换$UUID
Ubuntu根文件系统的文件系统UUID。 运行ll /dev/disk/by-uuid/ | grep sdxY
ll /dev/disk/by-uuid/ | grep sdxY
获取GUID,将sdxY
替换为实际的设备名称。 (忘记我之前在这里写的有关分区GUID的内容,现在似乎不起作用。)您可以从
/boot/grub/grub.cfg
添加linux
行的其余选项。 UUID是必要的部分,其余部分应该是可选的。 我在grub.cfg
linux
行看起来像这样:root=UUID=00000000-0000-0000-0000-000000000000 ro quiet splash $vt_handoff
您还需要在
loader/
添加文件loader.conf
以使gummiboot正常工作。default Ubuntu timeout 4
default是要引导的默认条目的标题。 如果您选择了另一个标题,请相应地进
-
-
重启
您应该可以从包含带有gummiboot的ESP的HDD / SSD启动,并提供gummiboot菜单,允许您启动Ubuntu安装。
-
可选:为GRUB创建gummiboot menuentry
与上面的说明类似,使用以下内容创建
loader/entries/ubuntu.conf
:title Ubuntu GRUB efi \EFI\ubuntu\grubx64.efi
替代方案:
title Ubuntu GRUB efi \EFI\ubuntu\shimx64.efi
我还在研究这个主题,我想彻底测试一下,然后以干净,非古怪的方式写下来,但这些说明可能会给你提供有用的指导,比你一次又一次安装更有趣。
祝好运。
进一步阅读
- AdamW的UEFI启动:那实际上是如何工作的呢? 对于处理UEFI启动主题而言,这是一个很好但冗长的阅读,而不是像魔法一样。
- https://wiki.archlinux.org/index.php/Gummiboot
- https://wiki.archlinux.org/index.php/EFISTUB
FYE
测试期间我遇到的东西:
- PARTUUID / GUID – 似乎不起作用。
- 使用
dep
选项编译的initramfs而不是most
。 - 克隆安装的initramfs从源安装中找到hibernate图像并将其引导。 M(
- Windows避免安装ESP。
我怀疑LiveWireBT做的事情:你在BIOS / CSM /传统模式下将Ubuntu安装到已经在EFI / UEFI模式下启动Windows的计算机上。 这使双启动更加复杂,在某些情况下也是不可能的。
恕我直言,LiveWireBT的解决方案过于复杂和有限。 两种解决方案可能更容易,更灵活:
- 下载并准备我的rEFInd启动管理器的CD-R或USB闪存驱动器版本的启动介质。 用它启动。 (您可能需要在固件中禁用安全启动。)这应该可以启动Windows和Ubuntu。 如果这样可行,请在Ubuntu中安装Debian-package版本的rEFInd。
- 在EFI模式下启动Ubuntu Live CD 。 (通过查找
/sys/firmware/efi
目录validation您是否已在EFI模式下启动。如果它存在,则表示您已在EFI模式下启动。如果没有,您可能已在BIOS / CSM / legacy模式下启动,应该再试一次。在其描述中查找包含字符串“EFI”或“UEFI”的引导选项。)运行引导修复工具。 请务必记录它提供的URL; 如果您尝试此选项但它不起作用,请在此处发布该URL。 它将指出我们在您的计算机上更详细的诊断信息。 理论上,使用Boot Repair应该设置一个新的EFI模式版本的GRUB,它可以让你在Linux和Windows之间切换,两者都以EFI模式启动。
第二种选择比第一种选择风险稍大,因为没有办法测试它会做什么,有时引导修复实际上会使事情变得更糟。 相比之下,从CD-R或USB闪存驱动器测试rEFInd意味着如果它似乎不起作用,您可以在不接触硬盘或NVRAM设置的情况下停止。