私の異常なハードウェア構成( Mac上のWindows 8.1でグラフィックカードが機能しない を参照)のため、Windowsを起動する前にmm
EFIコマンドを使用して2つのPCIレジスタを設定する必要があります。現在、EFIシェルのビルド(私のマザーボードには組み込みがありません)がbootx64.efi
としてドロップされています。startup.nsh
は次のようになっています。
mm 0010003E 1 ;PCI :8
mm 02000004 1 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi
EFIシェルを、起動プロセスの中断を許可しないことが望ましい、より軽量なものに置き換えることは可能でしょうか?
Startup.nshの先頭に「setStartupDelay0」を配置することで、起動の遅延をなくすことができます。ここで、0は待機する秒数です。これは私のために働いた。
MacでWindowsのEFIブートを実行していましたか?私は2009年半ばのMacBookPro5,4で同じことを達成しました
私のEFIシェルも非ファームウェアです。それをEFIパーティションに配置し、手動でbless
する必要がありました。それでもSet StartupDelay [X]
を使用できました。私のEFIシェルは https:/)にあるPrecompiled x86_64 UEFI Shell v1 binary
です。 /wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Obtaining_UEFI_Shell またはそれ以上直接: https://svn.code.sf.net/p/edk2/code/trunk/edk2/EdkShellBinPkg/FullShell /X64/Shell_Full.efi 1.10 EFIファームウェアを使用するMacとは異なり、UEFI(v2)システムではv2の方が便利であると説明されているため、v2ではなくv1を使用しています。
それで、Set StartupDelay [x]
は私のために働きます、しかしあなたのstartup.nshにそれを入れないでください!一度だけ呼び出す必要があります。そうしないと、起動のたびにNVRAMを不必要に書き換えてしまい、その寿命が不必要に短くなります。起動値として「0」を試していません。少しだけ遅延が必要でした。私の場合、startup.nshがRefindを開始します。シェルを再検索から開始する場合は、バイパスする時間が必要です。ただし、refindにはrefindを終了することでアクセスできるシェルがあり、その中でnshスタートアップが発行されていません。このシェルがShell.efiツールを使用して有効になっているのか、それとも常に存在していたのかはわかりません。
help set -b
は、set
コマンドに関する適切な情報を示しています。シェルに関連付けられたNVRAM環境がない場合は、変数が/efi/boot/bootstr.nvrに保存されると記載されています。つまり、このコマンドはNVRAMがなくても機能するはずです。しかし、そのファイルは私のマシンでは作成されないので、間違いなくNVRAMにあります。 NVRAM変数をダンプするdmpstore StartupDelay
を使用してそれを証明しました(この場合、StartupDelayが存在する場合のみ)
お役に立てば幸いです。