如何将现有的Window 7 64bit安装迁移到UEFI(从旧版本)


15

我有一台具有Windows 7 64位企业版的笔记本电脑。它已经充满了许多软件和驱动程序。

笔记本电脑(Dell E6220)支持通过UEFI引导,但安装在旧版BIOS上。

当我尝试将引导方式从“旧版”更改为UEFI时,我收到一条错误消息,指出找不到引导设备(Windows 7无法识别为可引导设备)。有什么方法可以配置当前安装以允许从UEFI引导,还是必须格式化并重新安装?

Answers:


4

UEFI上的Windows 7要求磁盘分区使用GUID分区表(GPT),而不是BIOS系统上的传统MBR分区格式。不幸的是,Windows无法将MBR分区无损地转换为GPT。

但是,如果您不介意从驱动器中复制数据,然后进行转换,然后再将其复制回去,则可以按照Microsoft Technet文章将主启动记录磁盘更改为GUID分区表磁盘中的说明使用Windows进行操作。本文介绍了两个过程,这两个过程都需要复制数据,然后修改磁盘以使用GPT。使用Windows界面,您首先要删除磁盘上的任何卷,然后通过右键单击磁盘并选择菜单项将磁盘转换为GPT磁盘。结合使用命令外壳和Admin高程,您可以使用diskpart实用工具删除任何卷,然后将磁盘转换为GPT磁盘。

如果您不想首先备份数据并可以访问可安装驱动器的Linux机器,则Linux中有一些工具可以使您按如下所述无损地转换分区类型。如果您没有Linux盒子,也可以尝试创建Linux引导CD并从中进行引导。

Searhing为“MBR转换为GPT”带来了其他工具,但我从来没有尝试过它们。


2
嗨zdan; 您可以通过在此处包括相关信息来扩展答案吗?目前看来,它非常像Google搜索,而不是答案。谢谢!
加拿大卢克2014年

第一个链接不再起作用:(
lapin

8

不,您不必格式化并重新安装。您可以转换磁盘以允许UEFI引导。

有一个很棒的开源项目:gptgen,它是一个“ ..tool”,用于以非破坏性方式转换以常见的“ MSDOS风格” MBR方案(包括扩展分区)分区的硬盘,以使用GUID分区表(GPT)。”

Microsoft在此过程上发布了一个很好的教程。以下是节略的说明(您也可以使用未删节的版本)。这个过程花了我不到10分钟的时间。

脚步

  1. 备份任何重要内容。我们将对硬盘进行一些重大更改。

  2. 创建系统修复光盘(或使用原始Windows安装媒体)。

  3. 标识要转换的硬盘。您可以[Windows Disk Manager][4]用来执行此操作。这通常是磁盘#0。

  4. 下载gptgen。这是神奇的工具。

  5. 解压缩gptgen,以admin身份启动cmd提示符,然后运行以下命令。 警告您确实备份了数据,对吗?这是不可归还的重点。

gptgen.exe -w \\.\physicaldrive0

运行以上命令后,您可能会看到蓝屏。那是正常的。我自己没有看到蓝屏,那也很好。

  1. 使用Windows安装光盘或系统修复光盘启动。

  2. 选择语言和首选项,然后选择“ 修复计算机”->“疑难解答”->“高级选项”->“命令提示符”

  3. 我们将使用diskpart完成磁盘上的更改。输入“ diskpart”,然后按Enter。

  4. 通过键入“列表磁盘”来标识Windows所在的启动磁盘,然后按Enter。这样的事情应该出现:

  Disk ###  Status         Size     Free     Dyn  Gpt

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

* Disk 0    Online          128 GB      0 B        *
  1. 确定后,使用以下命令选择磁盘(替换为正确的编号):

select disk 0

  1. 验证分区:

list partition

您会看到类似以下内容:

   Partition ###  Type              Size     Offset

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

   Partition 1    Primary            350 MB  1024 KB

   Partition 2    Primary            126 GB   350 MB
  1. 删除以前的系统分区:

select partition 1

delete partition

  1. 创建新的启动分区,Microsoft保留分区:

create partition EFI size=100 offset=1

format quick fs=fat32 label="System"

assign letter=S

create partition msr size=128 offset=103424

  1. 如果再次列出分区,则应该以如下形式结束:
   Partition ###  Type              Size     Offset

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

   Partition 1    System             100 MB  1024 KB

   Partition 2    Reserved           128 MB   101 MB

   Partition 3    Primary            126 GB   229 MB
  1. 确保已安装Windows安装,并用Windows安装的卷号(通常为1)替换3:

list volume

select volume 3

assign letter=C

  1. 退出diskpart:

exit

  1. 生成启动分区数据,将C:替换为Windows安装的字母(通常为C :):

bcdboot c:\windows /s s: /f UEFI

  1. 而已!您现在可以重新启动计算机。

@Ramhound,感谢您的反馈。这是一个好主意...如果原始文章消失了,那么我的答案将毫无用处。我已经更新了答案。
nathanbedford

4
由于bcdboot没有该/f标志,因此最后一条指令在Windows 7上无效。我试着删除它,但是没有用。
simonzack 2015年

这个食谱也对我有用。我有两个评论和后续内容:(1)在完成该过程之后,在尝试启动新的UEFI设置之前,请不要忘记回到BIOS并将启动方法更改为UEFI!在我的MSI板上,采取的形式是给磁盘即UEFI赋予比磁盘即BIOS更高的优先级。如果不这样做,则引导程序会在黑屏上挂起:-),并且光标向下跳1-2行。(2)我第一次分配字母= S时,它没有幸存退出diskpart。不知道为什么,不得不重做。(3)MSR分区的目的是什么?

4

将Windows安装从旧版转换为UEFI:

请注意,此技术仅适用于支持UEFI固件的计算机系统。请首先在您的BIOS设置中进行检查,然后继续本教程。

  • 步骤1: 确认您的安装确实处于传统模式。按WinKey+ R,然后键入msinfo32并按Enter。BIOS模式在“系统摘要”中应为“旧版”。

  • 步骤2: 下载System Rescue Disk并从中制作可启动媒体。从此处下载磁盘请参阅制作可引导媒体的说明。那是微不足道的,可以按照本教程进行操作

  • 第三步: 使用在步骤2中创建的可启动媒体,重新启动到传统或UEFI模式。
  • 步骤4:运行命令:testdisk 使用箭头键进行导航。选择在传统模式下安装Windows的HDD,然后按Enter。选择[EFI GPT] EFI GPT分区图,然后按Enter。选择分析,然后按Enter。选择“快速搜索”(位于底部),然后按Enter。选择继续(在底部),然后按Enter。再按一次Enter键。选择Write(在底部),然后按Enter。按Y,然后按Enter。您的分区表已从MBR更改为GPT。
  • 步骤5: 使用Windows恢复/安装媒体重新启动到UEFI模式。
  • 步骤6: 打开命令提示符。快捷方式是:shift + F10
  • 步骤7: 运行以下命令:

    1. diskpart
    2. list disk-注意包含Windows安装的磁盘号。让我们说,这是x
    3. select disk x
    4. list partition-注意包含Windows安装的分区号。让我们说,这是y
    5. select partition y
    6. shrink minimum=200 desired=200
    7. create partition efi
    8. list partition-注意新分区的分区号。让我们说,这是z
    9. select partition z
    10. format fs = fat32
    11. assign letter = b:
    12. exit
    13. mkdir b:\EFI
    14. mkdir b:\EFI\Microsoft
    15. cd /d b:\EFI\Microsoft
    16. bootrec /fixboot
    17. diskpart
    18. list vol
    19. bcdboot c:\windows /l en-us /s b: /f ALL-请注意,此处c:表示安装Windows的分区的字母。让我们先找出来。
  • 步骤8: 重新启动。多田!做完了!检查您的安装是否已更改为UEFI。

参考:如何将Windows 7/8 / 8.1安装从旧版转换为UEFI,而不会丢失数据!

使用gdisk的更简单方法:将Windows 7/8/10安装从传统转换为UEFI,而不会丢失数据(更简单的方法)


此操作缺少一个可选步骤:我正在切换一个系统,该系统已经具有用于MBR引导的100-ish MB“系统”分区。我需要先删除该分区,然后才能使用新的EFI分区。
dannysauer

哦,我还必须创建一个UEFI恢复磁盘。Windows 7 CD不想以UEFI模式出现,因此我使用rufus.ie创建可启动的UEFI USB磁盘。我不完全确定这是否绝对必要,如果您尝试修复UEFI问题时处于UEFI引导环境中,那么无论使用哪种操作系统,它通常都能更好地工作。:)
dannysauer


-1

我做了@nathanbedford所说的,但是Windows 7 bcdboot不接受/ f标志,因此为了完成最后一步

bcdboot c:\windows /s s: /f UEFI

您需要使用bcd的较新版本,即> = win8。

有两种不同的方法可以执行以下操作:将较新的bcdboot.exe复制到可读驱动器中,以便可以从cmd进行访问(这就是我的操作方式),或者运行较新的Windows系统修复磁盘。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.