A friend has a system on which I recently installed Manjaro Linux in dual boot with Windows 10, using the default dual-boot partitioning scheme from the installer.
Yesterday, Windows decided to update itself (the infamous Creator's Update, I guess), and Manjaro would not boot.
I instructed the friend to login from a liveUSB and this is the sudo fdisk -l
output:
Disk /dev/nvme0n1: 238,5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DBCB2883-9E10-40F3-8007-B1B409A79DF5
Dispositivo Start Fine Settori Size Tipo
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
/dev/nvme0n1p3 239616 123472110 123232495 58,8G Microsoft basic data
/dev/nvme0n1p4 497999872 500097023 2097152 1G Windows recovery environment
/dev/nvme0n1p5 123472112 497999871 374527760 178,6G Linux filesystem
Partition table entries are not in disk order.
Note the Partition table entries are not in disk order.
: apparently, there is now a partition (/dev/nvme0n1p4
) which is physically after the main Linux one (/dev/nvme0n1p5
), but numerically before. Since this looks pretty non-standard, I guess Windows messed up with the partition table.
After doing a:
sudo mount /dev/nvme0n1p5 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --bootloader-id=manjaro --boot-directory=/mnt/boot --recheck --debug
The system starts again and seems to be functioning normally.
The question is:
how could Windows mess with the partition table, however without corrupting anything, given that it does not have any ext4
knowledge that I know of? Did it just alter the "numerical" partition order? What exactly did it do?