web-dev-qa-db-ja.com

UbuntuをMBR + BIOSからGPT + EFIに変換した後、Windows 10を検出/起動できません

TL; DR
どのようにしてEFIから起動できますかGRUBディスクAへのインストール、ディスクBへのWindows 10 BIOSインストール)

長い説明
os-proberは、UbuntuをMBR + BIOSからGPT + EFIに移行した後、Windowsを検出しなくなりました。

私のディスク状況は少し複雑です:

sda                    1,8T                              
└─sda1      ext4       1,4T /media/Steam                 Steam
sdb                  931,5G                              
├─sdb1      vfat       512M                              
├─sdb2      ext4       125G                              home
├─sdb3      ext4     774,5G /media/Dati_ext4             Dati_ext4
└─sdb4      ext4      31,5G                              Ubuntu18.04
sdc                  232,9G                              
├─sdc1      ntfs       100M                              
├─sdc2      ntfs        59G                              Win10
├─sdc3      ntfs       483M                              
└─sdc4      ntfs     172,9G                              Dati_NTFS
nvme0n1                477G                              
├─nvme0n1p1 ext4      62,4G /                            Ubuntu19.10
├─nvme0n1p2 vfat       200M /boot/efi                    EFI
└─nvme0n1p3 ext4     322,1G /home                        home
  • 4つのディスク(1つのNVMeと3つのSSD)があります。
  • 今日までは、すべてMBRを使用しており、UEFIはNVMeをレガシーモードで起動していました。
  • Ubuntuの2つのインストール(19.10と18.04)とWindows 10の1つがあります。
  • 各OSには独自のディスクがあります(OSがインストールされていない4番目のディスク)。つまり、各OSには、各ディスクのMBRに独自のブートローダーがインストールされていました。
  • GRUBは他のすべてのOSも確認できたため、NVMeのGRUBから、3つのOSのいずれかを起動できました。

今日、私はUbuntuのNVMeインストールをMBR + BIOSからGPT + EFIに変換することにしました。他のディスクには触れなかったので、GRUBが他のOSを検出して通常どおりに起動することを期待しています。

変換は正常に機能し、Ubuntu 19.10で起動できます。しかしos-proberはUbuntu 18.04を認識しますが、not Windows 10を認識します。

私がやりたいのは、os-proberの修正を見つけてWindowsを認識させるか、GRUB構成を手動で指定してWindows MBR + BIOSインストールを起動することです。

私はすでに2番目の方法で何かを試しましたが、うまくいきませんでした。これをEFIインストールの/etc/grub.d/40_customに追加しました:

menuentry 'Windows 10 (su /dev/sdc1)' --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='hd2,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1  C08E2C498E2C3A74
    else
      search --no-floppy --fs-uuid --set=root C08E2C498E2C3A74
    fi
    parttool ${root} hidden-
    drivemap -s (hd0) ${root}
    chainloader +1
}

私は作業中のUbuntu 18.04からそれを取ったGRUB MBR + BIOSインストール。

しかし、GRUBメニューからWindows 10を選択すると、次のエラーが発生します。

Setting partition type to 0x7
error: can't fine command `drivemap'.
error: invalid EFI file path.

EFIから起動することも可能ですかGRUB Windows 10の別のディスク上のBIOSインストール

1

短い答えですが、UEFI grubからレガシーWindowsを起動することはできません。 GRUBが起動すると、起動モードはUEFIに設定され、Windowsはレガシーモードであるため起動できません。 Windowsがオンになっているデバイスを選択し(おそらく独自のブートローダーを使用)、EFIブートメニューから起動できます(起動時にファンクションキーを押して、ブートデバイス/ OSを選択できます)。別のGRUBインストールを使用するか、その2番目のディスクからWindowsを正常に起動して、レガシーモードにすることができます。 2番目のディスクを起動するだけで、Windowsが起動する場合があります。

3
ubfan1