grub 2でUbuntu 18.04.2 LTSをインストールし、SATA SSDドライブから起動しました。 UEFIではなくBIOSシステムです。
Windows 10をnvmeドライブに復元し、「Macrium Reflect」回復USBを使用して起動構造とドライバを回復しました。 nvmeドライバはVirtualBoxから正常に起動します。だから私はWindows 10ディスクが正しく構成されていると思います。
% lsblk -no name,serial,type,tran /dev/nvme0n1
nvme0n1 S466NX0KB54472K disk nvme
└─nvme0n1p1 part nvme
Grub 2を使ってこのnvmeドライブからWindows 10を起動したいです。
Ubuntuは私のnvmeドライブをよく見ることができ、update-grub
Windows 10システムを見つけることができます。生成された部分は次のとおりです/boot/grub/grub.cfg
。
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10 (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-chain-4E76C42676C4111F' {
insmod part_msdos
insmod ntfs
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 4E76C42676C4111F
else
search --no-floppy --fs-uuid --set=root 4E76C42676C4111F
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
ただし、grubからWindows 10 Entryを起動すると4つのエラーが発生します。
error: no such devices 4E...111F
error: not a partition
error: device format "lvmid/ozz..." invalid must be (f|h)dN, with 0 <= N < 120.
error: invalid signature
私推測するNVMEドライバモジュールがありませんinitramfs
。それとも--set=root
別の仕様が必要です。
そうですか?それでは、どのようにグラブに入れることができますか?
これは私が見るにはバグのようです...
答え1
error: no such devices 4E...111F
error: not a partition
error: device format "lvmid/ozz..." invalid must be (f|h)dN, with 0 <= N < 120.
error: invalid signature
このメッセージはGRUBからのものであるため、この時点ではinitramfsはロードされません。
問題は、システムBIOSが起動時にNVMeデバイスにアクセスできないことです(少なくともレガシーBIOSモードではありません)。
デフォルトでは、NVMeドライブ用のM.2スロットが組み込まれているすべてのシステムはUEFIファームウェアを含むほど新しいため、一部のシステムファームウェアベンダーはNVMeブートサポート実装を選択しているようです。UEFI 基本モードのみ。 Linuxを実行するとNVMeドライブが正しく表示されるため、読み取ることができますが、update-grub
起動時にGRUBはレガシーBIOS機能を使用してシステムディスクを列挙し、レガシーBIOSを使用するとNVMeドライブは存在しません。 。 NVMe アクセスに適した BIOS 拡張が利用できない場合、BIOS は NVMe ドライブをディスクデバイスと共通のない汎用 PCI/PCIe デバイスとして扱います。
BIOS設定を非常に慎重に確認する必要があります。 NVMeブートサポートに関連する設定があり、現在オフになっている場合は、その設定を有効にする必要があります。ただし、NVMeドライブが追加のカードにある場合、内蔵NVMeスロットがないマザーボードのレガシーBIOSから起動できない可能性があります。 NVMe ドライブに必要な BIOS ルーチン。