web-dev-qa-db-fra.com

Quelles commandes pour convertir une installation de BIOS Ubuntu en EFI / UEFI sans réparation de démarrage sur du matériel à démarrage unique?

Installation accidentelle en mode BIOS

J'ai du matériel Intel 64 bits avec l'utilitaire de configuration UEFI. Ubuntu 14.04.1 LTS a été installé comme seul système d’exploitation sur le seul lecteur connecté. Accidentellement, Ubuntu a été installé en mode BIOS/CSM/Legacy.

Convertir en UEFI

Bien que nous en apprenions plus tard sur UEFI, l’objectif est de changer cette installation Ubuntu existante pour un démarrage (plus rapide) via EFI/UEFI. Je souhaite toujours afficher une sorte de menu de démarrage - 2 secondes - qui me permet d'accéder à l'utilitaire de configuration UEFI. Par conséquent, je pense que j'ai besoin d'utiliser Grub (impossible d'utiliser un stub de démarrage EFI) et que le support GOP nécessite Grub version 1.99 ou supérieure . J'ai déjà re-partitionné le lecteur à l'aide d'un Live CD et inséré une partition EFI de 200 MiB au début du lecteur et marqué cette partition au format fat16 comme type id 0xEF.

Avant:

# fdisk -l /dev/sda
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   108478463    54238208   83  Linux
/dev/sda2       108480510   125044735     8282113    5  Extended
/dev/sda5       108480512   125044735     8282112   82  Linux swap / Solaris

Après:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *      411648   108478463    54033408   83  Linux
/dev/sda2       108480510   125044735     8282113    5  Extended
/dev/sda3            2048      411647      204800   ef  EFI (FAT-12/16/32)
/dev/sda5       108480512   125044735     8282112   82  Linux swap / Solaris

Partition table entries are not in disk order

Pas de réparation de démarrage s'il vous plaît

Le wiki de la communauté Ubuntu suggère d’utiliser boot-repair pour convertir Ubuntu en mode EFI . Je ne souhaite pas utiliser d'interface graphique ni installer de paquet supplémentaire, et je ne souhaite pas que des données soient accidentellement envoyées à Pastebin.com et, parce que je veux savoir ce qui sera modifié exactement, je ne veux pas use Boot-repair .

Sous la capuche

En essayant de comprendre ce que la réparation de démarrage fait réellement, j'ai trouvé cet extrait:

Boot-Repair convertira une installation du BIOS en UEFI en désinstallant grub-pc et en installant grub-efi, si gpt est partitionné.

source: http://ubuntuforums.org/showthread.php?t=2147295&p=12657352#post12657352

Comparaison d'installation en mode UEFI

Une nouvelle installation Ubuntu 14.04.1 en mode UEFI crée une partition EFI de 512 MiB Fat32. Cette partition contient un répertoire /EFI/ubuntu, contenant 4 fichiers: grub.cfg, grubx64.efi, MokManager.efi et shimx64.efi. Le fichier grub.cfg contient:

search.fs_uuid 7d843e47-3917-4114-8725-55dfa1fbe002 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Search.fs_uuid pointe sur l'UUID de la partition d'installation Linux. Dans cette comparaison, installation UEFI, Linux est la partition installée/dev/sda2. (versus sda1 dans l’installation en mode BIOS).

Aucun problème potentiel du micrologiciel Asrock trouvé

CSM étant toujours désactivé dans le micrologiciel et utilisant l’installation Ubuntu en mode UEFI propre. En redimensionnant la partition EFI 512 Mio à 200 Mio à l'aide d'un Live CD et de gpartedname__, sa mise en forme passe de FAT32 à FAT16. Le firmware Asrock P1.50 (appelé à tort BIOS par AMI dans le message de démarrage "date du BIOS") est toujours capable de démarrer en mode UEFI Ubuntu: UEFI + FAT16 = ok .
Conversion de la table de partitions de GPT en MBR (msdos) à l'aide de la même commande de terminal Live CD gdisket de ses commandes rgname__pwégalement sur un lecteur partitionné MBR: UEFI + MBR = ok .

Question

Cela signifie-t-il que les seules commandes que j'ai besoin d'exécuter - à partir de l'installation Ubuntu héritée et dans cet ordre - sont:

# apt-get install grub-efi
# apt-get remove grub-pc

? Ou faut-il en faire plus?

32
Pro Backup

Démarrez un Live CD Ubuntu Linux (14.04) en mode UEFI. Dans le cas d'un périphérique de démarrage USB, désactivez "Fast Boot" dans UEFI.

Ouvrez une fenêtre de terminal (Ctrl+Alt+T)

Pour vérifier que vous utilisez bien le mode UEFI, utilisez cette commande bash:

$ [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Le résultat obtenu devrait être:

UEFI

Dans le cas où BIOS est indiqué, redémarrez votre micrologiciel et corrigez les préférences du périphérique d'amorçage.

Pour effectuer la conversion du BIOS en EFI/UEFI, entrez les commandes suivantes:

$ Sudo mount /dev/sda1 /mnt
$ Sudo mkdir -p /mnt/boot/efi
$ Sudo mount /dev/sda3 /mnt/boot/efi
$ Sudo mount --bind /dev /mnt/dev
$ Sudo mount --bind /proc /mnt/proc
$ Sudo mount --bind /sys /mnt/sys
$ Sudo mount --bind /run /mnt/run
$ modprobe efivars
$ Sudo chroot /mnt
# apt-get install grub-efi-AMD64

The following extra packages will be installed:
  efibootmgr grub-efi-AMD64-bin
The following packages will be removed:
  grub-gfxpayload-lists grub-pc
...
After this operation, 2,399 kB of additional disk space will be used.

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --no-floppy --debug

Malgré la fin du message d'erreur:

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

le prochain redémarrage affiche déjà " ubuntu " dans le menu d'options de démarrage du microprogramme, et démarre sur la console comme auparavant, à l'exception du démarrage en mode efi:

$ dmesg | grep EFI
efi: EFI v2.31 by American Megatrends
fb0: EFI VGA frame buffer device
EFI Variables Facility v0.08 2004-May-17
fb: switching to inteldrmfb from EFI VGA

En cas de problème, https://superuser.com/questions/376470/how-to-reinstall-grub2-efi pourrait vous aider.

39
Pro Backup

Cela a fonctionné pour moi aussi avec une petite modification. Même si le réseau fonctionnait, je ne pouvais pas demander à "apt-get install grub-efi-AMD64" de trouver l'un des serveurs de paquets.

J'ai contourné cela en démarrant une dernière fois en mode BIOS et en installant grub-efi-AMD64.

Je pourrais alors suivre les procédures ici à l’exception de l’omission de "apt-get install grub-efi-AMD64".

1
WallyZ