lee*_*mes 1 partitioning boot grub2 uefi
我已经使用 USB 棒在我的 Thinkpad Edge (UEFI) 上安装了 ubuntu 12.04。我猜它是使用 EFI 安装的,因为出现了一个 GRUB 菜单,其中包含启动实时系统、安装或检查磁盘的选项。
当我启动笔记本电脑时,grub 只显示其命令行提示符“grub>”。
在chroot 环境中手动运行grub-install /dev/sda
+update-grub
后,它会在恢复模式下启动 grub,并显示“找不到文件”。
磁盘分区如下:
/dev/sda1: ntfs, 1.5GB, SYSTEM DRV
/dev/sda2: ntfs, 150GB, Windows7 OS
/dev/sda3: extended
/dev/sda6: ext4, 140GB, Ubuntu 12.04
/dev/sda5: ntfs, 10.7GB, Lenovo Recovery
/dev/sda4: ntfs, 16.8GB, a custom additional partition
Run Code Online (Sandbox Code Playgroud)
我猜测标有“SYSTEM DRV”的分区可能是 EFI 分区,但后来我读到 EFI 分区的类型是 FAT32。我这里没有任何 FAT32 分区!
所以我无法遵循任何解释如何安装具有 EFI 支持的 Grub2 的方法。他们都希望我将 EFI 分区挂载到 /boot/efi。我也不能只创建一个 EFI 分区,因为在大多数 How-Tos 中他们说它应该是第一个分区(至少它必须是主分区),但正如你所看到的,我已经有了一个分区 1。
难道只能在 EFI 硬件上使用普通的 Grub2 工具吗?
如果没有,创建一个 EFI 分区会解决问题吗?我可以为此使用分区 4 吗?
可以在此处找到使用本文创建的我的BootInfo:http : //paste.ubuntu.com/1011739/。请注意,它是由 Ubuntu Live USB 驱动器制作的,因此您应该忽略此驱动器。/dev/sdb
更新:
由于 EFI 似乎不是这里的问题,我使用 .grub 重新安装了(非 EFI-)grub boot-repair
。
可以在此处找到新的 BootInfo:http ://paste.ubuntu.com/1012223/ 。
现在的问题是,BIOS 无法启动,但出现错误:
Operating system not found.
Run Code Online (Sandbox Code Playgroud)
更新 2(解决方案):
当您在遇到相同问题(未找到操作系统)时阅读此问题时,您可能会在阅读答案时只见树木不见森林,因此我在此处重复解决方案:
我的问题是,我不小心将驱动器的引导标志更改为/dev/sda6
,这是一个逻辑分区。BIOS 在它想要启动的硬盘驱动器上搜索启动标志,但只在主分区中查找。如果找不到引导标志,它会跳过硬盘驱动器。如果找不到任何驱动器或媒体来启动,您会看到错误“找不到操作系统”。
小智 6
硬盘绝对是为 BIOS 式启动设置的。这方面的具体证据包括:
因此,无论问题的根源是什么,它似乎都与 EFI 没有任何关系;这是一个直接的 GRUB-on-BIOS 问题。
我从 Boot Info Script 输出中看到的最大线索是:
=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of
the same hard drive for core.img. core.img is at this location and looks
for (,msdos6)/root/grub on this drive.
Run Code Online (Sandbox Code Playgroud)
请特别注意对 的引用(,msdos6)/root/grub
。稍后在引导信息脚本输出中,/dev/sda6 上有一个引导文件列表((,msdos6)
在 GRUB 中)。此列表包括/boot/grub/grub.cfg
,但没有提及root
目录中的任何内容。实际上,该root
目录(不要与/
名称发音为“root”的目录混淆)是超级用户的主目录,它通常不保存引导文件。因此,我怀疑 GRUB 安装错误。也许你使用了选项grub-install
您没有提到并且不合适,或者安装脚本中可能存在错误。无论如何,我建议使用在基于 BIOS 的计算机上执行此操作的常用过程重新安装 GRUB。但是请注意,如果您的紧急系统以 EFI 模式启动,则可能会造成复杂情况,因此您应该确保以 BIOS 模式启动您的紧急系统。
您可以通过查找/sys/firmware/efi
目录来检查 Linux 中的引导模式。如果它存在,则您已在 EFI 模式下启动。如果它不存在,则您可能已在 BIOS 模式下启动(尽管在某些情况下,即使您已在 EFI 模式下启动,该文件也会不存在)。
归档时间: |
|
查看次数: |
31601 次 |
最近记录: |