Tips en Trucs 2024

Systeemherstel met SystemRescue

Onlangs vroeg iemand mij om zijn Samsung R780 laptop uit 2010 te herstellen. Windows was onbruikbaar geworden doordat deze steeds de computer herstarte. Ik ging akkoord, maar enkel als er Linux mocht opkomen.

Installatie Debian 12 Bookworm en BIOS instellen

Na het aanmaken van een opstartbare Debian 12 Bookworm installatie USB, zocht ik uit hoe je de computer via USB kon opstarten. Bij deze computer kon dit enkel door in de BIOS de bootvolgorde aan te passen.

Daarna installeerde ik op de volledige schijf een standaard Debian 12 Bookworm systeem met KDE Plasma zonder problemen. M.a.w. de hardware functioneerde.

Na een tijdje werken, bleek de computer verschrikkelijk traag te werken. Daarbij viel op dat de harde schijf zeer actief was (HD led bleef branden). Na het grondig bekijken van de BIOS instellingen bleek de harde schijf automatisch op basis van het besturingsysteem (lees Windows versie) in een bepaalde mode te werken. Gelukkig kon je de harde schijf mode manueel in AHCI mode zetten. Daarna was het probleem opgelost.

Ook het touchpad werkte niet zoals het hoort. Op oude touchpads moet je wel hard tikken, maar er was meer aan de hand. Om te achterhalen welke touchpad hardware aanwezig is, gebruiken we een opdracht om alle invoerapparaten van de grafische omgeving op te vragen:

accb@debian:~$ grep -i 'using input' /var/log/Xorg.0.log
[    44.281] (II) Using input driver 'libinput' for 'Power Button'
[    44.424] (II) Using input driver 'libinput' for 'Video Bus'
[    44.475] (II) Using input driver 'libinput' for 'Power Button'
[    44.499] (II) Using input driver 'libinput' for 'Sleep Button'
[    44.526] (II) Using input driver 'libinput' for 'WebCam SCB-1900N: WebCam SCB-19'
[    44.573] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    44.618] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'

Je merkt dat het touchpad het standaard stuurprogramma libinput gebruikt. Op het internet vond ik al vlug dat oudere Synaptics TouchPad beter werken met het synaptics stuurprogramma dat we installeren met:

accb@debian:~$ sudo apt install xserver-xorg-input-synaptics
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
Voorgestelde pakketten:
  gpointing-device-settings touchfreeze
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
  xserver-xorg-input-synaptics
0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 4 niet opgewaardeerd.
Er moeten 215 kB aan archieven opgehaald worden.
Na deze bewerking zal er 331 kB extra schijfruimte gebruikt worden.
Ophalen:1 http://deb.debian.org/debian bookworm/main amd64 xserver-xorg-input-synaptics amd64 1.9.2-1+b1 [215 kB]
215 kB opgehaald in 0s (3.511 kB/s)                  
Voorheen niet geselecteerd pakket xserver-xorg-input-synaptics wordt geselecteerd.
(Database wordt ingelezen ... 170862 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../xserver-xorg-input-synaptics_1.9.2-1+b1_amd64.deb wordt voorbereid...
Bezig met uitpakken van xserver-xorg-input-synaptics (1.9.2-1+b1) ...
Instellen van xserver-xorg-input-synaptics (1.9.2-1+b1) ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...

Na een computer herstart, werkte het touchpad na het instellen met de Systeeminstellingen (zie verder) zoals het hoort.

Voorbereiding systeemherstel

SystemRescue is en blijft mijn favoriet wat betreft systeemherstel. Na het downloaden, schrijf ik met SystemRescue USB writer (werkt momenteel enkel tot versie 10.2) op een USB stick.

Daarna start ik de laptop op met de SystemRescue USB stick. Met Gparted maak ik de Debian systeempartitie kleiner om ruimte vrij te maken voor een data partitie en een backup partitie. De data partitie wordt gebruikt om de Afbeeldingen, Documenten, Muziek en Video's van de gebruiker op te bewaren. M.a.w. we scheiden het Debian besturingssysteem en de bestanden van de gebruiker. De bedoeling is dat we met een systeemherstel partitie snel het besturingsysteem kunnen herstellen. De gebruiker is zelf verantwoordelijk voor het maken van reservekopiën van zijn bestanden.

De harde schijf configuratie ziet er dan in mijn geval als volgt uit:

accb@debian:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk
├─sda1   8:1    0 101,6G  0 part /
├─sda2   8:2    0     1K  0 part
├─sda3   8:3    0    10G  0 part
├─sda4   8:4    0 353,2G  0 part /media/Data
└─sda5   8:5    0   975M  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

Waarbij 101,6 GB is voorzien voor Debian 12 en software, 10 GB voor het systeemherstel en 353,2 GB voor gebruikersdata.

KDE instellen

Daarna begon ik enkele persoonlijke KDE instellingen aan te passen. Waaronder het scheiden van gebruikersdata en het systeem. Daarvoor moeten we eerst de data partitie koppelen aan het bestandssysteem. We passen daarvoor /etc/fstab aan:

accb@debian:~$ sudo nano /etc/fstab

En voegen onderaan de volgende regel toe:

/dev/sda4       /media/Data     ext4        defaults        0       2

Na het opslaan is het van belang de aanpassing te testen:

accb@debian:~$ sudo mount -a

Mocht deze test niet slagen, mag je de computer niet afsluiten of herstarten. Los het probleem eerst op, anders start de computer helemaal niet meer en kan je opnieuw beginnen.

Nadien gaf ik de data partitie de nodige gebruikersrechten, maakte ik mappen aan, verving ik enkele gebruikersmappen in de Home map door software koppelingen naar de mappen op de datapartitie.

accb@debian:~$ sudo chmod ugo+wt /media/Data/
accb@debian:~$ mkdir /media/Data/Afbeeldingen
accb@debian:~$ mkdir /media/Data/Documenten
accb@debian:~$ mkdir /media/Data/Muziek
accb@debian:~$ mkdir "/media/Data/Video's"
accb@debian:~$ rm -r $HOME/Afbeeldingen
accb@debian:~$ ln -s /media/Data/Afbeeldingen $HOME/Afbeeldingen
accb@debian:~$ rm -r $HOME/Documenten
accb@debian:~$ ln -s /media/Data/Documenten $HOME/Documenten
accb@debian:~$ rm -r $HOME/Muziek/
accb@debian:~$ ln -s /media/Data/Muziek $HOME/Muziek
accb@debian:~$ rm -r $HOME/Video\'s
accb@debian:~$ ln -s /media/Data/Video\'s/ $HOME/Video\'s

Systeemherstel installeren

De SystemRescue software gaan we op de computer installeren, waardoor deze steeds toegankelijk is. Daarvoor koppelen we eenmalig de backup partitie aan het bestandssysteem.

accb@debian:~$ sudo mount /dev/sda3 /mnt/

Daarna kunnen we het SystemRescue systeem naar de backup partitie kopiëren.

accb@debian:~$ sudo cp -r /media/accb/RESCUE1002/sysreccd /mnt/
accb@debian:~$ sudo cp -r /media/accb/RESCUE1002/sysrescue.d /mnt/

SystemRescue toevoegen aan het Grub bootmenu

Om SystemRescue te kunnen opstarten, moeten we het aan het Grub bootmenu toevoegen. Daarvoor passen we /etc/grub.d/40_custom aan.

accb@debian:~$ sudo nano /etc/grub.d/40_custom

En passen we dit aan tot we het volgende bekomen:

#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry 'Systeemherstel' {
  search --set=root --file /sysresccd/boot/x86_64/sysresccd.img
  echo 'Loading Linux Kernel ...'
  linux /sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd archisodevice=/dev/sda3 ar_source=/dev/sda3
  echo 'Loading SystemRescue ...'
  initrd /sysresccd/boot/x86_64/sysresccd.img
}

Na het aanpassen, moeten we de aanpassing activeren door grub up te daten.

accb@debian:~$ sudo update-grub

Systeemherstel automatiseren

Om het systeemherstel gebruiksvriendelijk te maken, gebruiken we een script dat automatisch opstart. Daarvoor passen we de configuratie van SystemRescue aan.

accb@debian:~$ sudo nano /mnt/sysrescue.d/100-defaults.yaml

En voegen we aan de global: sectie een regel toe om een Belgisch toetsenbord te gebruiken.

    setkmap: "be-latin1"

Ons script laten we opstarten door aan de autorun: sectie de volgende regels toe te voegen:

    exec:
        200:
            path: /run/archiso/bootmnt/autorun/autorun

Daarna kunnen we de autorun map aanmaken:

accb@debian:~$ sudo mkdir /mnt/autorun

En het autorun script.

accb@debian:~$ sudo nano /mnt/autorun/autorun

Voer het volgende script in:

#!/sbin/bash
echo '. /run/archiso/bootmnt/pindanet.sh' >> /root/.bashrc

Dit zorgt ervoor dat ons het script pindanet.sh na het starten van het SystemRescue systeem wordt opgestart. Het pindanet.sh script maak je aan.

accb@debian:~$ sudo nano /mnt/pindanet.sh

Dit wordt ons script:

#!/sbin/bash
systempart="/dev/sda1"
if [ ! -b "${systempart}" ]; then
  echo "Systeempartitie niet gevonden."
  exit
fi
backuppart="/dev/sda3"
if [ ! -b "${backuppart}" ]; then
  echo "Backuppartitie niet gevonden."
  exit
fi
backtitle="(C) PindaNet.be, Brugge, Dany Pinoy, `date -r /run/archiso/bootmnt/pindanet.sh +'%d %B %Y'`"
title="Automatisch systeemherstel"
text="\n
Dit is experimentele software. \
Het gebruik ervan is geheel voor eigen risico. \
PindaNet.be e.v. aanvaarden geen enkele aansprakelijkheid voor schade aan hard- en software, verloren gegane data of andere direct of indirect door het gebruik van deze software ontstane schade. \
In sommige landen kunnen de gebruikte software en andere componenten aan exportregelingen of patenten gebonden zijn. \
In deze landen mag deze software niet verspreid worden zoals dat normaal bij software onder de gpl-licentie gebruikelijk is. \
\n\n
Als u het met deze condities niet eens bent, mag u deze software niet gebruiken."
dialog --backtitle "${backtitle}" --title "${title}" --yesno "${text}" 20 70
if [ "$?" -ne 0 ]; then
  dialog --title "${title}" --msgbox "De computer zal afgesloten worden.\nU hoeft enkel nog te bevestigen." 6 45
  shutdown -h now
fi
while true; do
    choice=$(dialog --backtitle "${backtitle}" \
                --title     "${title}" \
                --clear \
                --nocancel \
                --menu  "Kies een opdracht" 11 70 4 \
                "Systeemherstel" "Systeembackup terugzetten" \
                "Herstarten" "Computer herstarten" \
                "Afsluiten" "Computer afsluiten" \
                "Backup" "Systeembackup maken, enkel door systeembeheerder." 3>&1 1>&2 2>&3)
    case $choice in
      "Systeemherstel")
        dialog --backtitle "${backtitle}" --title "${title}" --infobox "Bezig met het herstellen van de systeempartitie.\n\nEven geduld..." 6 55
        report=$(fsarchiver restfs /run/archiso/bootmnt/linux.fsa id=0,dest=${systempart} 3>&1 1>&2 2>&3)
        sync
        dialog --backtitle "${backtitle}" --title "${title}" --msgbox "${report}" 8 120
        continue
        ;;
      "Afsluiten")
        shutdown -h now
        dialog --backtitle "${backtitle}" --title "${title}" --msgbox "De computer wordt automatisch afgesloten.\nU hoeft enkel te wachten................." 6 45
        continue
        ;;
      "Herstarten")
        shutdown -r now
        dialog --backtitle "${backtitle}" --title "${title}" --msgbox "De computer wordt automatisch herstart.\nU hoeft enkel te wachten..............." 6 45
        continue
        ;;
      "Backup")
        password=$(dialog --backtitle "${backtitle}" --title "${title}" --passwordbox "Wachtwoord systeembeheerder" 7 35 3>&1 1>&2 2>&3)
        if [ "${password}" == "sntlcvo" ]; then
          dialog --backtitle "${backtitle}" --title "${title}" --infobox  "Bezig met het aanmaken van de Systeembackup.\n\nEven geduld..." 6 55
          mount ${backuppart} /run/archiso/bootmnt -o rw,remount
          rm /run/archiso/bootmnt/linux.fsa
          report=$(fsarchiver savefs /run/archiso/bootmnt/linux.fsa ${systempart} 3>&1 1>&2 2>&3)
          sync
          umount /mnt
          dialog --backtitle "${backtitle}" --title "${title}" --msgbox "${report}" 8 120
        fi
        continue
        ;;
    esac
done

Enkele schermafdrukken

Systeemherstel

restore

statistics

Mijn persoonlijke KDE Plasma instellingen

In telegramstijl.

Systeeminstellingen > Opstarten en afsluiten > Aanmeldscherm (SDDM) > Gedrag...
    Automatisch aanmelden Activeren: als gebruiker: dany met sessie: Plasma (X11) > Toepassen
        Gebruikerswachtwoord ingeven

Systeeminstellingen > Energiebeheer
  Op Externe stroom, Op batterij, Op laag batterijniveau (aanpassen naar goeddunken):
    Schermhelderheid: 50%
    Scherm dimmen UITschakelen
    Energiebesparing bij het beeldscherm UITschakelen
    Sessie onderbreken UITschakelen
    Moment waarop het laptopdeksel sluit: Afsluiten
    Als op de aan/uitknop wordt gedrukt: Afsluiten > Toepassen
  Geavanceerde energie-instellingen:
    Op kritiek niveau: Afsluiten > Toepassen < Terug naar alle instellingen

Systeeminstellingen > Gedrag van werkruimte > Scherm vergrendelen
  Scherm automatisch vergrendelen UITschakelen
  Na ontwaken uit slaap UITschakelen > Toepassen

Dolphin
  Menu openen > Meer > Beeld > Voorbeelden tonen uitschakelen
  Menu openen > Meer > Configureren > Dolphin configureren... > Opstarten
    Bij opstarten tonen: /home/accb > OK

Systeeminstellingen > Persoonlijke instellingen > KDE Portefeuillebeheer
  Het KDE-portefeuillesysteem inschakelen UITschakelen > Toepassen

Systeeminstellingen > Invoerapparaten > Toetsenbord > Hardware
  Numlock bij Plasma-start INschakelen > Toepassen

Systeeminstellingen voor het touchpad

Systeeminstellingen > Invoerapparaten > Touchpad > Tikken
  Tikken om te klikken
    Eén vinger: Linker muisknop
    Twee vingers: Rechter muisknop
    Drie vingers: Middelste muisknop > Toepassen
Systeeminstellingen > Invoerapparaten > Touchpad > Schuiven
    Schuiven met twee vingers: Verticaal en Horizontaal INschakelen > Toepassen