haljeisen
January 8th, 2019, 08:37 PM
I recently purchased a Dell Inspiron 7386 laptop. I ran my Ubuntu install from a USB thumb drive. I didn't need Windows, so I repartitioned the entire internal SSD to be dedicated to Ubuntu. My partition table has 4 partitions:
/dev/nvme0n1p1 VFAT /boot/efi
/dev/nvme0n1p5 ext4 /boot
/dev/nvme0n1p6 ext4 /root
/dev/nvme0n1p7 ext4 /home
I know the BIOS is trying to do a UEFI boot (not a legacy boot) because I installed rEFInd (http://www.rodsbooks.com/refind/) and I can boot into that directly from the SSD. I have turned off SecureBoot in the BIOS. I have converted the internal SSD to GPT.
I've tried running grub-install a few different ways, using variations of this technique:
sudo mkdir /mnt/{boot,root,home}
sudo mount /dev/nvme0n1p5 /mnt/boot
sudo mount /dev/nvme0n1p6 /mnt/root/
sudo mount /dev/nvme0n1p7 /mnt/home/
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mkdir /mnt$i; sudo mount -B $i /mnt$i; done
for i in /bin /usr/bin /lib /usr/lib /sbin /usr/sbin /lib64 /usr/share/grub /usr/share/locale; do sudo mkdir -p /mnt$i; sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/nvme0n1
I've also tried running boot-repair (https://help.ubuntu.com/community/Boot-Repair).
Regardless of what I do, I cannot boot Ubuntu from the internal SSD. I'm not sure if I need to force grub-install to use the x86_64-efi target, or if the default i386-pc target is acceptable. The /boot/efi/grub directory is always empty, which seems wrong because /boot/efi/EFI/BOOT/ has the rEFInd files in it. modprobe efivars does not seem to do anything when I've booted from the legacy USB thumb drive.
Any help would be much appreciated.
/dev/nvme0n1p1 VFAT /boot/efi
/dev/nvme0n1p5 ext4 /boot
/dev/nvme0n1p6 ext4 /root
/dev/nvme0n1p7 ext4 /home
I know the BIOS is trying to do a UEFI boot (not a legacy boot) because I installed rEFInd (http://www.rodsbooks.com/refind/) and I can boot into that directly from the SSD. I have turned off SecureBoot in the BIOS. I have converted the internal SSD to GPT.
I've tried running grub-install a few different ways, using variations of this technique:
sudo mkdir /mnt/{boot,root,home}
sudo mount /dev/nvme0n1p5 /mnt/boot
sudo mount /dev/nvme0n1p6 /mnt/root/
sudo mount /dev/nvme0n1p7 /mnt/home/
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mkdir /mnt$i; sudo mount -B $i /mnt$i; done
for i in /bin /usr/bin /lib /usr/lib /sbin /usr/sbin /lib64 /usr/share/grub /usr/share/locale; do sudo mkdir -p /mnt$i; sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/nvme0n1
I've also tried running boot-repair (https://help.ubuntu.com/community/Boot-Repair).
Regardless of what I do, I cannot boot Ubuntu from the internal SSD. I'm not sure if I need to force grub-install to use the x86_64-efi target, or if the default i386-pc target is acceptable. The /boot/efi/grub directory is always empty, which seems wrong because /boot/efi/EFI/BOOT/ has the rEFInd files in it. modprobe efivars does not seem to do anything when I've booted from the legacy USB thumb drive.
Any help would be much appreciated.