Created
June 28, 2026 05:14
-
-
Save vtvh/c5711221c66009e288968e31ae962bc4 to your computer and use it in GitHub Desktop.
fix grub dualboot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Perfect. Looking at your terminal, we have exactly what we need. | |
| Here is the translation of your partition table: | |
| * **EFI System Partition:** /dev/nvme0n1p1 (This is where the bootloader lives) | |
| * **Linux Filesystem (Root):** /dev/nvme0n1p5 (This is your Parrot OS) | |
| Here are the exact commands you need to run in your terminal, one by one. I have plugged your specific partition numbers in for you. | |
| ### Step 1: Mount the Partitions | |
| 1. Mount your Parrot OS root partition: | |
| ```bash | |
| sudo mount /dev/nvme0n1p5 /mnt | |
| ``` | |
| 2. Ensure the EFI directory exists, then mount your EFI partition: | |
| ```bash | |
| sudo mkdir -p /mnt/boot/efi | |
| sudo mount /dev/nvme0n1p1 /mnt/boot/efi | |
| ``` | |
| ### Step 2: Bind the System Directories | |
| Copy and paste this entire line and press Enter. This links your live USB hardware environment to your installed system: | |
| ```bash | |
| for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done | |
| ``` | |
| ### Step 3: Chroot and Rebuild GRUB | |
| 1. Enter the chroot environment (your terminal prompt will change to indicate you are now "inside" your Parrot OS installation): | |
| ```bash | |
| sudo chroot /mnt | |
| ``` | |
| 2. Reinstall GRUB to the main NVMe drive (note that there is no partition number at the end of this command): | |
| ```bash | |
| grub-install /dev/nvme0n1 | |
| ``` | |
| 3. Update the GRUB configuration to detect both Parrot and Windows: | |
| ```bash | |
| update-grub | |
| ``` | |
| ### Step 4: Clean Up and Reboot | |
| If update-grub finishes without errors and lists your Linux and Windows boot managers, you are good to go! | |
| 1. Exit the chroot environment: | |
| ```bash | |
| exit | |
| ``` | |
| 2. Restart your computer safely: | |
| ```bash | |
| reboot | |
| ``` | |
| Pull out your USB drive when the screen goes black, and your GRUB menu will be right back where it belongs. |
Author
Author
└──╼ #efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 001C,0010,0011,0012,0013,001B,0018,0017,001A,001D,001E,0019,0000
Boot0000* Windows Boot Manager HD(1,GPT,d22448aa-33e7-45c6-adde-0fd7e16d5c00,0x800,0x32000)/File(\EFI\Parrot\grubx64.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000000000100000010000000040000007fff0400
dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 20 03 00 00 00 00 00 aa 48 24 d2 e7 33 c6 45 ad de 0f d7 e1 6d 5c 00 02 02 / 04 04 34 00 5c 00 45 00 46 00 49 00 5c 00 50 00 61 00 72 00 72 00 6f 00 74 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
data: 57 49 4e 44 4f 57 53 00 01 00 00 00 88 00 00 00 78 00 00 00 42 00 43 00 44 00 4f 00 42 00 4a 00 45 00 43 00 54 00 3d 00 7b 00 39 00 64 00 65 00 61 00 38 00 36 00 32 00 63 00 2d 00 35 00 63 00 64 00 64 00 2d 00 34 00 65 00 37 00 30 00 2d 00 61 00 63 00 63 00 31 00 2d 00 66 00 33 00 32 00 62 00 33 00 34 00 34 00 64 00 34 00 37 00 39 00 35 00 7d 00 00 00 00 00 01 00 00 00 10 00 00 00 04 00 00 00 7f ff 04 00
Boot0010 Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
dp: 04 06 14 00 66 8b 1c 72 6c 42 86 4e 8e 99 34 57 c4 6a b0 b9 / 7f ff 04 00
Boot0011 Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850)
dp: 04 06 14 00 2d 76 6a 12 58 57 ca 4f 85 31 20 1a 7f 57 f8 50 / 7f ff 04 00
Boot0012 Diagnostic Splash Screen FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
dp: 04 06 14 00 a6 d9 d8 a7 b0 6a eb 4a ad 9d 16 3e 59 a7 a3 80 / 7f ff 04 00
Boot0013 Lenovo Diagnostics FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
dp: 04 06 14 00 5b 61 7e 3f 45 0d 80 4f 88 dc 26 b2 34 95 85 60 / 7f ff 04 00
Boot0014 Startup Interrupt Menu FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
dp: 04 06 14 00 f4 e6 6e f4 85 47 a3 43 92 3d 7f 78 6c 3c 84 79 / 7f ff 04 00
Boot0015 Rescue and Recovery FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
dp: 04 06 14 00 60 3f 5d 66 3e ad ad 4c 8e 26 db 46 ee e9 f1 b5 / 7f ff 04 00
Boot0016 MEBx Hot Key FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
dp: 04 06 14 00 6a d5 6f ac 41 3d fd 4e a1 b9 87 02 93 81 1a 28 / 7f ff 04 00
Boot0017* USB CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 86 70 12 96 aa 5a 78 48 b6 6c d4 9d d3 ba 6a 55 / 7f ff 04 00
Boot0018* USB FDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 6f f0 15 a2 88 30 b5 43 a8 b8 64 10 09 46 1e 49 / 7f ff 04 00
Boot0019* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 00 1c 19 99 32 d9 4c 4e ae 9a a0 b6 e9 8e b8 a4 00 / 7f ff 04 00
Boot001A* ATA HDD0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 00 / 7f ff 04 00
Boot001B* USB HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 33 e8 21 aa af 33 bc 47 89 bd 41 9f 88 c5 08 03 / 7f ff 04 00
Boot001C* PCI LAN VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 78 a8 4a af 2b 2a fc 4e a7 9c f5 cc 8f 3d 38 03 / 7f ff 04 00
Boot001D Other CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b ae a2 09 0a df de 21 4e 8b 3a 5e 47 18 56 a3 54 06 / 7f ff 04 00
Boot001E Other HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
dp: 03 0a 25 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 06 / 7f ff 04 00
Boot001F* IDER BOOT CDROM PciRoot(0x0)/Pci(0x14,0x0)/USB(11,1)
dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 14 / 03 05 06 00 0b 01 / 7f ff 04 00
Boot0020* IDER BOOT Floppy PciRoot(0x0)/Pci(0x14,0x0)/USB(11,0)
dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 14 / 03 05 06 00 0b 00 / 7f ff 04 00
Boot0021* ATA HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 91 af 62 59 56 44 9f 41 a7 b9 1f 4f 89 2a b0 f6 / 7f ff 04 00
Boot0022* ATAPI CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b ae a2 09 0a df de 21 4e 8b 3a 5e 47 18 56 a3 54 / 7f ff 04 00
Boot0023* PCI LAN VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
dp: 03 0a 24 00 d2 38 78 bc 82 0f 60 4d 83 16 c0 68 ee 79 d2 5b 78 a8 4a af 2b 2a fc 4e a7 9c f5 cc 8f 3d 38 03 / 7f ff 04 00
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Linux way
Yes, you can absolutely manage your motherboard's UEFI boot entries directly from within Parrot OS. Linux uses a powerful tool called efibootmgr to communicate directly with your motherboard's NVRAM to rename, create, and delete those F12 menu entries.
Here is how to fix your boot menu natively from Linux.
The Command Line Method (efibootmgr)
This is the standard, most reliable way to handle UEFI entries in Linux. Open your terminal and follow these steps:
1. View your current boot entries
Run this command to see exactly what your motherboard sees:
You will see a list of entries like Boot0000, Boot0001, etc. Look for the one currently named Windows Boot Manager. Note its 4-digit number (for example, if it says Boot0002* Windows Boot Manager, your number is 0002).
2. Delete the hijacked Windows entry
Since that entry is currently pointing to GRUB instead of Windows, let's wipe it out. Replace XXXX with the 4-digit number you found in step 1:
3. Create a clean, correct Windows entry
Now, let's create a fresh entry that points exactly to the real Windows bootloader. Based on your previous partition layout, your EFI partition is on /dev/nvme0n1 partition 1:
4. Create your new Parrot OS entry
Next, we will create a beautifully named entry just for Parrot OS that points to your GRUB file:
5. Verify the new order
Run efibootmgr one last time without any flags. You should see "Parrot OS" and "Windows Boot Manager" cleanly listed. Whichever you want to boot first can be set using the boot order command. For example, to make Parrot OS (Boot0004) boot before Windows (Boot0003):
The GUI Method
Linux explicitly avoids offering a pre-installed GUI for UEFI NVRAM management because writing graphical tools that interact with every brand of motherboard firmware is incredibly risky and prone to bricking systems. Tools like grub-customizer exist, but they only edit the GRUB menu itself, not the F12 hardware menu.
However, since you are using a Lenovo ThinkPad, your motherboard actually has a built-in GUI for this exact task!
If you prefer a visual interface over the terminal, you can do this directly in your BIOS:
The terminal efibootmgr method is guaranteed to work in exactly 4 commands and is generally faster, but the ThinkPad BIOS provides a great graphical fallback.