win10系统,bios启动方式uefi,开不了机,开机后出现下图情况,该怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win10系统,bios启动方式uefi,开不了机,开机后出现下图情况,该怎么解决?相关的知识,希望对你有一定的参考价值。

方法一:
1、桌面上右键点击我的电脑/计算机/这台电脑,选择”管理”—“磁盘管理”;
2、右键“磁盘0”,在弹出的菜单中如果有“转换成MBR磁盘”,则是UEFI启动的,如果是转换成GPT则为传统的Bios

方法二:
1、按下win+r打开运行,输入msinfo32,确定,打开系统信息;
2、查看BIOS模式是否为UEFI。追问

我已经进不了系统了。启动方式是进bios查的

参考技术A 今日出现一模一样的情况。解决办法是,在BIOS中,重新设置为传统模式启动。就可正常引导进入了。关闭UEFI。 参考技术B 改了后要做引导的,用工具(启动盘)修复 参考技术C 弱弱的问一句 你做UEFI引导区了么。。。。。。追问

这个不太清楚,我是买联想主机自带的系统。

追答

要么 正常改回传统BIOS引导
要么 重做系统外加制作UEFI引导区
二选一吧亲

win10 为什么可以秒开机?(附实战源码,真机操作)

BIOS 没落

BIOS 是长期以来 PC 上最具有代表性的固件,而近年来,BIOS 已经被标准化的 UEFI 取代。
相对于新式的 UEFI, 传统的 BIOS 被称为 Legacy 方式。
现在 PC 的默认启动方式基本都是 UEFI,但为了兼容,也保留了对 Legacy 的支持。

开机流程

BIOS 方式:
BIOS 是主板上固化的一块 flash 芯片,它在 PC 上电后最先启动,然后根据里面固化的程序,按步骤把主要硬件挨个检查一遍,接着去硬盘找引导程序,把引导权交给它,随后就进入系统了。

UEFI 方式:
可以理解为,UEFI 方式在启动流程上,省略了上述自检过程,直接将控制权交给引导程序。

自检

但是,UEFI 并不是不进行自检,而是弱化了自检的概念,强化了自检的功能。简单讲就是,BIOS 其实也只能进行一些简单的自检,随着技术的发展,这些简单的自检已经没有必要了,而复杂的自检,BIOS 又做不到。所以,UEFI 提供了框架,对复杂的设备可以单独自检,或者干脆等到 OS 加载时由 OS 来进行。

取消自检流程确实缩短了启动时间,这也是 win10 开机快的原因之一。

UEFI 优势

作为 Legacy BIOS 的继任者,UEFI 拥有前辈所不具备的诸多功能,比如图形化界面、多种多样的操作方式、允许植入硬件驱动等等。这些特性让 UEFI 更加易用、更多功能、更加方便。
加上UEFI本身的开发语言已经从汇编转变成 C 语言,高级语言的加入让厂商深度开发UEFI变为可能。

Legacy BIOS 在读取磁盘时,每次只能读 64KB,非常低效,而 UEFI 每次可读 1MB,载入更快,此外,win8/win10
更是进一步优化了 UEFI 的支持,号称可以实现瞬时开机。

UEFI 和 BIOS 的区别

BIOS 方式在启动操作系统前,必须从硬盘上指定扇区读取系统启动代码(包含在主引导记录中),然后从活动分区中引导操作系统。

而 UEFI 已经具备文件系统的支持,能够直接读取 FAT 分区中的文件。

对扇区的操作远比不上对分区中文件的操作更直观更简单。

实战

光说不练假把式,下面我们就来实战一把,感受下 UEFI 的启动方式。

大致流程是,我们把 PC 设置为 UEFI 启动方式,优先从 U 盘启动,而 U 盘又被我们事先格式化为 FAT32 格式,里面存放有我们的 UEFI 应用程序。
最终就是 UEFI 固件,将我们编写的 UEFI 应用程序给启动起来。

源码

main.c

struct EFI_SYSTEM_TABLE {
    char _buf[60];
    struct EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL {
        unsigned long long _buf;
        unsigned long long (*OutputString)(
            struct EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
            unsigned short *String);
        unsigned long long _buf2[4];
        unsigned long long (*ClearScreen)(
             struct EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This);
    } *ConOut;
};
  
void efi_main(void *ImageHandle __attribute__ ((unused)),
    struct EFI_SYSTEM_TABLE *SystemTable)
{
    SystemTable->ConOut->ClearScreen(SystemTable->ConOut);
    SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Hello UEFI!\\n");
    while (1);
}

编译

$ x86_64-w64-mingw32-gcc -Wall -Wextra -e efi_main -nostdinc -nostdlib -fno-builtin -Wl,--subsystem,10 -o main.efi main.c

制作启动盘

  1. 把 U 盘格式化为 FAT32 格式
  2. 将 main.efi 存放到 U 盘的 EFI/BOOT/ 文件夹中,并重命名为 BOOTX64.EFI

启动

关闭计算机,插入刚刚制作好的 U 盘启动盘,确认 BIOS 中使用的是 UEFI 引导方式,并设置系统为 U 盘优先启动,且要关闭 Secure Boot 选项。

保存,开机

特写

可以看到,上电后先是显示开机画面(UEFI 固件阶段),接着立马在屏幕上显示 Hello UEFI!,正是下面这两句代码的作用。

SystemTable->ConOut->ClearScreen(SystemTable->ConOut); // 清屏
SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Hello UEFI!\\n"); // 打印 Hello UEFI!

以上是关于win10系统,bios启动方式uefi,开不了机,开机后出现下图情况,该怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

怎么把uefi改为legacy

vmware15用uefi启动不了怎么办?

uefi启动中删除多余的启动项

win10怎么进bios?

uefi bios怎么设置

笔记本重装系统按启动键提示EFI文件启动如何设置