Puoi usare Windows 8 Boot Manager per avviare Linux da un secondo hdd? UEFI / GPT


1

Guardando alle fonti online è stato ipotizzato che, per i sistemi UEFI / GPT, ciò non è possibile.

La mia configurazione è un SO Windows 8.1 su un SSD e un HDD SATA da 1 TB per dati / musica / immagini ecc.

Recentemente ho voluto caricare Archlinux e ho deciso di ridimensionare l'HDD da 1 TB per consentire 100 GB per Linux. Sono stato in grado di installare con successo e sono in grado di avviare l'installazione Linux UEX tramite BIOS.

Tuttavia, per passare da Windows 8.1 a Linux, devo premere DEL per riavviare, accedere al BIOS, fare clic sul menu BOOT e quindi fare clic sulla voce arch_grub per la partizione di avvio sull'HDD da 1TB.

Idealmente mi piacerebbe avere il Boot Manager di Windows 8 per mostrare una voce per Arch Linux e avviare la partizione EFI linux da lì.

La mia configurazione

Primary SSD (Win8)
|- /dev/sda1 – recovery (ntfs)
|- /dev/sda2 – boot (fat32)
|- /dev/sda3 – unknown
|- /dev/sda4 – windows primary (ntfs)

Secondary HDD (Windows Data Disk / Archlinux install)
|- /dev/sdb1 – unknown
|- /dev/sdb2 – windows secondary (ntfs)
|- /dev/sdb3 – /boot (fat32)
|- /dev/sdb4 – /mnt (ext4)
|- /dev/sdb5 – /mnt/var (ext4)
|- /dev/sdb6 – swap
|- /dev/sdb7 – /mnt/home (ext4)

Ho formattato una partizione / boot separata per essere FAT32 e ho installato GRUB su quella partizione usando:

# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug --force /dev/sdb3

Questo mi permette di vedere la partizione linux / boot da Windows (unità H :) e ha la struttura:

/boot/
  |-EFI/arch_grub/grubx64.efi
  |-grub/
      |-fonts/...
      |-locale/...
      |-themes/...
      |-x86_64-efi/...
      |-grub.cfg
      |-grub.cfg.example
      |-grubenv
  |- initramfs-linux
  |- initramfs-linux-fallback
  |- vmlinuz-linux

Quello che ho provato:

  1. Seguito i passaggi per configurare bcdedit nel ben noto guida referenziato nel wiki di Archlinux.

Ciò si traduce in un errore di avvio e richiede all'utente di riavviare nella selezione os. Funziona solo l'opzione Windows. Sospetto che sia perché Linux è sul secondo disco rigido.

  1. Utilizzato il metodo Grub4Dos, posizionando grldr e grldr.mbr in C: creando una voce bcdedit con un percorso per grldr.mbr. Configurato un menu.lst e collocato nella C:. Il menu.lst si presentava così:

titolo Linux

root (hd1,2)

kernel / boot / vmlinuz-linux root = / dev / sdb3

initrd /boot/initramfs-linux.img

Ciò comporta lo stesso errore di avvio di 1. Sospetto che sia perché il caricamento di un MBR in un ambiente UEFI / GPT non è supportato.

  1. Creata una voce bcdedit con la directory impostata su H: (linux fat32 / boot partizione) con il percorso che punta a EFI / arch_grub / grubx64.efi

Ciò comporta nuovamente lo stesso errore. Sospetto che sia perché bcdedit non può funzionare su un secondo hdd.

Qualcuno può fornire una visione / guida su questo argomento?


Sembra che dovresti configurare Grub per l'avvio in Windows e / o Linux in base alla tua selezione. Boot Manager di Windows non sa come fare il boot in Linux (né Grub sa come avviarsi in Windows, lascia fare al boot manager di Windows farlo).
Ramhound

Di solito, si usa Windows Boot Manager per eseguire il chainload di Grub, che quindi carica la propria distribuzione Linux di scelta. In alternativa, è possibile associarlo in un altro modo, eseguendo l'avvio in Grub e quindi trasferito a Windows Boot Manager.
Caleb Xu

@CalebXu - Sì, sto avendo problemi con il caricamento a catena WBM Grub su un secondo disco rigido.
tekiwibird

@Ramhound - Mi piacerebbe esplorare la possibilità di ottenere una soluzione con WBM, ho provato a utilizzare Grub per caricare il WBM ma non ha funzionato neanche per me. Ho usato os-prober per trovare altri sistemi operativi prima di eseguire grub-mkconfig ma non sapeva cosa fare con le partizioni Windows.
tekiwibird
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.