PERSOONLIJKE NOTITIE!!
Mooie van een (grotendeels) open source laptop is het (redelijke) gemak van het vinden van onderdelen om de computer weer een paar jaar door te kunnen laten draaien … zoals een nieuwe batterij.



Zowel de hoofdbatterij als ook de CMOS batterij van mijn laptop vervangen … heel mooi, heb weer een looptijd van vier plus uur in plaatst van een drie kwart uur … CMOS ging op zich niet mis … maar er is een verschil tussen Debian en Ubuntu wat Grub betreft … even een notitie voor de volgende keer (Tuxedo OS Debian gaat mijn hoofd OS worden voor meerdere computers.
Als je de CMOS batterij vervangen is is daarmee ook de CMOS (BIOS) gereset … vaak is het dan nodig de computer opnieuw in te stellen zodat vooral het besturingssysteem weer gevonden kan worden door de hardware … bij Linux gebeurd dat vaker dan niet (meer) met GRUB.
In Linux kom je in een grub prompt terecht als de hardware het besturingssysteem op de harde schijf niet meer kan vinden.
grub >
En hier ging het een beetje mis gister, wat me verleid heeft een paar vloeken los te laten …
Met de volgende commando’s kun je weer in je OS komen (op Ubuntu), om daarna grub opnieuw in te stellen zodat het OS weer automagisch gevonden gaat worden bij het opstarten.
Zoek de partitie van het OS op de hardeschijven, doe dit met het commando:
ls
Er verschijnt dan een lijst met schijven en partities op jouw systeem zoals (hd0), (hd0,gpt1), (hd0,gpt2), (hd1), (hd1,gpt1), etc.
Vaak is de grootste partitie op de schijven de partitie met het OS erop, je kunt ook het commando:
ls (hdX,gptX)/
gebruiken om te bekijken of er op die partitie een map @, @rootof iets van een label root op te vinden is. De X in het bovenstaande commando is het cijfer van de schijf en/of partitie die je wilt inspecteren.
Omdat Tuxedo OS btrfs als bestand systeem gebruikt moeten we de btrfs methodiek gebruiken om tijdelijk de hardware weer richting het geïnstalleerde OS te sturen om op te starten. Mijn systeem stond op de partitie (hd0,gpt1).
insmod btrfs
set root=(hd0,gpt1)
Voer bovenstaande regel voor regel in.
Daarna moet je de bootloader (grub) vertellen waar de kernel staat:
linux /@/boot/vmlinuz root=/dev/nvme0n1p1 rootflags=subvol=@ ro quiet splash
Paar tips bij de regel /@/boot/vmlinuz kun je je tab toets gebruiken om de tekst automatisch aan te vullen, als voorbeeld de tekst wordt dan bijvoorbeeld @/boot/vmlinuz(tab-toets)-tuxedo.1.1.13 of iets dergelijks. De regel root=/dev/nvme0np1 is een vertaling van (hd0,gpt1) waar nvme0n1 de hd0 is, en het p1 gedeelte gpt1 vervangt. De rest is standaard abracadabra voor Linux … verdiep je er eens in …
Daarna laad je de ramdisk in en probeer je weer op te starten in je OS omgeving
initrd /@/boot/initrd.img
boot
Bij initrd kun je weer de tab toets gebruiken om de tekst automatisch aan te vullen /@/boot/initrd(tab-toets)tuxedo.1.1.13.img.
Het volledige commando werd voor mij dus
insmod btrfs
set root=(hd0,gpt1)
linux /@/boot/vmlinuz-tuxedo.1.1.13 root=/dev/nvme0n1p1 rootflags=subvol=@ quiet splash
initrd /@/boot/initrd-tuxedo.1.1.13.img
boot
Als het dan goed is kom je weer op je desktop terecht waar je normaal gebruik kunt maken van een webbrowser om je verder te helpen. Je moet namelijk nog grub updaten zodat deze weer automagisch je OS opstart. Normaal gebeurd dit op een volgende manier (of vergelijkbaar) in een terminal in je OS:
sudo grub-install /dev/nvme0n1
sudo update-grub
Bij Ubuntu wordt er dan automatisch een grub versie op de schijf geinstalleerd die geschikt is om om te gaan met de moderne UEFI standaard (grub-x86-64 of iets dergelijks) … op Debian staat helaas nog het veel oudere grub-pc (geschikt voor BIOS opstarten) als standaard ingesteld … kreeg het maar niet voor elkaar om de computer normaal op te starten … kwam telkens weer in de grub prompt terecht (zie hierboven voor de commando’s om dan weer op te starten in je OS)
Ik moest de volgende regel gebruiken om de goede grub versie geïnstalleerd te krijgen:
sudo apt update && sudo apt install grub-efi-amd64
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
sudo update-grub