AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1513082
Accepted
Flo
Flo
Asked: 2019-12-29 08:32:23 +0800 CST2019-12-29 08:32:23 +0800 CST 2019-12-29 08:32:23 +0800 CST

在双启动 Windows 10 机器上安装 rEFInd

  • 772

我的笔记本电脑上有两个 Windows 10 实例。

当我使用 VisualBCD 检查引导条目时,Windows A 的第一个条目是:

这个

Windows B 是这样的:

这个

现在我在refind.conf中添加了 2 个条目

    menuentry "Work Station" {
        icon \EFI\refind\themes\icons\os_win.png    
        volume 4:
        loader \Windows\system32\winload.efi
    }
    menuentry "Music Station" {
        icon \EFI\refind\themes\icons\os_unknown.png    
        volume 5:
        loader \Windows\system32\winload.efi
    }

当我重新启动时,我首先进入 rEFInd 引导加载程序。当我选择这两个条目之一时,我收到一些消息,提示无法找到winload.efi ...

我只能通过选择自动找到的条目,返回 Windows 引导加载程序,然后选择 Windows A 或 B 来返回这两个 Windows 实例之一。

如何在不先进入 Windows 引导加载程序的情况下直接引导到两个 Windows 实例之一?我就是想不通。我已经在菜单条目的卷部分使用了 C 或 D 以及卷的 GUID...

windows bootloader
  • 2 2 个回答
  • 6575 Views

2 个回答

  • Voted
  1. Best Answer
    lx07
    2019-12-29T14:36:10+08:002019-12-29T14:36:10+08:00

    一种方法是拥有 2 个 EFI 分区。

    我使用 rEFInd 作为引导管理器 - 这是屏幕截图:

    重新搜索

    如您所见,所选操作系统是中间操作系统,文本显示Boot Microsoft EFI Boot from ESP这将在 Disk2 分区 4 上启动 Windows。如果我选​​择左侧的操作系统,它会说Boot Microsoft EFI Boot from EFI并在 Disk0 分区 3 上启动 Windows(请参见下面的分区)。

    这些是像这样使用refind.conf自动拾取的(Windows 10 的手动节被禁用,因为它总是显示在我不喜欢的右侧):

    timeout 5
    use_nvram false
    
    # UI
    hideui hints,arrows,badges
    banner themes/colourful/10-6.png
    selection_big   themes/colourful/selection_big.png
    selection_small themes/colourful/selection_small.png
    showtools shell,csr_rotate,apple_recovery,shutdown
    
    # mac stuff
    csr_values 10,77
    spoof_osx_version 10.9
    enable_and_lock_vmx true
    
    # search locations
    scanfor internal,external,biosexternal,optical,manual
    dont_scan_volumes "RECOVERY","FAT VOLUME","Windows"
    #dont_scan_dirs +,EFI:/EFI/Boot,EFI:/EFI/GRUB,C12A7328-F81F-11D2-BA4B-00A0C93EC93B:/EFI/Microsoft
    dont_scan_dirs +,EFI:/EFI/Boot,EFI:/EFI/GRUB
    
    menuentry "Windows 10" {
        icon \EFI\refind\myicons\os_win_old.png
        loader \EFI\Microsoft\Boot\bootmgfw.efi
        disabled
    }
    

    这些是我的物理分区:

    A1398% diskutil list
    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *251.0 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:         Microsoft Reserved                         16.8 MB    disk0s2
       3:       Microsoft Basic Data Windows                 68.2 GB    disk0s3
       4:           Windows Recovery                         1.1 GB     disk0s4
       5:       Microsoft Basic Data Data                    107.4 GB   disk0s5
       6:           Linux Filesystem                         12.9 GB    disk0s6
       7:                 Apple_APFS Container disk1         53.7 GB    disk0s7
    
    /dev/disk2 (external, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *250.1 GB   disk2
       1:                        EFI ESP                     209.7 MB   disk2s1
       2:                  Apple_HFS SamsungHFS              76.3 GB    disk2s2
       3:                 Apple_APFS Container disk3         50.0 GB    disk2s3
       4:       Microsoft Basic Data SamsungNTFS             85.2 GB    disk2s4
       5:       Microsoft Basic Data exFAT                   26.8 GB    disk2s5
       6:           Linux Filesystem                         10.7 GB    disk2s6
    

    我有 2 个磁盘,是其中一个EFI 分区ESP的卷名。卷名并不重要——我只是命名了内部卷名和外部卷名,这样我就可以记住区别。EFIESP

    ESP 和 EFI 卷都包含一个目录EFI/Microsoft/Boot,并且都包含 Microsoft 引导加载程序bootmgrfw.efi和同一目录中的 BCD 文件。

    rEFInd 调用可以看到 NTFS 的所选bootmgrfw.efi(因此不需要 rEFInd NTFS 驱动程序),它会查看它自己的目录中的 BCD 文件,该文件定义了要运行的 Windows 引导加载程序。

    EFI 分区

    Windows BCD 的每个实例只有一个条目(它自己的),因此在 rEFInd 中选择相关图标会直接引导单独的 Windows 实例,而 Windows 引导加载程序不会询问任何内容。

    msconfig这是您在 Windows的启动选项卡上设置的,在每个 Windows 实例中,您只定义一个启动项。

    EFI/Microsoft/Boot通过将整个复制到或在同一磁盘上创建第二个 EFI 分区,可以仅使用一个 EFI 分区复制此行为,EFI/Boot但我没有尝试过,因为我只希望第二个 Windows 实例在外部驱动器可用时可用已连接。

    • 1
  2. sachithm
    2022-01-17T08:14:41+08:002022-01-17T08:14:41+08:00

    我希望你已经弄清楚了你的安装。我想在这里发布我的发现,以供未来寻求真理的人使用。

    @lx07 的回答很棒。我的情况与他们的情况略有不同(据我所知,与您的情况相似),因为我没有第二个 WindowsEFI分区。

    rEFInd 需要为您要列出的每个操作系统设置一个单独的EFI分区。要为您的第二次 Windows 安装创建新分区,我们需要在 Windows 上使用:EFIbcdboot

    在 Windows 上使用管理员权限运行diskpart(您也可以使用安装/恢复媒体执行此操作)。我们将使用这个程序来管理我们磁盘上的分区。

    如果您有多个磁盘:

    list disk
    select disk #
    

    #您要向其中添加EFI分区的磁盘编号在哪里。

    然后:

    list partition
    select partition # 
    

    其中#是安装 Windows 的分区的编号。请记住,这应该是没有自己EFI分区的 Windows 安装。就我而言,这是我第二次安装的 Windows。EFI您应该能够通过查看分区的组织方式来确定哪些 Windows 没有分区。

    然后我们可以缩小这个分区,并创建一个新的EFI分区:

    shrink desired = 100
    create partition efi size = 100
    format quick fs = fat32
    

    为其分配驱动器S号,并记下我们EFI为其创建的 Windows 分区的驱动器号:

    select partition #
    assign letter = S
    list partition
    list volume
    exit
    

    其中#是我们新EFI分区的分区号。

    然后我们可以bcdboot使用EFI.

    bcdboot X:\windows /s S: /f UEFI

    X我们的 Windows 安装的驱动器号在哪里。

    EFI通过在启动菜单中选择正确的选项,您现在应该能够直接启动到第二次安装的 Windows 。rEFInd 应该会在加载时自动查找安装,并且现在应该有两个可启动的 Windows 选项。您可能需要更改引导顺序之类的东西。

    要在第一次安装 Windows 时摆脱 Windows 启动管理器,请在 Windows 上转到System > About > Advanced system settings. 转到Startup and Recovery设置并将您的第一个 Windows 安装设置为默认值。取消勾选第一个复选框Time to display list of operating systems,它现在应该跳过启动管理器。

    可能有更好的方法来做到这一点(通过重新制作EFI我们的第一个 Windows 安装?)但这对我有用,除非绝对需要,否则我不想弄乱启动设置。

    • 0

相关问题

  • 除了 windows10,我应该将哪个设备设置为 Linux 的引导加载程序?如果我的驱动器处于 raid 中

  • 批量重命名图像文件集

  • Python 的“pass”参数的批处理等价物是什么?

  • 在 Windows 上与 Docker 守护进程通信

  • 资源管理器侧面板中的桌面外壳快捷方式

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve