Skripte/UUID anpassen mit uuid2swap

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Rechte für Dateien und Ordner ändern

  2. Ein Terminal öffnen

  3. Ein Programm starten

  4. Einen Editor öffnen

  5. Root-Rechte

Wenn man die Größe der Swap-Partition ändert oder sie anderweitig bearbeitet, ändert sich automatisch die UUID und man bekommt beim Einhängen eine Fehlermeldung. Typischerweise erscheint schon beim Systemstart:

One or more of the mounts listed in /etc/fstab cannot yet be mounted:
swap: waiting for UUID=xxxxxxxxxxxxxxxx

Um das Problem zu lösen braucht man dann eigentlich nur diese UUID aus /etc/fstab einfach wieder zurücksetzen.

Dies erledigt das Skript uuid2swap automatisch.

Es wurde mit zusammen mit dem niederländischen Schwesterforum 🇳🇱 entwickelt und getestet.

Installation

Skript uuid2swap herunterladen ⮷ und dann ausführbar machen[1], z.B. in Nautilus am einfachsten per Rechtsklick rechte Maustaste auf die Datei, und dann "Eigenschaften → Zugriffsrechte" und dort die Checkbox "Datei als Programm ausführen" aktivieren.

Benutzung

Das Skript muss man im Terminal[2] ausführen[3], dabei das Passwort und "blind" eingeben. Mit einem beliebigen Tastendruck wird das Skript beendet.

Funktion

Das Skript uuid2swap übernimmt von /etc/fstab aus der (letzten) "swap"-Zeile die UUID, ermittelt per blkid die (erste) swap-Partition und setzt dort diese UUID. Beim Aufruf unter GNOME per Mausklick (ggf. Doppelklick) linke Maustaste auf die Datei, "→ ausführen im Terminal" wartet das Skript zum Schluss noch auf eine Tastatureingabe. Dadurch kann man die Meldungen und eventuelle Fehlermeldungen auf jeden Fall lesen.

Hier der Quelltext des Skriptes:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#! /bin/bash
#  [track] /  v.3 mit Dank an Johan van Dijk (Ubuntu NL)

uuid1=$( awk '/^[^#].*swap/{print substr($1,6)}' /etc/fstab )	# v.3      ## übernimm aus  /etc/fstab  in der Zeile mit "swap" die UUID
device1=$( blkid -t TYPE="swap" -o device | head -n1 )		# v.3      ## nimm aus "blkid" (das geht auch bei RAID) das (erste) swap-device

if [ "$device1" == "" ]; then
	echo "  Sorry, keine Swap-Partition zu finden"
	exit 1
fi

echo "  ( das Passwort bitte )"
sudo swapoff -v -a                                                         ## Swap AUS
echo mkswap -U $uuid1  $device1                                            ## zeig was du tust
sudo mkswap -U $uuid1  $device1                                            ## setze den Swap
sudo swapon -v -a                                                          ## Swap wieder AN

echo
echo "  Fertig.    [Taste]"
read -sn1                                                                  ## warte auf 1 Tastendruck

Alternative

Die verwendeten UUIDs der Partitionen kann man sich auch im Terminal[1] mit dem Befehl

blkid 

anzeigen lassen. In der Ausgabe finden sich für die swap-Partition ein Eintrag wie

/dev/sdb5: UUID="319b67f8-376b-4850-ae15-22307b9ac81b" TYPE="swap" 

Man kopiert sich die UUID-Nummer dieser swap-Partition und ersetzt in einem Editor[4] mit Root-Rechten[5] den entsprechenden UUID-Eintrag in der Datei /etc/fstab. Nach einem Neustart wird die betroffene swap-Partition wieder ordnungsgemäß eingehängt.