You are not logged in.
Hi Loqs. Thank you for seeing me through this.
I did not have the ESP mounted at all. I just mounted it to /boot and did an ls and see: /boot/EFI/GRUB/grubx64.efi.
Offline
See my request and suggestions from post #23
Offline
Loqs, there is no /boot/grub directory. I don't see it. Isn't this why it's not booting? No configuration file?
Offline
Did you do https://wiki.archlinux.org/index.php/GR … d_grub.cfg
In post #18 You said you booted to the Arch menu, was that the menu of the installation media? If so remove the installation media before attempting boot.
Offline
Yes, I was referring to the graphical Arch boot menu.
In that post (#18), once I saw the system wouldn't boot on its own, the only way back in was to use the installation media. If I remove the installation CD, the system will just hang at Loading Arch Linux ...
Offline
Boot the installation media, you do not need to chroot into the installation. Check the output of
efibootmgr -v
Is there an entry for grub?
Offline
Okay, here we go:
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0000,0001,0004
Boot0000* GRUB HD(1,GPT,5cfc67a4-eca0-0a48-8a74-1163be056249,0x800,0x100000)/File(\EFI\GRUB\grubx64.efi)
Boot0001* TEAC DVD-ROM DV-28SW PcieRoot(0x0)/Pci(0x1f,0x2)/Ata(0,0,0)
Boot0004* DELL RD1000 PcieRoot(0x0)/Pci(0x1f,0x2)/Ata(1,0,0)
Last edited by NaNaN (2021-01-08 20:21:25)
Offline
Some firmware ignore the boot entries stored in EFIVARS try https://wiki.archlinux.org/index.php/GR … _boot_path
Offline
Loqs, I don't know what I did, but I must have really screwed something up royally. I was going to use grub-install for the link you posted, but it's not there now. I searched the entire partition (sda3) but it's not there. I also don't see my packages in /var/cache/pacman/pkg.
What the heck did I do?? sda3 is where all the binaries reside and it's mounted.
Offline
Assuming you have not mounted anything in the chroot, exit the chroot then check the output of mount to see if everything is mounted where you expect it to be.
Offline
Is the ESP mounted to /boot? ( /mnt/boot outside the chroot )
I don't see my ESP mounted anymore. I initially had it mounted to /boot, not /mnt/boot.
I think I'd have to mount the root partition first so I can access /mnt. Am I right?
I'm sorry for the confusion but I don't understand what the function of chroot is. I need to read the man page, I know.
Should I just reinstall this thing?
Offline
Right first mount the systems root to /mnt then the ESP to /mnt/boot. The chroot is used to work on the installed system using its binaries and configs.
Edit:
Its up to you if you want to start over. If you think it would be easier or clear up some confusion.
Last edited by loqs (2021-01-06 00:39:17)
Offline
Okay, thanks. I now have sda3 mounted to /mnt and now the ESP mounted to /mnt/boot.
Once again, I can see /mnt/boot/EFI/GRUB/grubx64.efi. I still can't access the grub-install binary, it's MIA. I don't know what happened to it. I don't know where to go from here.
Offline
pacman -Qikk grub
See if pacman recorded grub as installed and if it detects missing / changed files.
Offline
Okay, I'll reinstall it.
Let me ask you though before I do. I have 2 completely different documents I'm using to do this internet-less installation. The Arch Wiki omits some of what this other document covers, things such as the removal of special scripts in the live environment. These steps seem very reasonable to me to use. Files that reside in /etc/systemd/system/getty@tty1.service.d/autologin.conf. There are others as well, but you probably get the idea.
Remember, I need to install from the CD and install the packages manually. Should I be using that information or not?
Offline
Okay, that command shows 'package grub was not found' and it's also reporting that the .db files are missing.
Offline
If /var/lib/pacman/sync is empty which is where the .db files should be located and /var/lib/pacman/local which is where records of installed packages are stored something has gone very wrong.
I would start over but I have no clue what happened so can not suggest what not to do again.
Last edited by loqs (2021-01-06 01:08:13)
Offline
Okay, Loqs, thanks so much for the help. I'll just keep trying and see where I can get with it. I think I have enough to go off of.
One last question if you don't mind. I was completely confused at the point of using grub-install.
After I remove all the live scripts from the system, I'm instructed by theese docs to make the /boot/efi directory, then mount the ESP to /boot/efi. Finally, it wants me to use grub-install then grub-mkconfig. Do I do these inside chroot, or outside of chroot?
Offline
As you have the ESP mounted to /boot you do not need it mounted anywhere else. You had it setup correctly as /boot/EFI/GRUB/grubx64.efi was created.
Offline
Okay, Loqs, thank you very much! Sorry this was such a long thread.
Offline
Loqs, I have a little more info that might help.
I reinstalled the OS and get the same exact thing. I enabled debugging in the boot and what I am seeing is a kernel panic: "not syncing: VFS: Unable to mount root fs on unknnown block(0,0)"
What do you think?
Offline
What do you think?
You are 46 posts in and have learned very little about how this stuff works. Perhaps take a break, read some documentation and stop expecting to have your hand held?
Offline
A search engine query for "not syncing: VFS: Unable to mount root fs on unknown block(0,0)" should help along with reviewing post #23.
Offline
Hi Loqs, I have a little more time to play with this.
If you wouldn't mind having a look, here is the output of parted:
Model: DELL PERC 6/i (scsi)
Disk /dev/sda: 299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB fat32 boot, esp
2 1075MB 69.8GB 68.7GB linux-swap(v1) swap
3 69.8GB 299GB 230GB ext4
Model: DELL PERC 6/i (scsi)
Disk /dev/sdb: 1497GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 1497GB 1497GB primary boot
Model: TEAC DVD-ROM DV-28SW (scsi)
Disk /dev/sr0: 724MB
Sector size (logical/physical): 2048B/2048B
Partition Table: unknown
Disk Flags:
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0
has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Here is the kernel info:
Linux archiso 5.10.3-arch1-1 #1 SMP PREEMPT Sun, 27 Dec 2020 10:50:46 +0000 x86_64 GNU/Linux
And finally, here is the grub.cfg file:
#
# 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
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 96a9f7af-3f6f-4136-9a15-66fe300a3d61
else
search --no-floppy --fs-uuid --set=root 96a9f7af-3f6f-4136-9a15-66fe300a3d61
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=en_US
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-96a9f7af-3f6f-4136-9a15-66fe300a3d61' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 96a9f7af-3f6f-4136-9a15-66fe300a3d61
else
search --no-floppy --fs-uuid --set=root 96a9f7af-3f6f-4136-9a15-66fe300a3d61
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=/dev/sda3 rw loglevel=3 quiet
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-96a9f7af-3f6f-4136-9a15-66fe300a3d61' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-96a9f7af-3f6f-4136-9a15-66fe300a3d61' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 96a9f7af-3f6f-4136-9a15-66fe300a3d61
else
search --no-floppy --fs-uuid --set=root 96a9f7af-3f6f-4136-9a15-66fe300a3d61
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=/dev/sda3 rw loglevel=3 quiet
}
}
### 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 ###
### 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 ###
### BEGIN /etc/grub.d/60_memtest86+ ###
### END /etc/grub.d/60_memtest86+ ###
I believe this is everything you asked for.
Last edited by NaNaN (2021-01-08 20:21:00)
Offline
What is the output of the following in code tags not quote tags
mkinitcpio -P
# blkid
Offline