如何将 Window 7 64 位的现有安装移动到 UEFI(从旧版)

Ran*_*Ran 17 bios boot windows-7 dell-latitude uefi

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

笔记本电脑(戴尔 E6220)支持通过 UEFI 启动,但安装在旧版 BIOS 上。

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

nat*_*ord 10

不,您不必格式化和重新安装,因为您可以转换您的磁盘以允许 UEFI 启动gptgen,这是一个优秀的开源项目,可以无损地将 MBR 分区表转换为 GPT。

微软发布了一个关于这个过程的很好的教程(未删节),下面的删节版需要不到 10 分钟的时间:

  1. 通过创建系统修复光盘或使用 Windows 安装媒体备份任何重要的内容
  2. 通过Windows 磁盘管理器 (通常Disk 0)标识要转换的硬盘
  3. 下载并解压缩gptgen,以管理员身份启动 cmd 提示符,然后运行:
    警告:您确实备份了数据,对 - 这是不归路
    gptgen.exe -w \\.\physicaldrive0
    
    Run Code Online (Sandbox Code Playgroud) 运行上述命令后可能会也可能不会看到蓝屏,这都是正常的
  4. 启动 Windows 安装光盘或系统修复光盘,选择语言和首选项,然后:修复您的计算机 - 疑难解答 - 高级选项 - 命令提示符
  5. 运行diskpart,通过list disk以下方式识别包含 Windows 的启动盘:
      Disk ###  Status         Size     Free     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
    * Disk 0    Online          128 GB      0 B        *
    
    Run Code Online (Sandbox Code Playgroud)
  6. 选择磁盘通过select disk <#>并验证通过list partition
    Partition ###  Type              Size     Offset
    -------------  ----------------  -------  -------
    Partition 1    Primary            350 MB  1024 KB
    Partition 2    Primary            126 GB   350 MB
    
    Run Code Online (Sandbox Code Playgroud)
  7. 删除之前的系统分区:
    select partition 1
      delete partition
    
    Run Code Online (Sandbox Code Playgroud)
  8. 创建新的引导分区和 Microsoft 保留分区:
    create partition EFI size=100 offset=1
      format quick fs=fat32 label="System"
      assign letter=S
    
    create partition msr size=128 offset=103424
    
    Run Code Online (Sandbox Code Playgroud)
  9. 验证通过list partition
    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
    
    Run Code Online (Sandbox Code Playgroud)
  10. 确保安装了 Windows 安装,替换3为 Windows 安装,然后退出:
    list volume
      select volume 3
      assign letter=C
    
    exit
    
    Run Code Online (Sandbox Code Playgroud)
  11. 生成引导分区数据,替换C:为 Windows 安装,然后重新启动:
    bcdboot C:\Windows /s S: /f UEFI
    
    Run Code Online (Sandbox Code Playgroud)

  • 最后一条指令在 Windows 7 上无效,因为 bcdboot 没有 `/f` 标志。我尝试删除它,但没有用。 (5认同)

zda*_*dan 2

UEFI 上的 Windows 7 要求磁盘分区使用 GUID 分区表 (GPT),而不是 BIOS 系统上的传统 MBR 分区格式。不幸的是,Windows 没有提供一种非破坏性地将 MBR 分区转换为 GPT 分区的方法。

但是,如果您不介意从驱动器中复制数据,进行转换,然后将其复制回来,那么您可以使用 Windows 来执行此操作,如 Microsoft Technet 文章将主引导记录磁盘更改为 GUID 分区表磁盘中所述。本文介绍了两个过程,这两个过程都需要制作数据副本,然后修改磁盘以使用 GPT。使用 Windows 界面,您首先删除磁盘上的所有卷,然后右键单击磁盘并选择菜单项,将磁盘转换为 GPT 磁盘。通过使用具有管理员权限的命令 shell,您可以使用该diskpart实用程序删除任何卷,然后将磁盘转换为 GPT 磁盘。

如果您不想先备份数据并且可以访问可以安装驱动器的 Linux 计算机,Linux 中有一些工具可以让您非破坏性地转换分区类型,如此处所述。如果您手边没有 Linux 盒子,您也可以尝试创建Linux 启动 CD并从该 CD 启动。

搜索“将 MBR 转换为 GPT”会出现其他工具,但我从未尝试过。

  • 嗨兹丹;您可以通过在此处添加相关信息来扩展您的答案吗?目前的形式看起来很像谷歌搜索,而不是答案。谢谢! (2认同)