Last night, I migrated and upgraded my BIOS Manjaro + Windows 7 dual-boot into a UEFI Manjaro + Windows 10 dual-boot onto my new SSD. I installed Windows 10 but am still using my old Manjaro install, only now it boots to a UEFI menu. The migration is working great as far as I can tell (I can actually boot either Grub MBR or Grub UEFI, depending on my computer BIOS boot priority setting). But I'm not sure if I did it right since this is my first time working with UEFI.
So I got it working mostly with the help of the "Switching from BIOS to UEFI" section of the Manjaro Wiki UEFI Install Guide. But also using the Windows 10 - Manjaro - Dual-boot - Step by Step.
Furthermore, I used Timeshift to migrate my Manjaro install which is explained in the Clone hard drive to new smaller hd / ssd without losing anything tutorial (although I knew how to do this already).
So my final layout has 3 boot partitions, 2 $esp and 1 normal(?) linux /boot.
sda1-4 is Windows. sda5-8 is Manjaro (sda5 is /boot/efi, sda8 is /boot).
gdisk
GPT fdisk (gdisk) version 1.0.4
Type device filename, or press <Enter> to exit: /dev/sda
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Model: CT500MX500SSD1
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 353EC9E1-85A9-4E2F-8040-BDC9670A277F
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2029 sectors (1014.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1023999 499.0 MiB 2700 Basic data partition
2 1024000 1226751 99.0 MiB EF00 EFI system partition
3 1226752 1259519 16.0 MiB 0C01 Microsoft reserved ...
4 1259520 210974719 100.0 GiB 0700 Basic data partition
5 210974720 212023295 512.0 MiB EF00 EFI Manjaro
6 212023296 285423615 35.0 GiB 8300
7 285423616 976158719 329.4 GiB 8300
8 976158720 976773119 300.0 MiB 8300
parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: ATA CT500MX500SSD1 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 524MB 523MB ntfs Basic data partition hidden, diag
2 524MB 628MB 104MB fat32 EFI system partition boot, esp
3 628MB 645MB 16.8MB Microsoft reserved partition msftres
4 645MB 108GB 107GB ntfs Basic data partition msftdata
5 108GB 109GB 537MB fat32 EFI Manjaro boot, esp
6 109GB 146GB 37.6GB ext4
7 146GB 500GB 354GB ext4
8 500GB 500GB 315MB ext3
lsblk
# lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 499M 0 part
├─sda2 8:2 0 99M 0 part
├─sda3 8:3 0 16M 0 part
├─sda4 8:4 0 100G 0 part
├─sda5 8:5 0 512M 0 part /boot/efi
├─sda6 8:6 0 35G 0 part /
├─sda7 8:7 0 329.4G 0 part /home
└─sda8 8:8 0 300M 0 part /boot
findmnt
# findmnt -s
TARGET SOURCE FSTYPE OPTIONS
/boot UUID=6aad92cb-7507-45c0-b7f1-cfc55dc6c3fb ext3 defaults,noatime
/ UUID=86a5e4bc-e074-4ead-b27e-53def8239055 ext4 defaults,noatime,nodelalloc,errors=remount-ro
/home UUID=842eb5f5-b442-47b7-bda8-761c4eb64932 ext4 defaults,noatime,nodelalloc,errors=remount-ro
/run/media/yena/ST4000 UUID=01D46B63959102F0 ntfs defaults,noatime,uid=1000,gid=1001,umask=022,nofail,x-systemd.device-timeout=15
/run/media/yena/FILES UUID=01D3219CD10FBA40 ntfs defaults,noatime,uid=1000,gid=1001,umask=022,nofail,x-systemd.device-timeout=15
/run/media/yena/APPS UUID=01D3328390BB87B0 ntfs defaults,noatime,uid=1000,gid=1001,umask=022,nofail,x-systemd.device-timeout=15,noauto
/run/media/yena/backup UUID=bc8ab2c9-ea5d-4da2-88b3-17ec3bbd01d2 ext4 defaults,noatime,data=writeback,nodelalloc,errors=remount-ro
/boot/efi UUID=2EA8-AD1A vfat defaults
df
Filesystem Size Used Avail Use% Mounted on
dev 7.9G 0 7.9G 0% /dev
run 7.9G 1.3M 7.9G 1% /run
/dev/sda6 35G 16G 18G 47% /
tmpfs 7.9G 130M 7.7G 2% /dev/shm
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs 7.9G 41M 7.8G 1% /tmp
/dev/sda8 283M 150M 119M 56% /boot
/dev/sda7 324G 13G 295G 5% /home
/dev/sda5 511M 144K 511M 1% /boot/efi
/dev/sdc3 49G 32G 16G 68% /run/media/yena/backup
/dev/sdb6 425G 219G 207G 52% /run/media/yena/FILES
/dev/sdc2 3.6T 2.4T 1.2T 67% /run/media/yena/ST4000
tmpfs 1.6G 36K 1.6G 1% /run/user/1000
So my question is, did I do this right? I can boot Manjaro and Windows 10 fine. I can update my kernels fine. But /boot/efi is empty. The only file in that partition is /boot/efi/EFI/manjaro/grubx64.efi which is 13 KB.
P.S. Why do some people write $esp with the dollar sign?