You are not logged in.

#1 2021-01-29 20:11:09

Firebird
Member
Registered: 2018-08-09
Posts: 57

[SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Hey people,

after a long time I have to install an Archlinux system on a new computer (Lenovo Yoga 7i).
I'm doing this from a working Archlinux flash drive with archlinux-install-scripts installed (up to date image).
My goal is having a dual-boot with Win 10.

Now first things first: The error is

ERROR: device 'UUID=<UUID of linux partition> not found, Skipping fsck
mount: /new_root: can't find UUID=<same UUID>.
You are being dropped into an emergency shell

This appears with UEFI Settings: "Secure Boot"=OFF and "Intel Platform Trust Technology"=both on or off.

Now I did the following:
Stated linux on flash drive. Flash drive partitions are set to "/dev/sdaX"
The actual hard drive is "/dev/nvme0n1" with partitions like "/dev/nvme0n1pX"
Now at the beginning following layout existed:

nvme0n1p1 = Label SYSTEM_DRV = EFI partition of WIndows 10 (I want to reuse this)
nvme0n1p2 = Windows Partition
nvme0n1p3 = Windows Partition
nvme0n1p4 = Label WINRE_DRV = Windows rescue stuff 

With gdisk I created the following

nvme0n1p5 = Swap partition, code 8200
nvme0n1p6 = Linux partition, code 8300 

Actual layout is as follows:

1 2048 534527 nvme01n1p1
2 534528 567295 nvme0n1p2
3 567296 974360575 nvme0n1p3
4 1998360576 2000408575 nvme0n1p4
5 974360576 1010012159 nvme0n1p5
6 1010012160 1998360575 nvme0n1p6 

Added the file systems as follows:

mkfs.ext4 -L arch_p /dev/nmve0n1p6
mkswap -L swap_p /dev/nmve0n1p5

Did the following mounts:

mount -L arch_p /mnt
mkdir /mnt/boot
mount -L SYSTEM_DRV /mnt/boot
swapon -L swap_p

Now on my flashdrive, there is a swap active with the label p_swap so I deactivated it with

swapoff -L p_swap

Installed base package as follows

pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano intel-ucode wpa_supplicant netctl dialog

Created fstab with

genfstab -Lp /mnt > /mnt/etc/fstab

It looks like this

#this is the UUID referenced in the error
LABEL=arch_p / ext4 rw,realtime 0 1
LABEL=SYSTEM_DRV /boot vfat rw,realtime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remout-ro 0 2
LABEL=swap_p none swap defaults 0 0

Chroot-ed and did some stuff like hostname and locale set, setting root password.
Now I tried installing grub like so

pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch-Linux-grub
grub-mkconfig -o /boot/grub/grub.cfg

Funny enough, grub-install finished with no error. I tried doing

grub-install /dev/nvme0n1 --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch-Linux-grub

but that didn't change anything.
Exited, umounted and rebooted (set boot order in UEFI to use Arch-Linux-grub first), and got the error mentioned above.

What did I do wrong in the installation step?
In the meantime I will see if I can somehow navigate the rescue-shell well enough to manually boot

Thanks in advance for helping me.

Firebird

Last edited by Firebird (2021-01-30 12:40:40)

Offline

#2 2021-01-29 20:15:56

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

You didn't mount the existing Windows EFI partition before installing grub...
https://wiki.archlinux.org/index.php/Du … FI_systems
https://wiki.archlinux.org/index.php/EF … _partition


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#3 2021-01-29 20:24:23

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Slithery wrote:

You didn't mount the existing Windows EFI partition before installing grub...
https://wiki.archlinux.org/index.php/Du … FI_systems
https://wiki.archlinux.org/index.php/EF … _partition

Sorry, had a typo in my mount commands. I actually mounted SYSTEM_DRV (the efi partition) to /mnt/boot. As you can see in the fstab, it is listed too. I corrected my post. Mounted linux partition and efi partition again, chrooted again, configured grub again, just to make sure. Same error.

Offline

#4 2021-01-29 21:05:19

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Please post the output of

# efibootmgr -v
# parted --list

Offline

#5 2021-01-29 21:13:19

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Update. I noticed, it actually lets me select the "Arch Linux" entry and proceeds to try to "Loading version <LINUX-VERSION>" right before the error message. The error message sends me to the output "[rootfs]". I will supply the output for Head_on_a_Stick in a minute

Offline

#6 2021-01-29 21:22:22

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:

Please post the output of

# efibootmgr -v
# parted --list

Output of efibootmgr -v (in chroot) is

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 2001,0002,0000,2002,2003
Boot0000* Windows Boot Manager  HD(1,GPT,b30e9ffc-d219-4208-98b9-8ce15711fe1b,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0001* EFI USB Device (SanDisk)      UsbWwid(781,5581,0,0101836f8ddf165342dbd3342ccd4034f93402ec70730ab216f9e8477d824374f6be00000000000000000000c07b1a78001a67008155810738a8357)/HD(3,MBR,0x44e0b006,0xdc00800,0x937800)RC
Boot0002* Arch-Linux-grub       HD(1,GPT,b30e9ffc-d219-4208-98b9-8ce15711fe1b,0x800,0x82000)/File(\EFI\Arch-Linux-grub\grubx64.efi)
Boot0004* Windows Boot Manager  HD(1,GPT,b30e9ffc-d219-4208-98b9-8ce15711fe1b,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...H................
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC

parted --list (in non-chroot) shows

Modell: SanDisk Ultra (scsi)
Festplatte  /dev/sda:  123GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende   Größe   Typ      Dateisystem     Flags
 1      1049kB  107GB  107GB   primary  ext4            boot
 2      107GB   118GB  10,7GB  primary  linux-swap(v1)
 3      118GB   123GB  4948MB  primary  fat32


Modell: WDC PC SN730 SDBPNTY-1T00-1101 (nvme)
Festplatte  /dev/nvme0n1:  1024GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Warnung: Der Partitionsname konnte nicht übersetzt werden.
Nummer  Anfang  Ende    Größe   Dateisystem     Name                          Flags
 1      1049kB  274MB   273MB   fat32           EFI system partition          boot, esp
 2      274MB   290MB   16,8MB                  Microsoft reserved partition  msftres
 3      290MB   499GB   499GB                   Basic data partition          msftdata
 5      499GB   517GB   18,3GB  linux-swap(v1)  Linux swap                    swap
 6      517GB   1023GB  506GB   ext4            Linux filesystem
 4      1023GB  1024GB  1049MB  ntfs                                          versteckt, diag

Sorry for german output. Translated it would be something along these lines

Mode: SanDisk Ultra (scsi)
Hard Drive  /dev/sda:  123GB
Sector size (logical/physical): 512B/512B
Partition table: msdos
Disk-Flags: 

Number Start  End   Size   Type      Filesystem     Flags
 1      1049kB  107GB  107GB   primary  ext4            boot
 2      107GB   118GB  10,7GB  primary  linux-swap(v1)
 3      118GB   123GB  4948MB  primary  fat32


Model: WDC PC SN730 SDBPNTY-1T00-1101 (nvme)
Hard drive  /dev/nvme0n1:  1024GB
Sector size (logical/physical): 512B/512B
Partition table: gpt
Disk-Flags: 

Warning: Partition name could not be translated
Number Start  End   Size   Type      Filesystem     Flags
 1      1049kB  274MB   273MB   fat32           EFI system partition          boot, esp
 2      274MB   290MB   16,8MB                  Microsoft reserved partition  msftres
 3      290MB   499GB   499GB                   Basic data partition          msftdata
 5      499GB   517GB   18,3GB  linux-swap(v1)  Linux swap                    swap
 6      517GB   1023GB  506GB   ext4            Linux filesystem
 4      1023GB  1024GB  1049MB  ntfs                                          hidden, diag

Offline

#7 2021-01-29 21:29:25

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Firebird wrote:

Translated

Prepend the command with LC_ALL=C to make it speak English.

Can we also see grub.cfg please.

EDIT: does the fallback menuentry work?

Last edited by Head_on_a_Stick (2021-01-29 21:30:33)

Offline

#8 2021-01-29 21:36:15

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:
Firebird wrote:

Translated

Prepend the command with LC_ALL=C to make it speak English.

Can we also see grub.cfg please.

EDIT: does the fallback menuentry work?

Sorry, didn't think of LC_ALL=C. here's the english output (without manual translation).

Model: SanDisk Ultra (scsi)
Disk /dev/sda: 123GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size    Type     File system     Flags
 1      1049kB  107GB  107GB   primary  ext4            boot
 2      107GB   118GB  10.7GB  primary  linux-swap(v1)
 3      118GB   123GB  4948MB  primary  fat32


Model: WDC PC SN730 SDBPNTY-1T00-1101 (nvme)
Disk /dev/nvme0n1: 1024GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Warning: failed to translate partition name
Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  274MB   273MB   fat32           EFI system partition          boot, esp
 2      274MB   290MB   16.8MB                  Microsoft reserved partition  msftres
 3      290MB   499GB   499GB                   Basic data partition          msftdata
 5      499GB   517GB   18.3GB  linux-swap(v1)  Linux swap                    swap
 6      517GB   1023GB  506GB   ext4            Linux filesystem
 4      1023GB  1024GB  1049MB  ntfs                                          hidden, diag

Grub.cfg is

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  e8854b37-11ea-4c29-b657-7bfb37334a53
else
  search --no-floppy --fs-uuid --set=root e8854b37-11ea-4c29-b657-7bfb37334a53
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_DE
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e8854b37-11ea-4c29-b657-7bfb37334a53' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  5047-E80C
	else
	  search --no-floppy --fs-uuid --set=root 5047-E80C
	fi
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=e8854b37-11ea-4c29-b657-7bfb37334a53 rw  loglevel=3 quiet
	echo	'Loading initial ramdisk ...'
	initrd	/intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-e8854b37-11ea-4c29-b657-7bfb37334a53' {
	menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-e8854b37-11ea-4c29-b657-7bfb37334a53' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  5047-E80C
		else
		  search --no-floppy --fs-uuid --set=root 5047-E80C
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=e8854b37-11ea-4c29-b657-7bfb37334a53 rw  loglevel=3 quiet
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /initramfs-linux.img
	}
	menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-e8854b37-11ea-4c29-b657-7bfb37334a53' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  5047-E80C
		else
		  search --no-floppy --fs-uuid --set=root 5047-E80C
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=e8854b37-11ea-4c29-b657-7bfb37334a53 rw  loglevel=3 quiet
		echo	'Loading initial ramdisk ...'
		initrd	/initramfs-linux-fallback.img
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-5047-E80C' {
	insmod part_gpt
	insmod fat
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  5047-E80C
	else
	  search --no-floppy --fs-uuid --set=root 5047-E80C
	fi
	chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Offline

#9 2021-01-29 21:40:42

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:
Firebird wrote:

Translated

Prepend the command with LC_ALL=C to make it speak English.

Can we also see grub.cfg please.

EDIT: does the fallback menuentry work?

Fallback fails too. Same behaviour

Offline

#10 2021-01-29 22:03:52

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Does fsck(8) report any problems with the fileystem on the EFI system partition? I'm a bit stumped here tbh. Perhaps try re-installing the kernel.

Offline

#11 2021-01-29 22:06:44

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:

Does fsck(8) report any problems with the fileystem on the EFI system partition? I'm a bit stumped here tbh. Perhaps try re-installing the kernel.

Well we might just have gotten somewhere

 LC_ALL=C sudo fsck /dev/nvme0n1
fsck from util-linux 2.36.1
e2fsck 1.45.6 (20-Mar-2020)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/nvme0n1

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

/dev/nvme0n1 contains `DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 2000409263 sectors, extended partition table (last)' data

EFI partition seems ok

  LC_ALL=C sudo fsck /dev/nvme0n1p1
fsck from util-linux 2.36.1
fsck.fat 4.1 (2017-01-24)
/dev/nvme0n1p1: 556 files, 23087/65536 clusters

Do you think problems might be coming from not acutally using one of the premade iso-images but instead using a full-on system with arch-install-scripts installed?

Last edited by Firebird (2021-01-29 22:09:41)

Offline

#12 2021-01-29 22:13:17

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Firebird wrote:

Well we might just have gotten somewhere

I don't think so, that output is to be expected — the filesystem hasn't been applied to the entire block device.

Firebird wrote:

Do you think problems might be coming from not acutally using one of the premade iso-images but instead using a full-on system with arch-install-scripts installed?

Again, I don't think so. That method is supported: https://wiki.archlinux.org/index.php/In … Arch_Linux

Offline

#13 2021-01-29 22:22:11

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:
Firebird wrote:

Well we might just have gotten somewhere

I don't think so, that output is to be expected — the filesystem hasn't been applied to the entire block device.

Firebird wrote:

Do you think problems might be coming from not acutally using one of the premade iso-images but instead using a full-on system with arch-install-scripts installed?

Again, I don't think so. That method is supported: https://wiki.archlinux.org/index.php/In … Arch_Linux

Just for fun disabled windows 10 fast boot, cause I remember that I once had problems with this (although not the exact same one). Didn't work.
Oh well, will try anything at this point

Offline

#14 2021-01-29 22:31:37

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

I would try re-installing but keep /boot on the root partition (/dev/nvme0n1p6) and use /efi for the ESP. The FAT filesystem isn't the most robust so the kernel & initramfs images might be corrupted.

Offline

#15 2021-01-29 22:43:03

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:

I would try re-installing but keep /boot on the root partition (/dev/nvme0n1p6) and use /efi for the ESP. The FAT filesystem isn't the most robust so the kernel & initramfs images might be corrupted.

Just verified: All UEFI security features are off.

So did I get that right?
Mount p6 (my linux partition) to /mnt
Mount p5 (the efi partition) to /mnt/efi
Then execute

# grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

?

Or am I missing something?

Offline

#16 2021-01-29 22:46:15

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

That looks fine but remember to correct /etc/fstab and re-install the kernel to /boot on the root partition (the initramfs should be automatically regenerated when you do that).

I prefer to use the noauto option for the ESP to protect the filesystem as much as possible.

Offline

#17 2021-01-29 22:50:48

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:

That looks fine but remember to correct /etc/fstab and re-install the kernel to /boot on the root partition (the initramfs should be automatically regenerated when you do that).

I prefer to use the noauto option for the ESP to protect the filesystem as much as possible.

So recap:

Mount p6 (my linux partition) to /mnt
Mount p1 (had a typo there in the previous post) (the efi partition) to /mnt/efi
Create an fstab with that
pacstrap that whole thing again and execute

 grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB 

?

Offline

#18 2021-01-29 22:58:46

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

And also regenerate grub.cfg (from the chroot environment, as with the grub-install command).

You only really need to relocate the kernel & initramfs to the root partition, correct /etc/fstab (simply deleting the /boot line would be enough) and re-install & re-configure GRUB. Re-running pacstrap is optional.

Offline

#19 2021-01-29 23:13:39

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:

And also regenerate grub.cfg (from the chroot environment, as with the grub-install command).

You only really need to relocate the kernel & initramfs to the root partition, correct /etc/fstab (simply deleting the /boot line would be enough) and re-install & re-configure GRUB. Re-running pacstrap is optional.

I mounted the efi partition to /efi now,
Doing

 grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB 
grub-mkconfig -o /efi/grub/grub.cfg

however still outputs

Found linux image: /boot/vmlinux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
done

I have a feeling it should've updated to /efi/ directories...

Offline

#20 2021-01-29 23:16:57

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Firebird wrote:
Head_on_a_Stick wrote:

And also regenerate grub.cfg (from the chroot environment, as with the grub-install command).

You only really need to relocate the kernel & initramfs to the root partition, correct /etc/fstab (simply deleting the /boot line would be enough) and re-install & re-configure GRUB. Re-running pacstrap is optional.

I mounted the efi partition to /efi now,
Doing

 grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB 
grub-mkconfig -o /efi/grub/grub.cfg

however still outputs

Found linux image: /boot/vmlinux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
done

I have a feeling it should've updated to /efi/ directories...

That actually puts me in the rescue shell now (the one where the beginning of the line says "grub>")

Offline

#21 2021-01-29 23:22:01

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Firebird wrote:
grub-mkconfig -o /efi/grub/grub.cfg

The configuration file should still be under /boot/grub/.

Offline

#22 2021-01-29 23:32:36

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:
Firebird wrote:
grub-mkconfig -o /efi/grub/grub.cfg

The configuration file should still be under /boot/grub/.

Whoops. fixed that. It's getting late.
And we're back at the error from before with the

rootfs:

prompt

Offline

#23 2021-01-29 23:50:18

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

I presume you have actually double-checked the UUIDs to see if they match the root=UUID= bit of the menuentries?

Just to be sure we should probably see the output of

blkid

Offline

#24 2021-01-29 23:57:31

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Head_on_a_Stick wrote:

I presume you have actually double-checked the UUIDs to see if they match the root=UUID= bit of the menuentries?

Just to be sure we should probably see the output of

blkid

Output is

 LC_ALL=C blkid
/dev/sda1: LABEL="p_arch" UUID="9ad443b0-5254-44bf-a37b-ee22599e8b33" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="44e0b006-01"
/dev/sda2: LABEL="p_swap" UUID="a565ebc9-07b8-4bf0-ada0-9bf6271ae49f" TYPE="swap" PARTUUID="44e0b006-02"
/dev/sda3: LABEL_FATBOOT="EFIBOOT" LABEL="EFIBOOT" UUID="023A-7B22" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="44e0b006-03"
/dev/nvme0n1p1: LABEL="SYSTEM_DRV" UUID="5047-E80C" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b30e9ffc-d219-4208-98b9-8ce15711fe1b"
/dev/nvme0n1p3: TYPE="BitLocker" PARTLABEL="Basic data partition" PARTUUID="12ff2d8c-29d4-4709-82f7-0edadc4f62cc"
/dev/nvme0n1p4: LABEL="WINRE_DRV" BLOCK_SIZE="512" UUID="D0C248B5C248A198" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="4cf90c5b-e4f0-4a49-9fba-bf0cb895b384"
/dev/nvme0n1p5: LABEL="swap_p" UUID="c70258d4-866d-4e3d-84f2-11da184b2b1f" TYPE="swap" PARTLABEL="Linux swap" PARTUUID="fc62c58e-cf83-4cb9-b990-90f01fe264e0"
/dev/nvme0n1p6: LABEL="arch_p" UUID="e8854b37-11ea-4c29-b657-7bfb37334a53" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="df49c849-2d92-4619-b20d-637c66673fcb"
/dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="82214f3d-d4b8-432e-a816-e2d4344c69aa"

Looks good to me but I might be missing something.

Last edited by Firebird (2021-01-29 23:59:08)

Offline

#25 2021-01-30 12:40:15

Firebird
Member
Registered: 2018-08-09
Posts: 57

Re: [SOLVED]Grub cannot find UUID when booting / new_root: DUALBOOT, UEFI

Solved it after finding a few similar posts in this forum. Here is what I did:

From my rescue flash drive:

mount -L arch_p /mnt
mount -L SYSTEM_DRV /mnt/boot
swapon -L swap_p
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano intel-ucode wpa_supplicant netctl dialog 
genfstab -Lp /mnt > /mnt/etc/fstab
arch-chroot /mnt

Now comes the critical part: I added module "vmd" as follows:
Created file /etc/modules-load.d/customload.conf with content

vmd

and in /etc/mkinitcpio.conf edited the line

MODULES=()

to look like

MODULES=(vmd)

then did

mkinitcpio -p linux
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch-Linux-grub
grub-mkconfig -o /boot/grub/grub.cfg

Then exit chroot, umount everything, shutown, power up and Grub starts and is able to load linux as well as windows

Offline

Board footer

Powered by FluxBB