Dual booting with Windows and Pop OS

Hbayram

Member
Credits
257
Thanks mate. I really appreciate your help. I tried to do it that way, but Linux refused to see my drive as available and usable.
 


Hbayram

Member
Credits
257
Yes. First Linux, then windows and finally grub. İf you do sudo update-grub, it sees every partition. 3 for Linux and 3 for Windows.
 

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
I've tried some things without success, I don't have recent experience with grub, multi-boot and UEFI. I think @wizardfromoz may have be able to help you out since he is the king of multi-boot.
 
Last edited:

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
I tagged him my last reply so he should be notified when het logs on.
 

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
Last edited:

Hbayram

Member
Credits
257
I have read that. Good write up. However, I really don't want to wipe and start again since I can boot either os.

Worset comes to worset, I can always do ESC during power on.
 

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
I can understand that it was just to show it is possible with systemd-boot. I did find another article by System76, that when a Windows update breaks systemd-boot or Grub of how to fix it. You could try either redoing grub or redoing systemd-boot.
Grub:
1. Boot in to PopOS
2. Open a terminal
3. sudo apt install --reinstall grub-efi-amd64 linux-generic linux-headers-generic
4. sudo update-initramfs -c -k all
5. sudo update-grub
6. Then reboot and see if grub works

Systemd-boot:
1. Boot in to PopOS
2. Open a terminal
3. sudo apt install --reinstall grub-efi-amd64 linux-generic linux-headers-generic
4. sudo update-initramfs -c -k all
5. sudo bootctl --path=/boot/efi install

It might be worth trying?
 
Last edited:

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
I'm out of ideas, I'm thinking you may have some more with your experience of multi-booting @wizardfromoz
Short summary: OP first installed PopOS and then Windows, afterwards installed grub(PopOS uses systemd-boot by default) and ran update-grub. When booting they first get a grub screen, when they enter the following PopOS boots.
Code:
set prefix=(hd0,gpt3)/boot/grub
insmod normal
normal
Here's the partition layout.
Code:
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 498M 0 part /boot/efi
├─nvme0n1p2 259:2 0 4G 0 part /recovery
├─nvme0n1p3 259:3 0 393.9G 0 part /run/timeshift/backup
├─nvme0n1p4 259:4 0 16M 0 part
├─nvme0n1p5 259:5 0 74.5G 0 part
└─nvme0n1p6 259:6 0 4G 0 part
└─cryptswap 253:0 0 4G 0 crypt [SWAP]
nvme1n1 259:7 0 27.3G 0 disk
Although I'm still not sure which is one is the Windows partition.
Code:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
#PARTUUID=5142cec2-d485-4563-8c75-a5cf4bbd3d5e /boot/efi vfat umask=0077 0 0
PARTUUID=9a9854ec-afad-41c6-aa7e-cb438532e499 /recovery vfat umask=0077 0 0
UUID=3fe5911f-18d3-456f-9f71-6a27e3eb8b62 / ext4 noatime,errors=remount-ro 0 0
/dev/mapper/cryptswap none swap defaults 0 0
#UUID=5100-A6CA /boot/efi vfat defaults 0 1
#UUID=5100-A6CA /boot/efi vfat defaults 0 1
#UUID=5100-A6CA /boot/efi vfat defaults 0 1
#UUID=5100-A6CA /boot/efi vfat defaults 0 1
UUID=5100-A6CA /boot/efi vfat defaults 0 1
efibootmgr
Code:
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0002,0001,0000,0003
Boot0000* Pop!_OS 21.04
Boot0001* UEFI OS
Boot0002* pop
Boot0003* Windows Boot Manager
 

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
What's the output of the following?
Code:
ls /run/timeshift/backup
 

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
I didn't do a dual-boot setup just a PopOS install with systemd-boot but I figured out how to install grub and to get it working. This is what I did.
1. Install Grub packages: sudo apt install grub-efi
2. Run grub-install: sudo grub-install
3. Copy grub efi file to pop efi location: sudo cp /boot/grub/x86_64-efi/grub.efi /boot/efi/EFI/pop/grubx64.efi
4. Remove systemd-boot: sudo bootctl remove
5. Set time-out in /etc/default/grub to 10 seconds, so this line
Code:
GRUB_TIMEOUT=10
6. Update grub: sudo update-grub
7. Reboot and you should now get a grub menu.

I did it in a virtual system but I expect that it should work for you too. See attachment.
 

Attachments

Last edited:

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
Lastly since you already have grub installed I'm thinking, you will only have to do steps 3-7 to get it working on your system. The most important steps is step 3, without step 3 it I got back to a grub prompt as you mentioned in your first post. Setting the time-out to 10 seconds will give you some time to choose between booting into PopOS or Windows.
 

Hbayram

Member
Credits
257
Sorry for the delay in getting back to you. Been tied up lately. You sir are a genius! It has worked! Got a feeling step 4 was the key. Thank you so much mate. I truly appreciate your help.
 

f33dm3bits

Gold Member
Gold Supporter
Credits
25,562
Glad that worked, so now you are getting a grub menu where you can choose between PopOS and Windows?
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Members online


Top