Fixing Grub After Grub Customizer Removed

After updating my system today I noticed that I couldn’t boot into Manjaro through my normal grub menu entry (I dual boot Win 10 and Manjaro). I ended up having to go into Advanced Options and picking the oldest kernal I had installed (5.4.85-1) to get things booting again. After doing some investigation I see the reason for this is most likely that I’ve been using Grub Customizer and now it’s been removed and blacklisted.

I’m fine with no longer using GC if it’s a problem, but I need help fixing my grub bootloader. I tried ‘sudo update-grub’ but it said there were errors in the file. I’m assuming there’s something that GC did that Manjaro isn’t liking. I’m now afraid to do anything for fear of completely breaking grub and not being able to boot into Manjaro. I’ve looked through various guides but many of them assume that you’re installing grub from scratch or that grub is completely broken and you can’t boot, neither of which is the case here. Any help would be appreciated.

And just like that I managed to fix things. I had to go into my grub.cfg file (under /boot/grub) and change the linux kernal version in the entry from 5.8 to 5.9. Simple enough, but I wonder why ‘update-grub’ isn’t working? Is there a way to figure out what is causing the error? The line number it gives doesn’t exist.

You should go to 5.10, kernel 5.9 is EOL, 5.8 is already not being supported any longer. You can check this easily here:

If you have used GC for a while it could be that your setup is messed up, thoroughly. Backup and re-install is usually the best way to fix that.

Ok where can I find instructions to do that?

BTW I see that I have 5.10 installed, but Manjaro doesn’t say it’s the recommended kernel. I just go with what Manjaro decides is current/recommended.

For example here:
https://wiki.manjaro.org/index.php/Installation_Guides

Oh do you mean backup and reinstall Manjaro or just Grub?

FTFY. You might not get a lot of sympathy for using that. Have a gander on the archived forums to get a feel about what a lot of folks here feel about it.

Well I won’t anymore, I’m just trying to undo the damage. Is there a safe way to uninstall and reinstall grub while Manjaro is running? Like I said, I can get in so I don’t need a boot CD.

grub can be installed via

sudo -Syu grub

You also should use “grub-install”, but you need to find out the right syntax for your specific system:
https://wiki.manjaro.org/index.php?title=GRUB/Restore_the_GRUB_Bootloader

Nevertheless, no guranatees that this will fix all issues GC could have caused.

If you want to get rid of any trace of grub customizer:

# Remove all grub configurations
sudo rm /etc/default/grub
sudo rm /etc/grub.d/*

# Reinstall grub
sudo pacman -S grub

# Recreate grub config:
sudo update-grub

You can do it in your live system. There is no problem at all.

Note: This is going to remove also any custom modification you may have. So be advised…

2 Likes

The only custom modifications I did are wallpaper and colors which I can either redo or do without. I assume this will also find my Windows 10 partition?

Yes, If there is nothing odd in your installation, update-grub should find your Windows also

If you want to take benefit from latest security mitigations don’t forget to consider “grub-install”.

Ok I ran those commands and it said it installed correctly. How do I use grub-install? did removing those files also remove the bootloader? Do I have to reinstall it with grub-install? How can I tell where it’s currently installed (or if it is)?

Please post

inxi -Fxxxza --no-host
sudo parted -l
sudo efibootmgr -v
test -d /sys/firmware/efi && echo efi || echo bios

Then we might suggest a syntax for grub-install.

These can be done in themes such as seen in /usr/share/grub/themes

Or the basics can be done right in the config file /etc/default/grub:

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper 
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

(always remember to run sudo update-grub after making changes to config)

inxi -Fxxxza --no-host
System:
  Kernel: 5.9.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.9-x86_64 
  root=UUID=35144260-1653-40c0-a470-59bec3bd6f08 rw quiet apparmor=1 
  security=apparmor udev.log_priority=3 
  Desktop: GNOME 3.38.2 tk: GTK 3.24.24 wm: gnome-shell dm: GDM 3.38.2 
  Distro: Manjaro Linux 
Machine:
  Type: Desktop Mobo: EVGA model: 141-BL-E757 v: Tylersburg serial: <filter> 
  BIOS: Phoenix v: 6.00 PG date: 08/25/2011 
Battery:
  Device-1: hidpp_battery_0 model: Logitech M510 serial: <filter> 
  charge: 55% (should be ignored) rechargeable: yes status: Discharging 
CPU:
  Info: Quad Core model: Intel Core i7 920 bits: 64 type: MT MCP 
  arch: Nehalem family: 6 model-id: 1A (26) stepping: 5 microcode: 1D 
  L2 cache: 8 MiB 
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 42472 
  Speed: 1592 MHz min/max: 1596/2661 MHz boost: enabled Core speeds (MHz): 
  1: 1592 2: 1592 3: 1593 4: 1592 5: 1592 6: 1592 7: 1592 8: 1592 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX unsupported 
  Type: l1tf mitigation: PTE Inversion 
  Type: mds status: Vulnerable: Clear CPU buffers attempted, no microcode; 
  SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: AMD Cape Verde XT [Radeon HD 7770/8760 / R7 250X] 
  vendor: Hightech Information System driver: radeon v: kernel 
  alternate: amdgpu bus ID: 02:00.0 chip ID: 1002:683d 
  Display: x11 server: X.Org 1.20.10 compositor: gnome-shell 
  driver: ati,radeon unloaded: modesetting alternate: fbdev,vesa 
  display ID: :0 screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") 
  s-diag: 582mm (22.9") 
  Monitor-1: DVI-0 res: 1920x1080 hz: 60 dpi: 94 
  size: 521x293mm (20.5x11.5") diag: 598mm (23.5") 
  OpenGL: renderer: AMD VERDE (DRM 2.50.0 5.9.16-1-MANJARO LLVM 11.0.0) 
  v: 4.5 Mesa 20.3.1 direct render: Yes 
Audio:
  Device-1: Intel 82801JI HD Audio driver: snd_hda_intel v: kernel 
  bus ID: 00:1b.0 chip ID: 8086:3a3e 
  Device-2: AMD Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 
  Series] 
  vendor: Hightech Information System driver: snd_hda_intel v: kernel 
  bus ID: 02:00.1 chip ID: 1002:aab0 
  Sound Server: ALSA v: k5.9.16-1-MANJARO 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169 v: kernel port: de00 bus ID: 06:00.0 chip ID: 10ec:8168 
  IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 1.25 TiB used: 309.62 GiB (24.3%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/sda maj-min: 8:0 vendor: Western Digital 
  model: WD5001AALS-00L3B2 size: 465.76 GiB block size: physical: 512 B 
  logical: 512 B speed: 3.0 Gb/s serial: <filter> rev: 3B01 
  ID-2: /dev/sdb maj-min: 8:16 vendor: Kingston model: SA400S37120G 
  size: 111.79 GiB block size: physical: 512 B logical: 512 B 
  speed: 3.0 Gb/s serial: <filter> rev: 71E0 
  ID-3: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 850 EVO 250GB 
  size: 232.89 GiB block size: physical: 512 B logical: 512 B 
  speed: 3.0 Gb/s serial: <filter> rev: 2B6Q 
  ID-4: /dev/sdd maj-min: 8:48 vendor: Samsung model: SSD 860 EVO 500GB 
  size: 465.76 GiB block size: physical: 512 B logical: 512 B 
  speed: 3.0 Gb/s serial: <filter> rev: 4B6Q 
Partition:
  ID-1: / raw size: 111.79 GiB size: 109.53 GiB (97.98%) 
  used: 62.71 GiB (57.3%) fs: ext4 dev: /dev/sdb1 maj-min: 8:17 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 29.0 C mobo: N/A gpu: radeon temp: 30.0 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 275 Uptime: 4h 11m wakeups: 7172 Memory: 11.69 GiB 
  used: 2.14 GiB (18.3%) Init: systemd v: 247 Compilers: gcc: 10.2.0 
  Packages: pacman: 1477 lib: 443 flatpak: 0 Shell: Bash v: 5.1.0 
  default: Zsh v: 5.8 running in: gnome-terminal inxi: 3.2.01 
sudo parted -l
Model: ATA WDC WD5001AALS-0 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  500GB  500GB  primary  ntfs         boot


Model: ATA KINGSTON SA400S3 (scsi)
Disk /dev/sdb: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  120GB  120GB  primary  ext4         boot

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sdc: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  249GB  249GB  primary  ntfs         boot
 2      249GB   250GB  894MB  primary  ntfs         msftres

Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sdd: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End    Size   File system  Flags
 1      0.00B  500GB  500GB  ext4
sudo efibootmgr -v

EFI variables are not supported on this system

test -d /sys/firmware/efi && echo efi || echo bios

bios

I just formatted your post a bit to make it more legible, hope it’s OK for you.

You have several disks, so it’s more safe if you could also provide output of

cat /etc/fstab
mount

Oh that’s fine. BTW I found a script that said it could find where GRUB was installed. Unfortunately it found it on three of four drives. Which one’s the real one?

/dev/sda GRUB found
/dev/sda1 No GRUB found

/dev/sdb GRUB found
/dev/sdb1 No GRUB found

/dev/sdc GRUB found
/dev/sdc1 No GRUB found
/dev/sdc2 No GRUB found

/dev/sdd No GRUB found

cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=35144260-1653-40c0-a470-59bec3bd6f08 /              ext4    defaults,noatime 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
LABEL=Storage /mnt/Storage auto nosuid,nodev,nofail,x-gvfs-show 0 0
mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=6119696k,nr_inodes=1529924,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
/dev/sdb1 on / type ext4 (rw,noatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755,inode64)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1409)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,noatime,inode64)
/dev/sdd on /mnt/Storage type ext4 (rw,nosuid,nodev,relatime,x-gvfs-show)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1225732k,nr_inodes=306433,mode=700,uid=1000,gid=1001,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1001)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1001)
/dev/sdd on /run/timeshift/backup type ext4 (rw,relatime)