You are not logged in.
Pages: 1
Hi all,
I am trying to install Arch on a headless mini pc.
I have followed the steps to connect via ssh and have completed the installation.
Here is my lsblk -f
[root@archiso /]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0
sda iso9660 Joliet Extension ARCH_202605 2026-05-01-06-05-08-00
├─sda1 iso9660 Joliet Extension ARCH_202605 2026-05-01-06-05-08-00
└─sda2 vfat FAT32 ARCHISO_EFI 69F4-4294
nvme0n1
├─nvme0n1p1 vfat FAT32 1535-2AAA 981.3M 4% /boot
├─nvme0n1p2 ext4 1.0 d7d7b446-0b16-45ef-92ba-69372528e502 426.7G 0% /
└─nvme0n1p3 swap 1 b2ee49a2-52ad-4355-a337-6b5dccaf49a0 [SWAP]I am currently chrooted into the system. My ESP is /boot
I am trying to create an efibootmgr entry using
efibootmgr --create --disk /dev/nvme0n1p --part 1 --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root=UUID=d7d7b446-0b16-45ef-92ba-69372528e502 rw initrd=/initramfs-linux.img'and keep getting the error
[root@archiso /]# efibootmgr --create --disk /dev/nvme0n1p --part 1 --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root=UUID=d7d7b446-0b16-45ef-92ba-69372528e502 rw initrd=/initramfs-linux.img'
Could not prepare Boot variable: No such file or directorythe files I have under /boot are
initramfs-linux.img vmlinuz-linuxCan anyone tell me what I am doing wrong?
Last edited by samdavid6 (2026-05-08 02:18:44)
Offline
I am trying to create an efibootmgr entry using
efibootmgr --create --disk /dev/nvme0n1p --part 1 --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root=UUID=d7d7b446-0b16-45ef-92ba-69372528e502 rw initrd=/initramfs-linux.img'
Could you try
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root=UUID=d7d7b446-0b16-45ef-92ba-69372528e502 rw initrd=/initramfs-linux.img'I don't think you have a disk called /dev/nvme0n1p but rather /dev/nvme0n1
Offline
HOLY COW!!!
Thank you!!
That is so weird though.
I always thought /dev/sda was the drive and /dev/sdaX was the partition. Wondering if this is a new thing.
Offline
it's about how nvme differs from ahci
hdX - ide
sdX - sata
nvmeX - well, nvme
but: nvmes have what's called "namespaces" (look up the wiki) - so we need additional designators:
nvme0 - first nvme
nvme0n1 - first namespace on first nvme, the lowercase n is the designator for namespaces
nvme0n1p1 - first partition on first namespace on first nvme, the lowercase p is the designator for partitions
also you may notice: nvme are no longer indexed by letters but by numbers starting with 0 for the first one
your error was the trailing p at the disk option
to resolve the path it has to exist (rember: in unix everything is a file)
so, what does exist:
/dev/nvme0
/dev/nvme0n1
/dev/nvme0n1p[1-3]
you gave: /dev/nvme0n1p - which justvdoes not exist as a valid path - hence you got a file not found
ok, now someone might argue: "yea, but if the designation is fixed then why doesn't efibootmgr scans for trailing p or n and removes on its own?" - don't know - but guessing: low-level tools like efibootmgr should only be used if you REALLY know what you doing - hence it's fair that it assumes you give it the correct parameters
Offline
nvme are no longer indexed by letters but by numbers starting with 0 for the first one
Not only NVMe but any block device ending with a digit. For example, second partition on loop0 device will be loop0p2. First partition on second partition on loop0 device will be loop0p2p1 etc.
Offline
Thank you for that explanation. Well now I know.
I have been Arch'ing since 2008, but I keep learning stuff like this. This is one reason why I love Arch so much.
Offline
Pages: 1