SSDがhd1の場合Grubのインストール

SSDがhd1の場合Grubのインストール

Dell G3 17 3779ノートパソコンがあります。
hd0にはSATA HDDがあり、hd1にm.2 SSDがあります。どちらもGPT形式です。

SSDからすべてを削除し、Windows 10をインストールしました。
私は4つのパーティションを使用しました。

  • Windows回復環境(499M)|/dev/sdb1
  • EFIシステム(100M)|/dev/sdb2
  • Microsoft Reserved(MSR)(16M)|/dev/sdb3
  • プライマリWindows NTFSパーティション(70G)|/dev/sdb4

Arch Linux 2パーティションにも以下を追加しました。

  • /(47.7G)用|/dev/sdb5
  • 取引所(980.3M)|/dev/sdb6

HDDディスクには2つのパーティションがあります。

  • Microsoft Reserved(MSR)(16M)|/dev/sda1
  • いくつかのNTFS(900G)|/dev/sda2

Windows以降、Wikiのマニュアルに従ってUEFIにアーチLinuxをインストールしました。

GRUBは通常どおりインストールされ、grub-installキーは必要ありません。

手動構成を使用してGRUBを構成しようとしました。

/boot/grub/grub.cfg

. $prefix/menu.cfg

/boot/grub/menu.cfg

set default=0
set timeout=10
menuentry "ArchLinux" {
 linux /boot/vmlinuz-linux root=/dev/sdb4 rw
 initrd /boot/initramfs-linux.img
}
menuentry "Windows" {
  regexp -s root '\((.+)\)' "$cmdpath"
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

再起動後、起動メニューなしでWindows 10が起動しました。

インストールしよos-proberうとしましたが、次の grub-mkconfig警告が表示されました。
WARNING: Failed to connect to lvmetad. Falling back to device scanning.

WARNING: Device /dev/loop0 not initialized in udev database even after waiting 10000000 microseconds.

逆に、/dev/loop0すべてのパーティションで。

それでもWindowsのみが起動します。

たぶんSSD(hd0対hd1)とは異なり、私のHDDはBIOSで最初にリストされているのでしょうか?

この問題をどのように解決しますか?

修正する: この回答https://askubuntu.com/a/816347/879272grubを開くことを許可してください。

しかし、BIOS起動EFI / Microsoft / Boot / bootmgfw.efiが他のブートローダを無視するのはなぜですか?
この動作を無効にできますか?

ディスクドライブ

EFI

答え1

私の考えでは、BIOSはまだG3にWindowsを起動するように指示しているようです。

Dell BIOSには、ブートローダを選択できる素晴らしいファイルブラウザがあります。 Dellのロゴ画面が表示されたら、Windowsが起動する前にBIOS設定(おそらくF2またはF8)に入ります。次に、ファイルブラウザを使用して起動したいブートローダgrubx64.efiを見つけて選択します。その後、起動順序を確認し、新しい設定を保存してGrubを再起動します。

答え2

数週間前、私のラップトップでも同じ問題が発生しました。 GRUB2を無視してWindowsを直接起動しました。この問題を解決した方法は次のとおりです。

  1. ディレクトリ名を/boot/efi/EFI/Microsoft次のように変更します。Microsoft0
  2. chainloader /EFI/Microsoft/Boot/bootmgfw.efiそれに応じてパスを変更してください。/EFI/Microsoft0/Boot/bootmgfw.efi

私のラップトップのBIOSは、構成方法に関係なく、常にMicrosoftブートローダをリストの一番上に置くようです。したがって、MicrosoftEFIパーティションのディレクトリ名を変更すると、BIOSが自動的にWindowsに起動しないように欺くことができます。

答え3

grubx64.efiブートローダーに問題がある可能性があります。これは、ブートローダなしでどこでも何でも起動できる素晴らしいユーティリティです。

スーパーグラブ2

編集:代替として優れた '再検索「スタートアップマネージャー、特にEFIの開始を担当します。このユーティリティは、起動できない固定ディスクの緊急起動のためにUSBリムーバブルディスクにインストールするか、通常の目的でEFIシステムパーティションにインストールできます。最新のLinuxディストリビューションに頻繁に含まれるUEFIブートローダスタブで構築されている場合、「refind」はgrubブートローダを見つけるか、インストールされているカーネルを直接起動できます。

再検索

答え4

正直なところ、同様の問題が発生する根本的な原因はよくわかりません。 Win10とKaliでデュアルブートをしましたが、デュアルブートをしようと長い時間を費やして失敗しました。私がそれを操作するために使用したトリックは次のとおりです。

  • Winがインストールされました
  • BIOSでセキュアブートを無効にする
  • BIOSでクイックブートを無効にする
  • Ubuntuをインストールします。 UbuntuはWinと非常にうまく機能しているので、Winがgrub「良い」方法でインストールされ、コンピュータはWinとUbuntuを正常にダブルブートしました。
  • 再インストールせずに他のLinuxオペレーティングシステム(私の場合はKali)をインストールしてください。grub
  • Ubuntuで起動し、grubUbuntuからトリプルブートに再設定します(私は「grubcustomizer」を使用します)。
  • Ubuntuの削除
  • 別のOSで起動し、grub必要に応じて起動するように起動優先順位を整理して設定しました(もう一度使用しましたgrubcustomizer)。

この(新しい)コンピュータに移行したとき、Archをインストールし、VirtualboxでWindowsを実行し、Winデータをフォルダにコピーし、Win VMとArch間でフォルダを共有しました。これで、両方のコンピュータを実行でき(Archはタスクツール、Winは仮想マシン)、特定のタスクに適したプラットフォームで共有データドライブを操作できます。

関連情報