You are not logged in.
Pages: 1
Hello, everyone. A few days ago a installed Arch Linux. I used to use Windows but a morning I turned my laptop on, and it couldn't load windows and I got a Blue screen. I had windows installed in my nvme and used my hdd as a files storage. A few hours ago I used Arch normally, which is installed in my SSD; I don't know if this is useful, but the time I had to press the laptop's power button varied both in Windows and Arch: Some times I had to keep it pressed for 5 seconds and others just press it. Anyway, I just turned my laptop on and I saw a message saying "No bootable device". I entered the BIOS and I see my nvme is not recognized, but the HDD is. Also the time and date were not the correct ones . I connected the Windows booted usb I have and with the diskpart command checked if the nvme appeared, and it did, as well as the HHD. I booted Arch in UEFI mode, disabled secure boot and changed the nvme mode to AHCI. This last change was in RST when I got to the BIOS a few minutes ago. I think it could be a damage in the nvme, but I'm not sure since Windows installer recognized it.
https://i.ibb.co/ns6Jzhs/IMG-20221220-220137-694.jpg
https://i.ibb.co/TKRGK7H/IMG-20221220-220159-426.jpg
https://i.ibb.co/0QVVwqN/IMG-20221220-234742-112.jpg
Mod Edit - Replaced oversized images with links.
CoC - Pasting pictures and code
Last edited by LeonN (2022-12-23 00:03:10)
Offline
what options for boot appears when you press f2/f10 to boot from other device??
Offline
the time I had to press the laptop's power button varied both in Windows and Arch: Some times I had to keep it pressed for 5 seconds and others just press it.
If you hold the power button down for 4 seconds that will usually trigger the firmware ("BIOS") to force a shutdown, overriding any operating system. This can lead to filesystem errors and corruption, especially if you're using a non-COW filesystem such as ext4.
So the NVMe drive is recognised from the Arch live ISO then? Have you tried fsck on the partitions?
Offline
what options for boot appears when you press f2/f10 to boot from other device??
As I connected the usb booted with Arch, only this option appears. If I don't do this, nothing appears and I see "no bootable device" message.
Offline
the time I had to press the laptop's power button varied both in Windows and Arch: Some times I had to keep it pressed for 5 seconds and others just press it.
I mean, to turn the laptop on I had to press the power button for different amounts of time every time.
So the NVMe drive is recognised fron the Arch live ISO then? Have you tried fsck on the partitions?
If for that you mean doing weird stuff with the partitions before the problem appeared, no. After the problem appeared I just reconnected the Arch ISO to verify if the NVMe is detected and just that. I did nothing else.
Offline
I meant that you should try running fsck on the partitions to see if there is any damage.
And can we see
efibootmgr -u
Offline
I meant that you should try running fsck on the partitions to see if there is any damage.
And can we see
efibootmgr -u
When I send the
fsck
the only output I receive is
fsck from util-linux 2.38.1
The output for
efibootmgr -u
is
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* USB HDD: SMI USB DISK PciRoot(0x0)/Pci(0x14,0x0)/USB(3,0)/USB(0,0)/HD(1,MBR,0xd17900,0x800,0xf3b800)
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network
Offline
Read fsck(8) to learn how to use the tool.
And it looks like you have no NVRAM boot entries, which would explain why the box won't boot.
If your motherboard won't keep new entries then you'll have to use the removable loader location ($ESP/EFI/Boot/bootx64.efi) or perhaps even fake Microsoft's loader ($ESP/EFI/Microsoft/Boot/bootmgfw.efi) — either of those should load automatically even without a boot menu entry.
See also https://www.rodsbooks.com/efi-bootloade … ive-naming
The grub-install command has a --removable option that will copy to the removable loader location automatically and systemd-boot just hi-jacks the location without asking so I presume you're not using that.
Offline
The output for
fsck /dev/nvme01
is
fsck from util-linux 2.38.1
e2fsck 1.46.5 (30-Dec-2021)
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 couod 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 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/nvm0n1 contains 'DOS/MBR boot sector: partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 250069679 sectors, extended partition table (last)' data
I'm running everything from the Arch ISO since i have no access to the installed system. nvme0n1p1 was the partition I assigned to EFI. I mounted it in order to find the removable loader location, but the only file I found was grubx64.efi inside the only folder called 'id=Arch Linux'.
I tried running
grub-install --removable
and I got
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
It seems to be an error with the EFI partition, but then it wouldn't have booted correctly the first time. Any ideas about what causes it?
Offline
The --removable must be used in addition to the other options which are required for a UEFI system. Sorry for not being clear enough.
Note that fsck(8) is for use on partitions rather than the entire block device (except if it is a "super-floppy", but that isn't the case here).
I'm running everything from the Arch ISO since i have no access to the installed system.
It's easier to install the bootloader from the installed Arch system. Use arch-chroot(8) to gain access, just as you did when first installing the system.
EDIT: or just mount the ESP and copy grubx64.efi manually, which might be quicker.
Last edited by Head_on_a_Stick (2022-12-21 19:02:19)
Offline
I tried copying the grubx64 file , but nothing changed. I don't know what to do now. Sorry for not being able to understand help you gave me, but I feel I'm getting things more complicated since I'm not sure if I'm following your instructions right. Reinstalling Arch will work? How do I know it won't happen again?
Offline
I tried copying the grubx64 file , but nothing changed.
What command did you use? Did you make sure it was copied correctly?
I don't know what to do now. Sorry for not being able to understand help you gave me, but I feel I'm getting things more complicated since I'm not sure if I'm following your instructions right. Reinstalling Arch will work? How do I know it won't happen again?
Nobody can know whether It will happen again because nobody knows what It was/is or why It happened.
But a messed up boot loader is no reason to reinstall Arch. Boot loaders get messed up. Especially if you dual boot with Windows. You just have to fix them.
Can you boot into Windows? If so, make sure Fast Start is disabled in Windows. This is an option in Windows - NOT your BIOS/UEFI settings.
Then boot the live ISO and provide
lsblk -f
Configure the network the same way you did when preparing to install Arch and you can post output to a pastebin:
lsblk -f | curl -F 'file=@-' 0x0.st
Last edited by cfr (2022-12-22 01:20:33)
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
I just have Arch in my laptop. Windows is not installed, but I have the ISO in an USB. The command I used to copy the file was
cp
. But I'm not sure if I did it well since I don't know if the directory was the right one. I know you gave me some instructions to do it, but even though I read documentation, I couldn't understand it well and just did stuff hoping it was right.
Offline
Okay, so Fast Start shouldn't be a problem. But what command did you execute? How can we know if you copied it to the correct place if you don't show us the full command you used?
And
Then boot the live ISO and provide
lsblk -f
Configure the network the same way you did when preparing to install Arch and you can post output to a pastebin:
lsblk -f | curl -F 'file=@-' 0x0.st
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
This is what I did to "copy" the grubx64.efi file.
mount /dev/nvme0n1p1 /boot/
mount /dev/nvme0n1p3 /mnt
nvme0n1p3 is the root partition in my Arch installation. Then:
cd .. #I did this and I got root@archiso/ instead of root@archiso~ and I was able to see the files with ls.
cd boot
cd EFI
cd 'id=Arch Linux'
cp grubx64.efi ../../../mnt/boot/efi
And that grub file I copied is the only one in that folder.
Now, after rebooting and getting into the Arch ISO again, lsblk -f gives me this:
https://i.ibb.co/ThHcdv0/IMG-20221222-003025-348.jpg
And for the last command I did nothing but plugin in my ethernet cable and test the connection, the output for the command is:
http://0x0.st/o5_d.txt
moderator edit -- replaced oversized image with link.
Pasting pictures and code
Last edited by 2ManyDogs (2022-12-22 13:01:41)
Offline
I did actually expect you to read the rodsbooks.com link and thus gain an understanding of the required steps, freeing you from relying on me to spoon feed you. Perhaps I expected too much.
For clarity: if there are no NVRAM boot entries your motherboard firmware should boot /EFI/Boot/bootx64.efi on the EFI system partition so that's where you need to copy grubx64.efi.
So from the live environment:
# mount /dev/nvme0n1p1 /mnt
# cp /mnt/EFI/id\=Arch\ Linux/grubx64.efi /mnt/EFI/Boot/bootx64.efi
# reboot
The backslashes are needed because you have a directory name with a space and an equals sign in it. How very Windows...
Offline
LeonN, that's twice now that moderators have replaced your oversized images with links.
Please read the General Guidelines and post only thumbnails or links to images.
Offline
I did actually expect you to read the rodsbooks.com link and thus gain an understanding of the required steps, freeing you from relying on me to spoon feed you. Perhaps I expected too much.
For clarity: if there are no NVRAM boot entries your motherboard firmware should boot /EFI/Boot/bootx64.efi on the EFI system partition so that's where you need to copy grubx64.efi.
So from the live environment:
# mount /dev/nvme0n1p1 /mnt # cp /mnt/EFI/id\=Arch\ Linux/grubx64.efi /mnt/EFI/Boot/bootx64.efi # reboot
The backslashes are needed because you have a directory name with a space and an equals sign in it. How very Windows...
Sorry for not getting it at the first one as I said I'm new here and I don't understand much of the terminology I find. Anyway, I tried mounting the EFI partition and copying the file to the directory you mentioned; however, that Boot folder didn't exist so I had to create it. Then I copied the file and changed the name changed to bootx64.efi. Finally... It worked. I really appreciate your help, and I'm sorry again.
Now I've got a few questions: Why did this happen? Is it a mistake I made at the moment of installing Arch? Will it happen again?
Last edited by LeonN (2022-12-22 22:19:54)
Offline
Sorry
No need to apologise, it's fine.
Why did this happen?
Your motherboard's UEFI implementation is buggy and broken. This is quite normal, unfortunately.
Offline
Your motherboard's UEFI implementation is buggy and broken. This is quite normal, unfortunately.
So it has no definitive solution and it might happen again, right?
Offline
I'm not clear whether we established your firmware was at fault or you never installed grub correctly. If your firmware won't retail boot menu entries, you can try adding one in the firmware itself. If that doesn't work either and no firmware updates are available to fix the problem, there's not a lot you can do except use the fallback position.
If you mean, will you keep finding you can't boot? Then, no, that shouldn't be a problem. If you mean, will any entries you add keep getting deleted? Then, possibly, yes.
You did not need to post an image of the output of lsblk -f. The http://0x0.st/o5_d.txt includes the output as a text file. That was the point of that command. You can use that method to avoid posting images of text.
Do not be offended by this, but I think you should seriously consider whether Arch is the best distro for you at this particular time. To make it work, you are going to have to read a lot and you are going to have to take the time to understand what you read and to apply it to your system. That's entirely doable, but it is a commitment. If you don't do that, I suspect Arch is going to prove a frustrating experience.
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
I'm not clear whether we established your firmware was at fault or you never installed grub correctly. If your firmware won't retail boot menu entries, you can try adding one in the firmware itself. If that doesn't work either and no firmware updates are available to fix the problem, there's not a lot you can do except use the fallback position.
If you mean, will you keep finding you can't boot? Then, no, that shouldn't be a problem. If you mean, will any entries you add keep getting deleted? Then, possibly, yes.
Oh... got it.
Do not be offended by this, but I think you should seriously consider whether Arch is the best distro for you at this particular time. To make it work, you are going to have to read a lot and you are going to have to take the time to understand what you read and to apply it to your system. That's entirely doable, but it is a commitment. If you don't do that, I suspect Arch is going to prove a frustrating experience.
I'm not offended. I get what you mean, though. However I was aware I'll have to truobleshoot and read a lot if I got into Arch as my main OS. I don't think I was wrong when I chose Arch. Anyway, I start reading about the basic concepts in order to be able to do stuff by myself. Thanks for helping.
Offline
I'm not clear whether we established your firmware was at fault or you never installed grub correctly.
The OP could previously boot Arch & Windows but lost the boot entry for the solid state drive, as per the thread title. Unless I've misunderstood, which is entirely possible :-)
Offline
cfr wrote:I'm not clear whether we established your firmware was at fault or you never installed grub correctly.
The OP could previously boot Arch & Windows but lost the boot entry for the solid state drive, as per the thread title. Unless I've misunderstood, which is entirely possible :-)
No, probably me misunderstanding. But, in that case, it probably shouldn't be necessary to rely on the fallback position, I guess. Still, it should work and maybe that's good enough.
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
Pages: 1