-1

This is an attempted, and failed, dual boot of Ubuntu and Windows 10.

Specs: Alienware Area-51, OS: Ubuntu 18.04.2, Inaccessible OS: Windows 10

Here's some information from Boot Repair

Boot successfully repaired.

Please write on a paper the following URL:

http://paste.ubuntu.com/p/4367sGzjPG/

In case you still experience boot problem, indicate this URL to:
boot.repair@gmail.com or to your favorite support forum.

You can now reboot your computer.
Please do not forget to make your BIOS boot on sdb2/EFI/ubuntu/shimx64.efi file!

The boot files of [The OS now in use - Ubuntu 18.04.2 LTS] are far from the start of the disk. Your BIOS may not detect them. You may want to retry after creating a /boot/efi partition (FAT32, 100MB~250MB, start of the disk, boot flag). This can be performed via tools such as gParted. Then select this partition via the [Separate /boot/efi partition:] option of [Boot Repair].

I also updated /etc/grub.d/40_custom to contain:

menuentry "Windows 10" {
        insmod part_gpt
        insmod chain
        set root='(hd0,msdos2)'
        chainloader +1
}

However, I just copy and pasted that from a random tutorial I found in Google. So while "Windows 10" shows up in GRUB; but the code is clearly incompatible here because this appears when I click it in GRUB

error: disk 'hd0,msdos2' not found.

Press any key to continue...

I've tried things from a lot of tutorials; but none seem to work.

How can I fix this?

pomsky
  • 68,507
  • Your windows boot in grub is for BIOS, not UEFI, which your machine probably is. The chainloader should try a file like /EFI/Microsoft/bootmgfw.efi, not -1. – ubfan1 Jul 14 '19 at 18:35
  • In /etc/grub.d/40_custom right? I can try that; but how do I find the location of my /EFI/Microsoft/bootmgfw.efi style of file in CLI? – Satoshilluminati Jul 14 '19 at 18:38
  • The actual command is chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    The file is on the EFI partition, which is usually mounted at /boot/efi, so start looking there.
    – ubfan1 Jul 14 '19 at 18:42
  • Hm. Is it one of these files?

    g@g:~$ cd /boot/efi - g@g:/boot/efi$ ls - EFI - g@g:/boot/efi$ cd EFI - g@g:/boot/efi/EFI$ ls - BOOT ubuntu - g@g:/boot/efi/EFI/ubuntu$ ls - BOOTX64.CSV fw fwupx64.efi grub.cfg grubx64.efi mmx64.efi shimx64.efi - g@g:/boot/efi/EFI$ cd BOOT - g@g:/boot/efi/EFI/BOOT$ ls - bkpbootx64.efi bootx64.efi fbx64.efi -

    – Satoshilluminati Jul 14 '19 at 18:48
  • Did you convert the DOS-partition-tables to GPT? – mook765 Jul 14 '19 at 18:53
  • I'm not sure. I don't know what that is or how to do it. – Satoshilluminati Jul 14 '19 at 18:53
  • Your boot info summary doesn't show an EFI boot-loader for Windows. Windows boot-mode is bound to partition-table-style. But boot info shows legacy boot-loaders for Windows. Grub will not be able to handle proper dual boot if systems are not installed in the same boot mode. Seems you somehow messed up your Windows installation. – mook765 Jul 14 '19 at 19:01
  • Well that sounds bad. Any advice? Do you think I should boot into something with USB that lets me back all of my files from windows up; and then try again from scratch? – Satoshilluminati Jul 14 '19 at 19:13
  • Both drives are gpt, Windows only boots in UEFI mode from gpt drives. But you only have one NTFS partition which would be more typical of a BIOS install and report is not showing any of the typical Windows boot files for UEFI boot in ESP, nor BIOS boot files in NTFS partition. Did you erase Windows on sda, and only have a NTFS data partition left on sdb? – oldfred Jul 14 '19 at 19:50

2 Answers2

0

most likely your alienware is running Intel RST Premium for Windows 10. It happened for my flex 5 when I tried my initial dual boot. Open your BIOS by spamming f2(or delete or anything else that works) during restart. Look for something that says RST Premium and switch it to AHCI, then it will work hopefully. Something similar happened for me, so this may work.

Myspace
  • 33
0

Mount partition

First ensure you've mounted your window's partition:

$ lsblk -o NAME,FSTYPE,LABEL,SIZE,MOUNTPOINT
NAME        FSTYPE  LABEL                    SIZE MOUNTPOINT
sdb                                         14.4G 
├─sdb4      iso9660 Ubuntu 18.04 LTS amd64   1.4G /media/rick/Ubuntu 18.04 LTS amd64
├─sdb2                                         1M 
├─sdb5      ext4    casper-rw                6.4G /media/rick/casper-rw
├─sdb3      vfat    usbboot                  244M 
└─sdb1      ntfs    usbdata                  6.4G /media/rick/usbdata
sr0                                         1024M 
sda                                        931.5G 
├─sda4      ntfs    WINRETOOLS               450M 
├─sda2                                       128M 
├─sda5      ntfs    Image                   11.4G 
├─sda3      ntfs    HGST_Win10               919G /mnt/d
└─sda1      vfat    ESP                      500M 
nvme0n1                                      477G 
├─nvme0n1p5 ext4    NVMe_Ubuntu_16.0        44.6G /
├─nvme0n1p3                                   16M 
├─nvme0n1p1 ntfs                             450M 
├─nvme0n1p8 ext4    Ubuntu18.04             23.7G 
├─nvme0n1p6 swap    Linux Swap               7.9G [SWAP]
├─nvme0n1p4 ntfs    NVMe_Win10             391.2G /mnt/c
├─nvme0n1p2 vfat                              99M /boot/efi
└─nvme0n1p7 ntfs    Shared_WSL+Linux           9G /mnt/e

30_os-prober

Make sure your 30_os-prober is marked as executable as shown below:

$ ll /etc/grub.d/30_os-prober
-rwxr-xr-x 1 root root 11736 Jun 29  2018 /etc/grub.d/30_os-prober*

TL;DR

My AW17R3 had no problems running Intel RAID but I switched it to AHCI for a different issue and can no longer switch back.

My Windows 10 looks like this:

menuentry 'Windows 10' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
    savedefault
    insmod part_gpt
    insmod fat
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  D656-F2A8
    else
      search --no-floppy --fs-uuid --set=root D656-F2A8
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

However I run a little script to give meaningful names to grub menu options:

# NAME: my-update-grub
# PATH: /mnt/e/bin
# DESC: Run update-grub and then rename menu entries
# DATE: July 13, 2018. (yah it's a Friday)

# sudo required when calling script
if [[ $(id -u) != 0 ]]; then
    zenity --error --text "You must call this script using sudo. Aborting."
    exit 99
fi

#sudo update-grub # Optional remove # in column 1

sed -i "s|Windows Boot Manager (on /dev/nvme0n1p2)|Windows 10|g" /boot/grub/grub.cfg
sed -i "s|Windows Boot Manager (on /dev/sda1)|Windows 10 original|g" /boot/grub/grub.cfg
sed -i "s|Ubuntu 16.04.5 LTS (16.04) (on /dev/nvme0n1p7)|Broken Ubuntu 16.04|g" /boot/grub/grub.cfg
sed -i "s|Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)|Ubuntu 18.04|g" /boot/grub/grub.cfg

exit 0

I did change BIOS to not reload from hard disk each boot which saved 4 seconds or so. I also changed BIOS to not read from NIC cards which saved a few seconds. BIOS POST used to take about 16 seconds and I trimmed it down to 5 seconds. Still too long I think because Dell Inspiron 17R 7720SE is only a second or two.

In BIOS make sure TPM and secure boot is turned off. Also you might want to follow boot-repair suggestion to move partition to front of disk:

$ sudo fdisk -l
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 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: 43583516-680C-4323-A4B1-592DF4DEEB70

Device              Start        End   Sectors   Size Type
/dev/nvme0n1p1       2048     923647    921600   450M Windows recovery environment
/dev/nvme0n1p2     923648    1126399    202752    99M EFI System
/dev/nvme0n1p3    1126400    1159167     32768    16M Microsoft reserved
/dev/nvme0n1p4    1159168  762818491 761659324 363.2G Microsoft basic data
/dev/nvme0n1p5  819851264  821610495   1759232   859M Windows recovery environment
/dev/nvme0n1p6  821610496  916246527  94636032  45.1G Linux filesystem
/dev/nvme0n1p7  916246528  964739071  48492544  23.1G Linux filesystem
/dev/nvme0n1p8  964739072  983709695  18970624     9G Microsoft basic data
/dev/nvme0n1p9  983709696 1000214527  16504832   7.9G Linux swap
/dev/nvme0n1p10 762818560  819851263  57032704  27.2G Linux filesystem

Partition table entries are not in disk order.


Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 8BEC7AEB-4576-42B0-8A8A-D40779A80126

Device          Start        End    Sectors  Size Type
/dev/sda1        2048    1026047    1024000  500M EFI System
/dev/sda2     1026048    1288191     262144  128M Microsoft reserved
/dev/sda3     1288192 1928626175 1927337984  919G Microsoft basic data
/dev/sda4  1928626176 1929547775     921600  450M Windows recovery environment
/dev/sda5  1929547776 1953523711   23975936 11.4G Windows recovery environment

Your whole 30_os-prober section appears broken (it's empty) whereas mine has 100 lines before it gets to the good part:

$ grep 30_os-prober -A110 /boot/grub/grub.cfg
   (...SNIP...)
menuentry 'Windows 10' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
    savedefault
    insmod part_gpt
    insmod fat
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  D656-F2A8
    else
      search --no-floppy --fs-uuid --set=root D656-F2A8
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}