Quand Ubuntu est déjà installé en mode EFI (*) sur un disque dur ou un SSD ayant une table de partition GPT, si on installe Windows 10 ensuite en cohabitation sur ce même support, l'installateur de Windows 10 va utiliser la partition EFI existante qui a été créée à l'installation de Ubuntu. Le système UEFI ne peut pas avoir que des défauts et là il y a clairement un avantage puisque Windows 10 ne va pas écraser les éléments qui servent au démarrage de Ubuntu (alors que dans le cas d'une installation en mode Bios, il y a écrasement du chargeur d'amorçage de Grub).
Je fais le parcours depuis une installation de Ubuntu 20.04.1 réalisée en mode EFI avec le choix "Effacer le disque et installer Ubuntu". L'installateur de Ubuntu a donc créé automatiquement la table de partition GPT ainsi que la partition EFI et la partition racine de Ubuntu.
La manip est réalisée dans une machine virtuelle de VirtualBox.
1) depuis une session live de Ubuntu 20.04.1, lancement de Gparted
État de départ :
Réduction de la taille de la partition racine de Ubuntu afin de laisser une place libre (non-allouée) en vue de l'install de Windows 10 :
Ne pas oublier de cliquer sur la coche verte afin que l'opération de réduction soit réellement effectuée
A noter : dans la réalité, on a intérêt à viser une place non-allouée de 100 Go (ou plus) parce que Windows 10 est gourmand. Après plusieurs mise à niveau de Win10, il prend des rondeurs, sans parler des programmes voraces.
2) lancement de l'installation de Windows 10 (j'ai installé la version 2004 de Windows 10 famille)
Arrivé à
cette étape, il faut choisir
Personnalisé : installer uniquement Windows (avancé),
ensuite, il faudra sélectionner l'espace non-alloué qui a été préparé précédemment :
Après ça, je n'ai pas grand chose à signaler. L'install doit se faire tranquillement.
3) Au redémarrage, Windows 10 a dû se mettre en priorité de démarrage. Il faut remettre Ubuntu en priorité (je détaille ça dans le post #2). De plus, il faut mettre à jour Grub afin qu'il propose une entrée pour Windows 10 dans le menu Grub. Pour cela, il faut passer la commande "sudo update-grub".
4) voici ce qu'on obtient au final (Boot-info réalisé depuis une session du Ubuntu 20.04 installé) :
Ne pas tenir compte de sdb ni de sdb1 (ça ne fait pas partie de la manip)
boot-info-4ppa125 [20210124_1505]
============================== Boot Info Summary ===============================
=> No boot loader is installed in the MBR of /dev/sda.
=> No boot loader is installed in the MBR of /dev/sdb.
sda1: __________________________________________________________________________
File system: vfat
Boot sector type: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /efi/BOOT/fbx64.efi /efi/BOOT/mmx64.efi
/efi/ubuntu/grubx64.efi /efi/ubuntu/mmx64.efi
/efi/ubuntu/shimx64.efi /efi/ubuntu/grub.cfg
/efi/Microsoft/Boot/bootmgfw.efi
/efi/Microsoft/Boot/bootmgr.efi
/efi/Microsoft/Boot/memtest.efi
sda2: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Ubuntu 20.04.1 LTS
Boot files: /boot/grub/grub.cfg /etc/fstab /etc/default/grub
sda3: __________________________________________________________________________
File system:
Boot sector type: -
Boot sector info:
sda4: __________________________________________________________________________
File system: ntfs
Boot sector type: Windows 8/2012: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows 8 or 10
Boot files: /Windows/System32/winload.exe
sdb1: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System:
Boot files:
================================ 2 OS detected =================================
OS#1: L'OS actuellement utilisé - Ubuntu 20.04.1 LTS CurrentSession on sda2
OS#2: Windows 8 or 10 on sda4
============================ Architecture/Host Info ============================
CPU architecture: 64-bit
BOOT_IMAGE of the installed session in use:
/boot/vmlinuz-5.8.0-40-generic root=UUID=72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd ro quiet splash vt.handoff=7
===================================== UEFI =====================================
BIOS is EFI-compatible, and is setup in EFI-mode for this installed-session.
efibootmgr -v
BootCurrent: 0004
BootOrder: 0004,0005,0000,0001,0002,0003
Boot0000* EFI DVD/CDROM PciRoot(0x0)/Pci(0xd,0x0)/Sata(1,0,0)
Boot0001* EFI Hard Drive PciRoot(0x0)/Pci(0xd,0x0)/Sata(0,0,0)
Boot0002* EFI Hard Drive 1 PciRoot(0x0)/Pci(0xd,0x0)/Sata(2,0,0)
Boot0003* EFI Internal Shell MemoryMapped(11,0x2100000,0x28fffff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
Boot0004* ubuntu HD(1,GPT,078eeaf8-cf19-4eac-872a-f2d550896f4f,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0005* Windows Boot Manager HD(1,GPT,078eeaf8-cf19-4eac-872a-f2d550896f4f,0x800,0x100000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...T................
2895d47544fd587b26c7e29be1295c27 sda1/BOOT/fbx64.efi
dc3c47be2f78a78e5e57d097ae6c5c84 sda1/BOOT/mmx64.efi
8ed07d5ee4e5e1534bcf64037b7589ff sda1/ubuntu/grubx64.efi
dc3c47be2f78a78e5e57d097ae6c5c84 sda1/ubuntu/mmx64.efi
78415fb8fb9b909f8029858113f1335f sda1/ubuntu/shimx64.efi
4f0248591a11d5432380ba65f683879b sda1/Microsoft/Boot/bootmgfw.efi
1feb5f9427494e6f598603caa3af7d99 sda1/Microsoft/Boot/bootmgr.efi
78415fb8fb9b909f8029858113f1335f sda1/BOOT/BOOTX64.efi
============================= Drive/Partition Info =============================
Disks info: ____________________________________________________________________
sda : is-GPT, no-BIOSboot, has---ESP, not-usb, not-mmc, has-os, 2048 sectors * 512 bytes
sdb : is-GPT, no-BIOSboot, has-noESP, not-usb, not-mmc, no-os, 2048 sectors * 512 bytes
Partitions info (1/3): _________________________________________________________
sda2 : is-os, 64, apt-get, signed grub-pc grub-efi , grub2, grub-install, grubenv-ok, update-grub, not-far
sda1 : no-os, 32, nopakmgr, no-docgrub, nogrub, nogrubinstall, no-grubenv, noupdategrub, not-far
sda4 : is-os, 32, nopakmgr, no-docgrub, nogrub, nogrubinstall, no-grubenv, noupdategrub, not-far
sdb1 : no-os, 32, nopakmgr, no-docgrub, nogrub, nogrubinstall, no-grubenv, noupdategrub, not-far
Partitions info (2/3): _________________________________________________________
sda2 : isnotESP, fstab-has-goodEFI, no-nt, no-winload, no-recov-nor-hid, no-bmgr, notwinboot
sda1 : is---ESP, part-has-no-fstab, no-nt, no-winload, no-recov-nor-hid, no-bmgr, notwinboot
sda4 : isnotESP, part-has-no-fstab, no-nt, haswinload, no-recov-nor-hid, no-bmgr, notwinboot
sdb1 : isnotESP, part-has-no-fstab, no-nt, no-winload, no-recov-nor-hid, no-bmgr, notwinboot
Partitions info (3/3): _________________________________________________________
sda2 : not-sepboot, with-boot, fstab-without-boot, not-sep-usr, with--usr, fstab-without-usr, std-grub.d, sda
sda1 : not-sepboot, no-boot, part-has-no-fstab, not-sep-usr, no---usr, part-has-no-fstab, std-grub.d, sda
sda4 : not-sepboot, no-boot, part-has-no-fstab, not-sep-usr, no---usr, part-has-no-fstab, std-grub.d, sda
sdb1 : maybesepboot, no-boot, part-has-no-fstab, not-sep-usr, no---usr, part-has-no-fstab, std-grub.d, sdb
fdisk -l (filtered): ___________________________________________________________
Disk sda: 70.2 GiB, 75369676800 bytes, 147206400 sectors
Disk identifier: 1DF5854B-506D-45C3-B593-74B7FA065776
Start End Sectors Size Type
sda1 2048 1050623 1048576 512M EFI System
sda2 1050624 42266623 41216000 19.7G Linux filesystem
sda3 42266624 42299391 32768 16M Microsoft reserved
sda4 42299392 147206143 104906752 50G Microsoft basic data
Disk sdb: 40.58 GiB, 43552735232 bytes, 85063936 sectors
Disk identifier: F1F26032-8293-4FA3-9DD7-26B596A08F7A
Start End Sectors Size Type
sdb1 2048 85063679 85061632 40.6G Linux filesystem
parted -lm (filtered): _________________________________________________________
sda:75.4GB:scsi:512:512:gpt:ATA VBOX HARDDISK:;
1:1049kB:538MB:537MB:fat32:EFI System Partition:boot, esp;
2:538MB:21.6GB:21.1GB:ext4::;
3:21.6GB:21.7GB:16.8MB::Microsoft reserved partition:msftres;
4:21.7GB:75.4GB:53.7GB:ntfs:Basic data partition:msftdata;
sdb:43.6GB:scsi:512:512:gpt:ATA VBOX HARDDISK:;
1:1049kB:43.6GB:43.6GB:ext4::;
blkid (filtered): ______________________________________________________________
NAME FSTYPE UUID PARTUUID LABEL PARTLABEL
sda
├─sda1 vfat 76DE-A837 078eeaf8-cf19-4eac-872a-f2d550896f4f EFI System Partition
├─sda2 ext4 72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd 52265cf7-6949-4fd8-9a55-ac4fad42c856
├─sda3 1ad81757-4abe-43d2-956f-8c4e6ba6512e Microsoft reserved partition
└─sda4 ntfs C89C2EA49C2E8D4E 577ba866-8275-4d39-8998-b7840a30af88 Basic data partition
sdb
└─sdb1 ext4 e400e99e-a76f-42a8-a120-d454ddcee09d 3d269221-7246-40cc-afbd-e2cc9caf91a4 clone_W10_focal
df (filtered): _________________________________________________________________
Avail Use% Mounted on
sda2 9.4G 45% /
sda4 39.8G 20% /mnt/boot-sav/sda4
sdb1 27G 27% /mnt/boot-sav/sdb1
Mount options: __________________________________________________________________
sda2 rw,relatime,errors=remount-ro
sda4 rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096
sdb1 rw,relatime
===================== sda1/efi/ubuntu/grub.cfg (filtered) ======================
search.fs_uuid 72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
====================== sda2/boot/grub/grub.cfg (filtered) ======================
Ubuntu 72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd
Ubuntu, avec Linux 5.8.0-40-generic 72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd
Ubuntu, avec Linux 5.4.0-42-generic 72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd
Windows Boot Manager (sur sda1) osprober-efi-76DE-A837
### END /etc/grub.d/30_os-prober ###
UEFI Firmware Settings uefi-firmware
### END /etc/grub.d/30_uefi-firmware ###
========================== sda2/etc/fstab (filtered) ===========================
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=72f73ddf-b0ba-4b90-9785-19c1e3b2d7dd / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=76DE-A837 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
======================= sda2/etc/default/grub (filtered) =======================
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
==================== sda2: Location of files loaded by Grub ====================
GiB - GB File Fragment(s)
9,029788971 = 9,695662080 boot/grub/grub.cfg 2
6,283462524 = 6,746816512 boot/vmlinuz 1
5,379024506 = 5,775683584 boot/vmlinuz-5.4.0-42-generic 1
6,283462524 = 6,746816512 boot/vmlinuz-5.8.0-40-generic 1
5,379024506 = 5,775683584 boot/vmlinuz.old 1
6,967769623 = 7,481585664 boot/initrd.img 2
6,919269562 = 7,429509120 boot/initrd.img-5.4.0-42-generic 2
6,967769623 = 7,481585664 boot/initrd.img-5.8.0-40-generic 2
6,919269562 = 7,429509120 boot/initrd.img.old 2
===================== sda2: ls -l /etc/grub.d/ (filtered) ======================
-rwxr-xr-x 1 root root 17622 nov. 13 00:15 10_linux
-rwxr-xr-x 1 root root 42359 nov. 13 00:15 10_linux_zfs
-rwxr-xr-x 1 root root 12894 juil. 31 02:34 20_linux_xen
-rwxr-xr-x 1 root root 12059 juil. 31 02:34 30_os-prober
-rwxr-xr-x 1 root root 1424 juil. 31 02:34 30_uefi-firmware
-rwxr-xr-x 1 root root 214 juil. 31 02:34 40_custom
-rwxr-xr-x 1 root root 216 juil. 31 02:34 41_custom
======================== Unknown MBRs/Boot Sectors/etc =========================
/dev/sda3: unknown GPT attributes
8000000000000000
Suggested repair: ______________________________________________________________
The default repair of the Boot-Repair utility would reinstall the grub-efi-amd64-signed of
sda2,
using the following options: sda1/boot/efi,
Additional repair would be performed: unhide-bootmenu-10s win-legacy-basic-fix use-standard-efi-file
Final advice in case of suggested repair: ______________________________________
Please do not forget to make your UEFI firmware boot on the L'OS actuellement utilisé - Ubuntu 20.04.1 LTS CurrentSession entry (sda1/efi/****/shim****.efi (**** will be updated in the final message) file) !
If your computer reboots directly into Windows, try to change the boot order in your UEFI firmware.
If your UEFI firmware does not allow to change the boot order, change the default boot entry of the Windows bootloader.
For example you can boot into Windows, then type the following command in an admin command prompt:
bcdedit /set {bootmgr} path \EFI\****\shim****.efi (**** will be updated in the final message)
On peut voir que l'installateur de Windows 10 a créé automatiquement deux partitions :
- la partition sda3 qui est détectée comme "Microsoft reserved partition". C'est une partition sans format.
- la partition sda4 qui est la partition système de Windows 10 (l'équivalent de la partition racine de Ubuntu), au format NTFS
(*) pour s'assurer de la chose, voir
3. Identifier un Ubuntu installé en EFI