You are not logged in.
First post, hello everyone.
I've been using Manjaro on my ancient computer with a HDD, but recently I got an M.2 SSD running through a "kryoM.2 evo PCIe 3.0 x4 Adapter" and figured I'd try to install Arch on it. After overcoming many minor issues I've finally gone through nearly every step of the installation guide, but I can't get the system to boot.
When trying to boot Arch, it says
error: no such device: 45f4ac9c-546d-4684-afb2-8e867ab8e20e
error: unknown filesystem.
Entering rescue mode...
grub rescue>I assume the numbers are device UUID? But there is no device with that UUID on the computer
lsblk (/dev/nvme0n1 is where Arch was installed): http://0x0.st/HzwU.txt
For some reason the UUIDs won't show if I do lsblk -f in the arch install medium. This is from the Manjaro terminal.
fdisk -l for /dev/nvme0n1: http://0x0.st/Hzwk.txt
Here are the commands I used when installing Arch:
fdisk /dev/nvme0n1 #set up gpt partition scheme with 3 partitions
fdisk -l /dev/nvme0n1
mkfs.ext4 /dev/nvme0n1p3
mkswap /dev/nvme0n1p2
mkfs.fat -F 32 /dev/nvme0n1p1
mount /dev/nvme0n1p3 /mnt
swapon /dev/nvme0n1p2
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
pacstrap -K /mnt base linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
nano /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
nano /etc/locale.gen
pacman -S nano
nano /etc/locale.gen
locale-gen
nano /etc/locale.conf
nano /etc/hostname
passwd root
pacman -S grub efibootmgr
mount /dev/nvme0n1p1 /boot
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch_GRUB
ls /boot/grub
grub-mkconfig -o /boot/grub/grub.cfg
ls /boot/grub
nano /boot/grub/grub.cfg
curl -F 'file=@-' 0x0.st < /boot/grub/grub.cfg
ls etc
curl -F 'file=@-' 0x0.st < /etc/fstab
exit
reboot
grub.cfg looks like it has the correct UUIDs: http://0x0.st/Hzw1.txt
fstab: http://0x0.st/Hzw2.txt
Last edited by dumpster_dove (2023-03-05 10:33:48)
Offline
ive looked at this over and over and cannot figure out where that UUID came from, i thought it might have been to do with the unnecessary second mounting of /boot so i tried it myself and it just says /boot already mounted.
anyway just re-install grub using the arch install media like so:
mount /dev/nvme0n1p3 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch_GRUB
grub-mkconfig -o /boot/grub/grub.cfg
rebootOffline
I tried that and it's the same.
The problem seems to be with the PCIe interface. I made a fresh install on a SATA drive, and it worked. Now it at least begins booting before the system crashes with some graphical glitch. It's a shame if I can't use that SSD, but at least I made headway with the OS!
I'm not sure if I should edit the thread as [SOLVED] or [GAVE UP]? I'll just call it gave up since I didn't actually manage to boot from that device.
Thank you for your time.
Last edited by dumpster_dove (2023-03-05 10:33:36)
Offline
ok did a bit of reading and it seems that your bios and/or grub may not see that m.2 drive as a bootable device, what model is your motherboard ? updating the bios MAY help.
Offline
Asus P8H67-M PRO. Turns there actually is an update which is said to improve compatibility with some pcie devices. I'll try to update it and see what happens.
Offline
Why did you mount /boot twice?
mount /dev/nvme0n1p1 /mnt/boot
....
mount /dev/nvme0n1p1 /boot
And it may be, that 8GB are too big for some EFI systems to detect a partition as the EFI boot partition, especially if they use a FAT16 implementation.
I'd try with an EFI partition of size 2GB or less and FAT16.
Last edited by schard (2023-03-06 00:09:55)
Inofficial first vice president of the Rust Evangelism Strike Force
Offline
The reason I tried to mount the partition twice is that I felt uncertain whether I mounted it earlier, or if I had accidentally unmounted it at some point. I don't think it really changed anything since it fails and says that it's already mounted when doing so.
I gave it a go with FAT16 and the result was the same.
Updating BIOS took me for a wild ride, as it failed at first attempt I almost couldn't access the motherboard anymore. Long story short, I got it working eventually. Made a fresh install on the pcie drive (bootloader-id=PCIE_GRUB so I don't confuse it with the other drive I installed Arch on.) Everything looked fine at first. efibootmgr -v shows that the new install should be first in the boot order: http://0x0.st/HzDL.txt
However, when I boot now with updated BIOS, the bootloader id (PCIE_GRUB) doesn't even appear as an option. I double checked esp/EFI/boot and PCIE_GRUB is still there. The SATA drive with Arch still boots.
I think I'm gonna call it a day, since I'm pretty sure I won't be able to boot from pcie on this motherboard.
Offline