EFI GPT Windows 7 引导加载程序/管理器问题和 grub

EFI GPT Windows 7 引导加载程序/管理器问题和 grub

我的电脑(华硕 N76VM 64 位)预装了 Windows 7(64 位家庭专业版),在从后来安装的 Ubuntu 环境进行分区时出现问题。这导致我运行testdisk并将每个单独的分区复制到备份硬盘上。
我设法将其全部恢复到原始硬盘上,其状态与出现问题之前的状态相似。

****在所有麻烦开始之前,我能够启动这两个操作系统!****

自从“修复”硬盘后,电脑仍然无法启动 Windows 7。它已经Grub 1.99安装好了(希望这对我有帮助),rEFInd但它们都不起作用。我必须注意Grub 显示 Windows 7 和 Ubuntu 的条目。Ubuntu 启动正常,但当我选择 Windows 时,屏幕显示:无效的 EFI 文件路径。

我尝试的另一个步骤是运行 Windows 7 修复 CD,输入命令提示符,重新分配驱动器号([OS] 为 C:\,[DATA] 为 D:\),以便它们适合原始状态,然后运行以下命令:
Bootrec.exe /FixMbr
Bootrec.exe /FixBoot
Bootrec.exe /ScanOs
Bootrec.exe /RebuildBcd
重新启动
,但它们没有帮助,所以我尝试了以下操作:
bootsect /nt60 c: /force /mbr
bcdboot c:\windows /s c:
再次,没有提示。所以我开始进一步寻找,然后遇到了本网站我有点担心尝试这个建议,因为我不知道可能的结果,而且我不想再次失去任何东西。

运行后boot info script我得到了以下输出(我知道分区的顺序可能看起来很奇怪,但我认为这没什么大不了的:


                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 
    1880670208 of the same hard drive for core.img. core.img is at this 
    location and looks for (,gpt2)/boot/grub on this drive.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  According to the info in the boot sector, sda1 starts 
                       at sector 0. But according to the info from fdisk, 
                       sda1 starts at sector 2048.
    Operating System:  
    Boot files:        /efi/refind/refind_x64.efi /efi/ubuntu/grubx64.efi 
                       /efi/ubuntu/shimx64.efi

sda2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  Grub2 (v1.99)
    Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda2 
                       and looks at sector 1569963600 of the same hard drive 
                       for core.img. core.img is at this location and looks 
                       for (,gpt2)/boot/grub on this drive.
    Operating System:  Ubuntu 12.04.4 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sda3: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sda4: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /NST/menu.lst /bootmgr /Boot/BCD 
                       /Windows/System32/winload.exe

sda5: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /bootmgr /boot/bcd

sda6: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

sda7: __________________________________________________________________________

    File system:       BIOS Boot partition
    Boot sector type:  Grub2's core.img
    Boot sector info: 

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1                   1 1,953,525,167 1,953,525,167  ee GPT


GUID Partition Table detected.

Partition    Start Sector    End Sector  # of Sectors System
/dev/sda1           2,048       194,559       192,512 EFI System partition
/dev/sda2   1,556,162,560 1,864,286,207   308,123,648 EFI System partition
/dev/sda3   1,233,352,704 1,556,162,559   322,809,856 Data partition (Windows/Linux)
/dev/sda4         194,560 1,233,352,703 1,233,158,144 Data partition (Windows/Linux)
/dev/sda5   1,880,690,688 1,936,979,967    56,289,280 Windows Recovery Environment (Windows)
/dev/sda6   1,864,286,208 1,880,670,207    16,384,000 Swap partition (Linux)
/dev/sda7   1,880,670,208 1,880,690,687        20,480 BIOS Boot partition

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda1        E138-2A7D                              vfat       
/dev/sda2        598ab3d1-e1aa-4041-ba78-1de8c6762331   ext4       
/dev/sda3        4DFF26211F14E609                       ntfs       DATA
/dev/sda4        4A814AE3556AE075                       ntfs       OS
/dev/sda5        1B1666970F6A4336                       ntfs       Recovery
/dev/sda6        03dc7be8-7682-4219-8ab0-ae5d09caa1b1   swap       

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/sda1        /boot/efi                vfat       (rw)
/dev/sda2        /                        ext4       (rw,errors=remount-ro)


=========================== sda2/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod efi_gop
  insmod efi_uga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_gpt
insmod ext2
set root='(hd0,gpt2)'
search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_gpt
  insmod ext2
  set root='(hd0,gpt2)'
  search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.8.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    linux   /boot/vmlinuz-3.8.0-35-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.8.0-35-generic
}
menuentry 'Ubuntu, with Linux 3.8.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    echo    'Loading Linux 3.8.0-35-generic ...'
    linux   /boot/vmlinuz-3.8.0-35-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.8.0-35-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.8.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    linux   /boot/vmlinuz-3.8.0-29-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.8.0-29-generic
}
menuentry 'Ubuntu, with Linux 3.8.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    echo    'Loading Linux 3.8.0-29-generic ...'
    linux   /boot/vmlinuz-3.8.0-29-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.8.0-29-generic
}
menuentry 'Ubuntu, with Linux 3.5.0-18-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    linux   /boot/vmlinuz-3.5.0-18-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.5.0-18-generic
}
menuentry 'Ubuntu, with Linux 3.5.0-18-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt2)'
    search --no-floppy --fs-uuid --set=root 598ab3d1-e1aa-4041-ba78-1de8c6762331
    echo    'Loading Linux 3.5.0-18-generic ...'
    linux   /boot/vmlinuz-3.5.0-18-generic root=UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.5.0-18-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda4)" --class windows --class os {
    insmod part_gpt
    insmod ntfs
    set root='(hd0,gpt4)'
    search --no-floppy --fs-uuid --set=root 4A814AE3556AE075
    chainloader +1
}
menuentry "Windows Recovery Environment (loader) (on /dev/sda5)" --class windows --class os {
    insmod part_gpt
    insmod ntfs
    set root='(hd0,gpt5)'
    search --no-floppy --fs-uuid --set=root 1B1666970F6A4336
    drivemap -s (hd0) ${root}
    chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 menuentry "Windows 7" {
     insmod part_msdos
     insmod ntfs
     set root='(hd0,msdos4)'
     search --no-floppy --fs-uuid --set=root 4A814AE3556AE075
     chainloader +1
  }
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=============================== sda2/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
proc            /proc           proc    nodev,noexec,nosuid 0       0
tmpfs /tmp tmpfs optional,nodev,noexec,nosuid 0 0
# / was on /dev/sda2 during installation
UUID=598ab3d1-e1aa-4041-ba78-1de8c6762331 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
#UUID=E138-2A7D  /boot/efi       vfat    defaults        0       1
# swap was on /dev/sda3 during installation
UUID=03dc7be8-7682-4219-8ab0-ae5d09caa1b1 none            swap    sw              0       0
#/dev/sda7 none swap sw,noauto 0 0
#UUID=E138-2A7D /boot/efi   vfat    defaults    0   1
#UUID=E138-2A7D /boot/efi   vfat    defaults    0   1
UUID=E138-2A7D  /boot/efi   vfat    defaults    0   1
--------------------------------------------------------------------------------

=================== sda2: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

 814.208938599 = 874.250190848  boot/grub/grub.cfg                             1
 765.658302307 = 822.119342080  boot/initrd.img-3.5.0-18-generic               1
 743.588668823 = 798.422253568  boot/initrd.img-3.8.0-29-generic               2
 769.143566132 = 825.861615616  boot/initrd.img-3.8.0-35-generic               1
 765.462841034 = 821.909467136  boot/vmlinuz-3.5.0-18-generic                  2
 742.506031036 = 797.259780096  boot/vmlinuz-3.8.0-29-generic                  2
 769.006057739 = 825.713967104  boot/vmlinuz-3.8.0-35-generic                  1
 765.658302307 = 822.119342080  initrd.img                                     1
 765.658302307 = 822.119342080  initrd.img.old                                 1
 765.462841034 = 821.909467136  vmlinuz                                        2
 765.462841034 = 821.909467136  vmlinuz.old                                    2

============================== sda4/NST/menu.lst: ==============================

--------------------------------------------------------------------------------
# NeoSmart NeoGrub Bootloader Configuration File
#
# This is the NeoGrub configuration file, and should be located at C:\NST\menu.lst
# Please see the EasyBCD Documentation for information on how to create/modify entries:
# http://neosmart.net/wiki/display/EBCD/

--------------------------------------------------------------------------------

=================== sda4: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

            ?? = ??             NST/menu.lst                                   0

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt

已从 EXT4 分区中删除启动标志。现在,下一步是获取需要在 C:\ 而不是 EXT4 分区启动的 Windows 分区。我尝试在“cmd”中的 Windows Live CD 恢复环境中使用“diskpart”几次。但是,每次重新启动时驱动器号都会重新分配。

一切失控之前的设置

在此处输入图片描述

编辑:

用原始操作系统分区的副本替换 bootmgfw.efi 文件。现在,当从 rEFInd 启动 Windows 7 时,我得到以下屏幕:


Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:  

1. Insert your Windows installation disc and restart your computer.  
2. Choose your language settings, and click "Next."  
3. Click "Repair your computer."  

If you do not have this disc, contact your system administrator or computer manufacturer for assistance.  

File: \EFI\Microsoft\Boot\BCD  

Status: 0xc000000f  

Info: An error occurred while attempting to read the boot configuration data.  

编辑于 '14 年 2 月 19 日



我在 Microsoft 网站上找到了 Windows 8.1 试用版 iso。下载后,安装在 64 位虚拟机中。将 iso 复制到虚拟磁盘,然后使用我找到的一些说明使 VM 识别 USB。然后,我使用其他说明找到了使其能够进行 EUFI 启动的方法,并且成功了。

现在我正在等待修复完成。现在需要半个小时,我不知道什么时候才能完成。为了参考,我将添加此操作何时/是否完成的信息来源

答案1

您需要了解 BIOS 模式(又称 CSM 或传统模式)启动和 EFI 模式(又称 UEFI 模式)启动之间的区别。Windows 将这些启动模式与分区表类型紧密联系起来:当且仅当磁盘使用较旧的主引导记录 (MBR)分区表类型,并且当且仅当磁盘使用较新的GUID 分区表 (GPT)分区表类型。你的问题标题暗示你使用的是 GPT,但不清楚你的计算机起初使用 GPT。(大多数 Windows 7 系统使用 BIOS 和 MBR,尽管 2011 年末及以后销售的一些 Windows 7 系统使用 EFI 和 GPT。)如果您的原始安装使用 BIOS/MBR,则需要安装 EFI 模式的 Windows 引导加载程序。此过程描述如下这里。

如果你的电脑原来使用的是 EFI/GPT,你可能还需要重新安装引导加载程序;或者你可能忽略了一些关键细节,比如正确地重新创建EFI 系统分区 (ESP),其中包含 EFI 引导加载程序。

如果您需要更多帮助,请尝试运行启动信息脚本在 Linux 中。这将生成一个名为 的文件RESULTS.txt。将其发布到 pastebin 网站并在此处发布该文件的 URL。这将为我们提供有关您当前配置的更精确和详细的信息,这可能有助于修复它。


编辑:

您的启动信息脚本输出表明您的计算机上没有安装 Windows 启动加载程序。您必须修复该问题才能启动 Windows。特别是,由于磁盘使用 GPT,您必须安装电喷Windows 的引导加载程序。大多数描述 Windows 引导修复的页面都假设系统是基于 BIOS 的,因此对您来说 100% 没用。这一页描述了如何将 Windows 从 BIOS 模式启动转换为 EFI 模式启动,因此类似这样的方法可能会有用。其他页面可能也会有所帮助;或者您可以在 Windows 论坛上发帖寻求帮助。

还有一点,在尝试安装 Windows 引导加载程序之前,您可能需要处理:您的系统/dev/sda2使用 ext4 文件系统,但被标记为EFI 系统分区 (ESP)。这是不正确的,可能会导致后续问题,因此您应该修复它。有多种方法可以修复它,具体取决于您使用的分区软件。例如,在gdisk,您应该使用选项将类型代码从 EF00 更改为 8300 t,​​然后通过选项写入更改w。在parted或 GParted 中,您将删除“启动标志”(并在 GParted 中应用更改)。

答案2

尝试获取 GPARTED liveCD 并将您的 windows 分区设置为具有“启动”标志。这可能会取代您的 GRUB 安装,但至少您有一个可以工作的点。

答案3

首先,如果您还没有这样做,请按照 Rod Smith 的说明将 EXT4 分区的类型更改为非 ESP。

接下来,我建议您用 重写您的保护性 MBR gdiskBootmgr似乎不喜欢grub对 MBR 所做的磁盘签名更改。

本质上,运行gdisk /dev/sda,然后:

  • x
  • n;确认...这不会影响任何 EFI 引导加载程序。
  • w

如果这不起作用......

此外,每次启动 Windows 安装光盘时确实会重新分配字母。不必担心。在内部,每个驱动器和分区都由唯一的 GUID 标识(在 GPT GUID 之上,这是 Microsoft 的常用风格,以保持与 MBR 系统的一致性)。

让我们重新生成一个合适的BCD

  • 使用 diskpart 识别分配给 EFI 系统分区 ( /dev/sda1:称之为 S:) 和 Windows 启动分区 ( /dev/sda3:称之为 C:)的驱动器号
  • 如果 ESP 没有驱动器号,请使用以下方式分配一个 mountvol s: /s
  • bcdboot C:\windows /s S: /f ALL

答案4

如果磁盘样式是 GPT,则 Windows 7(仅 64 位版本)只能使用 UEFI 启动。

要修复 Windows 7 启动:

1)使用一些磁盘管理工具确保您有一个 EFI 系统分区(通常大小为 FAT32 格式的 100 MB)和一个 Microsoft 保留(128 MB)分区。

EFI 系统分区是放置启动文件的地方。您可以在恢复控制台上使用“diskpart”来检查分区:

C:\Windows\system32>diskpart

Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MTNB

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list vol

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     I                       DVD-ROM         0 B  No Media
  Volume 1     D   TEMP         NTFS   Partition     50 GB  Healthy
  Volume 2                      RAW    Partition     18 GB  Healthy
  Volume 3     E   DATA         NTFS   Partition    100 GB  Healthy
  Volume 4     F   W8           NTFS   Partition     80 GB  Healthy
  Volume 5     C   W7           NTFS   Partition     80 GB  Healthy    Boot
  Volume 6     G   VHD          NTFS   Partition     60 GB  Healthy
  Volume 7     H   W81          NTFS   Partition     60 GB  Healthy
  Volume 8     J   W81_src      NTFS   Partition   5368 MB  Healthy
  Volume 9     R   Recovery     NTFS   Partition    300 MB  Healthy    Hidden
  Volume 10        EFI SYSTEM   FAT32  Partition    100 MB  Healthy    System

您还必须确保磁盘上有一个 128 MB 的 Microsoft 保留分区!

DISKPART> lis par

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Recovery           300 MB  1024 KB
  Partition 2    System             100 MB   301 MB
  Partition 3    Reserved           128 MB   401 MB
  Partition 4    Primary             50 GB   529 MB
  Partition 5    Primary             18 GB    60 GB
  Partition 6    Unknown           2048 MB    78 GB
  Partition 7    Primary            100 GB    80 GB
  Partition 8    Primary             80 GB   180 GB
  Partition 9    Primary             80 GB   260 GB
  Partition 10   Primary             60 GB   340 GB
  Partition 11   Primary             60 GB   400 GB
  Partition 12   Primary           5368 MB   460 GB

此处分区 3 是 Microsoft 保留分区。

如果磁盘开头没有恢复分区,则 EFI 系统分区应该是第一个,然后是 128 MB 的 Microsoft 保留分区。

2)安装卷 s:/s(将 EFI 系统分区挂载到驱动器号 s:)

3)使用恢复 CD/USB 中的 bcdboot:

bcdboot Y:\windows /ss: 其中 Y:是 Windows 7 驱动器。

EFI 启动期间不涉及任何启动扇区(没有 MBR,没有 PBR/VBR),但您可以使用“bootsect”重写 MBR:

bootsect /nt60 全部 /force /mbr

链接到 Microsoft,您可以在那里看到如何使用 diskpart 创建 UEFI 分区

使用 UEFI 说明修复 Windows BCD。

希望这可以帮助。

相关内容