您的位置:首页 > 产品设计 > UI/UE

UEFI下安装系统常见问题

2015-07-16 04:13 573 查看
折腾电脑一天了,现在把折腾的一些经验记录下来.

UEFI下windows的启动流程

UEFI BIOS→ESP分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.efi→加载内核启动系统

其中ESP分区其实就是一个fat32的分区,里面含有windows启动的一些文件,保存在efi目录下.如果自己新建一个ESP分区,需要使用bcdboot.exe来将引导文件写入该分区.

bcdboot.exe x:\windows /l zh_CN /s H: /f uefi

其中/l表示系统的语言,/s表示保存在H分区,其中H分区就是自己创建的ESP分区了,注意对于uefi启动需要加-f指定格式为uefi,否则默认使用原始的mbr方式.bcdboot.exe文件在x:\windows\System32路径下.只有windows8的bcdboot.exe才有/f选项.对于windows7可以从windows8中拷贝该文件.

上面的方式也进而告诉我们,在安装windows时可以将系统解压到安装盘,然后使用bcdboot.exe来写入引导,就是这么简单.

efi文件夹下的一些文件的用途

Windows Boot Manager ——–安装完Windows系统后而出现的启动选项(相关的信息存储在NVRAM),可以删除和建立和bcdboot.exe有关

Bootmgfw.efi ——–引导Windows的引导文件

Bootx64.efi ———UEFI的必需引导文件

bcdboot.exe——–修复UEFI启动的命令行工具,微软出品

(http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303679)

简单说系统首先加载Bootx64.efi 文件,然后加载bootmgfw.efi文件引导windows.如果是先引导linux(不妨fedora),fedora 镜像解压后efi目录也有一个Bootx64.efi,如果将其放到EFI/BOOT目录下,系统会加载fedora文件夹下的efi引导文件来引导系统.对于使用linux来引导windows系统,可以简单修改grub.cfg文件添加引导.

目录结构

EFI

BOOT

Bootx64.efi

—Microsoft

bootmgfw.efi

BCD

—Fedora

shim-fedora.efi等

grub配置文件的一些简单说明.

set root=(hd0,gpt2) 设置根路径为分区(hd0,gpt2)即第0块磁盘的第二个分区.

chainloader+1

此处’+1’是指示GRUB读入分区的第一个扇区的引导记录。  

执行boot开始引导以上是一般的chainloader方式,对于DOS和 WINDOWS,可以简单地用两条指令进行引导:

chainloader (hdx,y)+1,然后boot,其中x,y用来指明所在分区号。

chainloader并不负责加载工作,主要用于设置启动Windows等非 Linux系统的参数,交给这些系统的boot loader自已启动(自动寻找mbr文件)。因而,如果 要启动linux,则不使用chainloader。

如果是对于uefi,由fedora引导启动,

chainloader /EFI/Microsoft/Boot/bootmgfw.efi

对于linux,需要设置linuxefi和initrdefi

grub2-mkconfig能够自动扫描磁盘,建立配置文件.加-o参数生成到文件

如果系统无法启动,可以使用live镜像来启动,然后通过chroot命令来更改根目录,之后使用grub2-mkconfig来生成配置文件,当然也可以直接grub2-install.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  boot 系统 安装