web-dev-qa-db-ja.com

デュアルブートWindows10マシンへのrEFIndのインストール

ラップトップに2つのWindows10インスタンスがあります。

VisualBCDでブートエントリを確認すると、WindowsAの最初のエントリは次のようになります。

this

WindowsB用のものはこれです:

this

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ブートローダーに入ります。これらの2つのエントリのいずれかを選択すると、winload.efiが見つからなかったというメッセージが表示されます。

自動的に検出されたエントリを選択し、Windowsブートローダーに戻ってから、Windows AまたはBを選択することによってのみ、これら2つのWindowsインスタンスの1つに戻ることができます。

最初にWindowsブートローダーにアクセスせずに、2つのWindowsインスタンスのいずれかを直接起動するにはどうすればよいですか?私はそれを理解することはできません。メニューエントリのボリューム部分で、CまたはDとボリュームのGUIDをすでに使用しました...

1
Flo

これを行う1つの方法は、2つのEFIパーティションを持つことです。

私はブートマネージャーとしてrEFIndを使用しています-これはスクリーンショットです:

rEFInd

ご覧のとおり、選択したOSは中央にあり、テキストにはBoot Microsoft EFI Boot from ESPと表示されます。これにより、Disk2パーティション4でWindowsが起動します。左側のOSを選択すると、Boot Microsoft EFI Boot from EFIと表示され、Disk0でWindowsが起動します。パーティション3(以下のパーティションを参照)。

これらは、このように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つのディスクがあり、ESPはEFIパーティションの1つのボリューム名です。ボリューム名は重要ではありません。違いを思い出せるように、内部の名前をEFI、外部の名前をESPと名付けました。

ESPとEFIボリュームの両方にディレクトリEFI/Microsoft/Bootが含まれ、両方にMicrosoftブートローダーbootmgrfw.efiと同じディレクトリ内のBCDファイル。

rEFIndは、選択されたbootmgrfw.efiを呼び出します。これはNTFSを表示でき(したがって、rEFInd NTFSドライバーは必要ありません)、その中のBCDファイルを調べます。実行するWindowsブートローダーを定義する独自のディレクトリ。

EFI partition

Windows BCDの各インスタンスには(独自の)エントリが1つしかないため、rEFIndで関連するアイコンを選択すると、Windowsブートローダーが何も要求せずに個別のWindowsインスタンスを直接起動します。

これは、Windowsのmsconfigのブートタブで設定します。ここで、Windowsの各インスタンスでは、1つのブートエントリのみを定義します。

EFI/Microsoft/Boot全体をEFI/Bootにコピーするか、同じディスク上に2番目のEFIパーティションを作成することで、1つのEFIパーティションだけでこの動作を複製できる場合がありますが、必要なだけなのでこれを試していません。外付けドライブが接続されているときに使用できる2番目のWindowsインスタンス。

1
lx07