提示“无法将 grub-efi 软件包安装到/target/中,如果没有 GRUB 启动引导期,所安装的系统无法启动。”

我的解决方案是

  1、给Linux Ubuntu 分区的时候,我没有单独分boot分区,只分了 \(根分区)和Swap(交换分区)。


  2、(我的电脑是支持UEFI的)进入BIOS,找到BootMode,有三个选项Auto 、UEFI Only、Legacy Only。  选择Legacy       Only(传统模式)。


  3、之后保存重启进入GNU GRUB进行选择。


  4、UEFI和Legacy 

可扩展固件接口( Extensible Firmware Interface,EFI)是 Intel 为全新类型的 PC 固件的 体系结构、接口和服务提出的建议标准。 其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的PC BIOS的继任者。
由于电脑教育普及,很多人都知道BIOS就是Basic Input/Output System,翻成中文是“基本输入/输出系统”,是一种所谓的“ 固件”,负责在开机时做硬件启动和检测等工作,并且担任 操作系统控制硬件时的中介角色。
然而,那些都是过去DOS 时代的事情,自从Windows NT出现,Linux 开始崭露头角后,这些 操作系统已将过去需要通过BIOS完成的硬件控制程序放在操作系统中完成,不再需要调用BIOS功能。一般来说,当今所谓的“电脑高手”,多半是利用BIOS来对硬件性能做些 超频调校,除了专业人士外,鲜有人再利用 BIOS 进行底层工作。
因为硬件发展迅速,传统式(Legacy)BIOS 成为进步的包袱,现在已发展出最新的EFI(Extensible Firmware Interface)可扩展固件接口,以现在传统 BIOS 的观点来说,未来将是一个“没有特定 BIOS”的电脑时代。
UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织,贡献者有Intel,Microsoft,AMI,等几个 大厂,属于open source,目前版本为2.3.1。与 legacy BIOS 相比,最大的几个区别在于:
1. 编码99%都是由C语言完成;
2. 一改之前的中断、硬件端口操作的方法,而采用了Driver/protocol的新方式;
3. 将不支持X86实模式,而直接采用Flat mode(也就是不能用DOS了,现在有些 EFI 或 UEFI 能用是因为做了兼容,但实际上这部分不属于UEFI的定义了);
4. 输出也不再是单纯的二进制code,改为Removable Binary Drivers;
5. OS启动不再是调用Int19,而是直接利用protocol/device Path;
6. 对于第三方的开发,前者基本上做不到,除非参与BIOS的设计,但是还要受到ROM的大小限制,而后者就便利多了。
7.弥补BIOS对新 硬件的支持不足的毛病。
UEFI将是近3年的趋势,到时候对于PC的利用以及维护都将步入一个新的时代。

你可能感兴趣的:(学习中遇到的问题)