You have two distinct questions here.
To change the font-size of the console:
It seemed like there may be more involved, the more I researched it, but all it took for me to increase the size was to edit /etc/default/console-setup.
changing or adding the line:
FONTSIZE="8x16"
to
FONTSIZE="16x32"
and then sudo update-grub
and then rebooting.
(consult the man page man console-setup
for acceptable options)
You can also use sudo dpkg-reconfigure console-setup
to configure the console font.
You can change the font size of the grub menu with grub-mkfont
Quick Guide: if you know where the font location is.
sudo grub-mkfont --output=/boot/grub/fonts/Myunifont32.pf2 --size=32 /home/username/Downloads/unifont-14.0.01.ttf
Then edit /etc/update/grub adding:
GRUB_FONT=/boot/grub/fonts/Myunifont32.pf2
sudo update-grub
Then reboot and your changes should be present.
Background info/long instructions:
You will probably need to know where the fonts are stored so you can reference them.
Use fc-list
for that.
If you have a font in mind, then grep for that font name in the output. Note: Using a custom font will take some trial and error to get a "pretty" grub screen like you are used to. A lot of the fonts will work and be readable, but the symbols used to create the appearance of "graphics" may not line up or be what you are used to.
Running strings -a /boot/grub/fonts/unicode.pf2
shows "Unifont Regular 16". I have had no luck finding Unifont on my machine so I found it in the repository and sudo apt install unifont
. This will make it show up in the fc-list
output.
Once you've decided on which font you want to use: (for example, for unifont)
fc-list | grep -i unifont
/usr/share/fonts/truetype/unifont/unifont.ttf Unifont:style=Medium
/usr/share/fonts/truetype/unifont/unifont_upper.ttf Unifont Upper:style=Medium
/usr/share/fonts/truetype/unifont/unifont_csur.ttf: Unifont CSUR:style=Medium
Or if you downloaded it:
It would be in whatever folder you downloaded it to: (I also found it here)
/home/username/Downloads/unifont-14.0.01.ttf
Now you know where your font is located, you can use it to create one for grub and size it:
(The output [should] goes into the /boot/grub/fonts directory with your own customized filename, so you will need sudo)
sudo grub-mkfont --output=/boot/grub/fonts/Myunifont32.pf2 --size=32 /usr/share/fonts/truetype/unifont/unifont.ttf
Now you will need to reference your new font in the file /etc/default/grub.
Edit that file (as sudo) by whichever means you use (ie sudo vim /etc/default/grub
)
and add the line:
GRUB_FONT=/boot/grub/fonts/Myunifont32.pf2
Save the file and exit.
Then run sudo update-grub
...and then reboot and you should see your font change...
Depending on which font you decided to go with, you may have to do the process over again and over again to make adjustments. (it takes a few seconds once you get a rhythm). I tried to shortcut the process by making a common name "MYFONT" in /etc/default/grub and in /boot/grub/fonts just making a link from MYFONT to the actual font. That way I could just create 10 of them to test all at one time and then change the link each time I wanted to test a new one, without having to sudo update-grub
... THAT DID NOT WORK, even with the link pointing to a new file, I had to sudo update-grub
to see my changes... so something to keep in mind.
The unifont.ttf seems to be the closest and it looks fine, but right off the bat in the fc-list output you can see "Medium" vs the "Regular" in the unicode.pf2 strings output... That tells me they are not exactly the same. I figure the original font has to be SOMEWHERE in there but I cannot find it. If you stumble across it, post it here. I have looked on a bunch of sites and it seems no one else has been able to identify it either.