別のHDDでWindowsとLinuxをデュアルブート - エラー:そのデバイスはありません

別のHDDでWindowsとLinuxをデュアルブート - エラー:そのデバイスはありません

私はオンラインチュートリアルに従って別のHDDにWindows 10とLinux(Arch)をインストールしました。これには、別のハードドライブにオペレーティングシステムをインストールしながら各ハードドライブを物理的に取り外すことが含まれます。

「スタートアップリカバリの使用」に対する回答がない唯一のスレッドは次のとおりです。これすでにLinuxがインストールされていない限り。

以下は私のステップです。

  1. クイックブートを無効にし、BIOSでUEFIを有効にします。
  2. W10およびArchLabs用のUEFI準拠のライブイメージの作成
  3. HDD0を取り外し、HDD1にW10 Homeを取り付けます。
  4. HDD1を取り外し、ArchLabsをHDD0にインストールします。 grubはブートマネージャです。
  5. BIOSを使用してHDD1を接続し、HDD0から起動します。 ArchLabsのみが起動オプションとして一覧表示されます。
  6. ランニングgrub-mkconfig -o /boot/grub/grub.cfgグラップアップデート) - Windowsを探す

どの出力

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows Boot Manager on /dev/sdb2@/efi/Microsoft/Boot/bootmgfw.efi
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

BIOSからHDD0を起動すると、grubにWindowsオプションが表示されますが、選択するとこのエラーが発生します。

error: no such device: FA77-02BF.
error: disk `hd1,gpt2' not found.

Press any key to continue...

いくつかの情報

$sudo blkid
/dev/sda1: UUID="EFA1-BD6C" TYPE="vfat" PARTUUID="f1abfa2e-8f5e-4569-88a7-ebd5ebd1a737"
/dev/sda2: UUID="a43046c3-84ec-4308-9eaf-a872f1c4300d" TYPE="ext4" PARTUUID="c1a4e499-919d-4194-890f-459418430422"
/dev/sdb1: LABEL="Recovery" UUID="58CC724CCC722482" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="78b687ea-65f2-4c5a-9e2e-211c28298378"
/dev/sdb2: UUID="FA77-02BF" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="149fbe08-56e3-4dd7-9dde-b60e668a2253"
/dev/sdb4: UUID="50F28160F2814AE4" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="1e767b54-5723-4d51-889a-48108c2547fe"
/dev/sdb3: PARTLABEL="Microsoft reserved partition" PARTUUID="be54b5e0-7701-473a-aa31-bbc8919d62ae"

fstabはまだインストールされていませんが、sdbインストールする必要があるかどうかわかりません。

$cat /etc/fstab
# /dev/sda2
UUID=a43046c3-84ec-4308-9eaf-a872f1c4300d   /           ext4        rw,relatime,data=ordered    0 1

# /dev/sda1
UUID=EFA1-BD6C          /boot/efi   vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro   0 2

/swapfile   none        swap        defaults,pri=-2 0 0

問題は、各ハードドライブに独自のEFIパーティションがあることです。

$fdisk -l
Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 558CB70E-9540-49A2-87E9-728B9C3CDB16

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1052672 625141759 624089088 297.6G Linux filesystem


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0676ACB7-16B9-4BBC-8030-D26B229EEF78

Device       Start       End   Sectors   Size Type
/dev/sdb1     2048   1023999   1021952   499M Windows recovery environment
/dev/sdb2  1024000   1228799    204800   100M EFI System
/dev/sdb3  1228800   1261567     32768    16M Microsoft reserved
/dev/sdb4  1261568 976773119 975511552 465.2G Microsoft basic data

現在は、BIOSを使用して起動するHDDを選択し、そのHDDの起動マネージャを使用してそのオペレーティングシステムを起動できます。もちろん、BIOSが毎回同じドライブから起動し、GRUBを介してオペレーティングシステムを選択できる場合は良いでしょう。

答え1

2つの別々のハードドライブにWindowsとArchをインストールするには:

  1. 最も簡単な回避策は、1つのOSをUEFIモードでインストールし(Win8または10がUEFIモードでインストールされている場合)、BIOSモードで別のOSをインストールした後に2つを切り替えることです
    。 BIOS / UEFIメニューに移動して
    起動モードを変更するb。
    C. 再起動
  2. Win7またはそれ以前のバージョンを検討している場合:BIOSモードでインストールして学びますgrub
  3. 両方にUEFIを使用する場合は、コンピュータが1つのUEFIパーティションを持つように設計されていることに注意してください。したがって、次のことを行う必要があります
    。両方のハードドライブに同じUEFIパーティションを維持します(最初のパーティションのみを変更)最初のハードドライブにコピーします。FAT
    Windows 10ブートマネージャ以外の方法でブートを実行するには、grub次のものが必要です。マイクロプレートリーダー実行方法は次のとおりです。grub最初のSSDにWindows 10、Linux(私の場合はUbuntu、ArchとUbuntuの両方を使用するので違いはありません)、両方のefiパーティションは同じです。セカンダリefiパーティションが最初にバックアップされるようです。 rEFInd メニューで重複項目を非表示にします。私は通常1cに行きますdd。 rEFIndを知っています/dev/sda1/dev/sdb1
    BIOSはサポートされていませんしたがって、以下をインストールする必要があります。EFIシェルrEFIndが最初に起動するようにUEFI NVRAMの起動設定を手動で変更します。 (これが最終的に私がしたことです。rEFIndをブート優先順位0の最初のHDDのデフォルトブートマネージャにすることを忘れないでください。rEFIndはまた、ブート優先順位が1の2番目のハードディスクのセカンダリブートマネージャとしても機能します!)

本をはじめ、本をたくさん読まなければなりません。一部~のこれUEFIアライアンス文書、しかし、多くのことを学ぶことができます! (確かに… ;-)注1:はい、これは正しいコマンドではありません。私は知っています。 isk estroyerという名前で最もよく知られている一般的なコマンドをdd私の答えに入れないでください。ddDD:-)
参考²:これを行う理由を説明していないので、次のようにします。ハードドライブの1つに障害が発生した場合、冗長パーティションがあっても別のオペレーティングシステムはハードドライブの1つにのみ存在するため、もう一方のオペレーティングシステムにアクセスできなくなるため、復元力を探してefiいる場合は、代わりにRAID1を使用してください。注³:パーティションが実際にrEFIndが設定されていない2番目のSSDにバックアップされていることを
確認し、WindowsブートマネージャEFI絶対GRUBをお試しください。

関連情報