You are not logged in.
I use a Thinkpad x250 as my daily driver. It has been running Arch for about 5 years now but recently I began to experience daily crash which I suspect are hardware related. To narrow down the problem, I found a similar laptop (T450s) with nearly identical specs.
Thus, I tried to move the SSD to the new laptop but it failed early in the boot process with this error;
> Error: symbol "grub_file_filter" not found
In grub shell, filesytem were not recognized and "insmod normal" did not work.
It is not fstab related as it could not get there. Obviously, I chrooted into the system and tried to update grub from there but still got the same error. I tried with UEFI+CSM support and by forcing UEFI only, but always got that same error. Information about the grub_file_filter error is scarce but I read it could be due to a somewhat broken bootloader. Indeed I noticed an unused i386 folder in /boot/grub, which I deleted.
Before giving it another try I wanted to get some advice as I need my computer everyday for work and want to minimize the hassle.
Edit: There are two drives, one SSD (M.2) and one HDD. The HDD is detected as the first drive but the bios startup order was changed accordingly. I tried migrating both at once as it works fine on the x250.
Last edited by alfalfa (2021-02-28 20:41:39)
Offline
I've never encountered it, and I'd wait for someone more knowledgeable to come along and confirm or deny, but the problem seems likely to be a corrupt FS on your UEFI partition. If it were me, I'd blank it and rebuild the UEFI partition from scratch.
BUT - don't do this until someone more knowledgeable comes along. I'm taking a stab in the dark, here.
Ryzen 5900X 12 core/24 thread - RTX 3090 FE 24 Gb, Asus B550-F Gaming MB, 128Gb Corsair DDR4, Fractal Design Define 7 XL, 5 HD (2 NvME PCI, 4SSD) + 1 x optical.
Linux user #545703
/ is the root of all problems.
Offline
seems likely to be a corrupt FS on your UEFI partition.
Recently I noticed the builtin webcam stopped working and did a pacman update. Undocking the laptop during the update crashed the system and corrupted the grub install and the initramfs presets. Then fdisk have shown "GPT PMBR size mismatch will be corrected by w(rite)." for a while, so this sounds like a good guess.
More details below. Note that it was dual boot at some point and Windows Boot Manager still appear in the NVRAM.
$ efibootmgr
BootCurrent: 0014
Timeout: 2 seconds
BootOrder: 0013,0014,0007,0008,0009,000B,000C,000A,000D,0012
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Lenovo Diagnostics
Boot0004 Startup Interrupt Menu
Boot0005 Rescue and Recovery
Boot0006 MEBx Hot Key
Boot0007* USB CD
Boot0008* USB FDD
Boot0009 ATA HDD0
Boot000A* ATA HDD1
Boot000B ATA HDD2
Boot000C* USB HDD
Boot000D PCI LAN
Boot000E* IDER BOOT CDROM
Boot000F* IDER BOOT Floppy
Boot0010* ATA HDD
Boot0011* ATAPI CD
Boot0012* PCI LAN
Boot0013* Windows Boot Manager
Boot0014* GRUB$ sudo fdisk -l
[sudo] password for user:
Disk /dev/sda: 698.64 GiB, 750156374016 bytes, 1465149168 sectors
Disk model: ST750LM022 HN-M7
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A9A5167C-C649-487E-800D-3D541851725B
Device Start End Sectors Size Type
/dev/sda1 2048 1465147391 1465145344 698.6G Linux filesystem
Disk /dev/sdb: 223.57 GiB, 240057409536 bytes, 468862128 sectors
Disk model: SB2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B8D0E289-EE48-4F9C-A1BD-62E0BB867B86
Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb3 1050624 468858879 467808256 223.1G Linux filesystem$ cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
UUID=F403-73F1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
UUID=6fb56785-d3ef-4d9d-a119-35d6d55f6649 / ext4 rw,noatime 0 1
UUID=a9cd7667-6171-4f2e-9e7c-4a40c9d17531 /data ext4 rw,noatime 0 2Offline
if it still works in the old laptop then its not a fault of the drive or filesystem, need to know this before trying anything else
Offline
if it still works in the old laptop then its not a fault of the drive or filesystem, need to know this before trying anything else
After the failed migration, the drive were put back in the old laptop and it booted fine (using it right now).
Surprisingly, I did not need to update grub although I'd just done it in chroot on the t450s;
mount /dev/sdb3 /mnt
mount /dev/sdb1 /mnt/boot
arch-chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfgLast edited by alfalfa (2021-02-26 01:20:42)
Offline
yea so its not the filesystem cause it works, have you tried adding the "--removable" flag when installing grub, this has fixed problems for me in the past, try that and report back
Offline
I'll try that this weekend, meanwhile if anyone else has another idea it would be a good moment to chime in. The weird part is that altough the grub shell is accessed, its modules are not.
Offline
The --removable flag did it. Thanks a lot.
From the wiki, this means that it is booting from /boot/EFI/BOOT/BOOTX64.efi
Thus, is /boot/EFI/GRUB/grubx64.efi even needed?
Offline
thats good to hear, no its probably not needed but no harm leaving it there
Offline