ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Erweiterungen

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

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/wubi.png Erweiterungen hinsichtlich GRUB 2-Funktionalität sind vom Konzept her nicht vorgesehen. Eine Wubi-Installation soll in der Regel so benutzt werden, wie diese sich nach der Installation darstellt.

Eine Erweiterung der Wubi-Installation um die nachfolgend beschriebenen GRUB 2-Funktionen ist möglich, sollte aber mit Bedacht vorgenommen werden.

Vorbereitungen

Die Datei wubildr muss auf der selben Windows-Partition (C:\ , D:\ usw.) abgelegt sein, auf der sich auch das Verzeichnis ubuntu der Wubi-Installation befindet.

Um zusätzliche Funktionen von GRUB 2 auch unter einer Wubi-Installation nutzen zu können, ist ausgehend vom Desktop des "Ubuntu" der Verzeichnisbaum wie folgt zu ergänzen:

  • /host

    • ergänze um: /boot/grub

durch Eingabe in ein Terminal [1] (kein "sudo" erforderlich) von:

cd /host
mkdir -p boot/grub/ 

Diese Ergänzung kann alternativ auch unter Windows erfolgen. Es wird empfohlen, dieses Verzeichnis unter Windows über die Eigenschaften auf "versteckt" zu setzen.

Zusatzfunktionen unter Wubi

Nachfolgende Erweiterungen wurden ausgetestet und sind mit einfachen Mitteln zu realisieren.

Ausgewählter Menüeintrag

Will man im Grubmenü die GRUB_2-Funktion GRUB_SAVEDEFAULT benutzen, um den zuletzt aufgerufenen Menüeintrag erneut ohne Eingriff zu starten, so müssen die Variablen in der /etc/default/grub entsprechend angepasst werden.

Variablen in der /etc/default/grub
Variable Wert / Einstellung
GRUB_DEFAULT= saved
GRUB_SAVEDEFAULT= true

Es muss die Datei /boot/grub/grubenv in das Verzeichnis /host/boot/grub verschoben und über einen symbolischen Link wieder eingebunden werden. Dies erreicht [3] man mittels

sudo ln -s /host/boot/grub/grubenv 

Man erstellt die beiden folgenden Skripte und legt diese im Verzeichnis /etc/grub.d ab. Die UUID der Windows-Partition ist in beiden Skripten den Gegebenheiten anzupassen!

Skript zum Abspeichern

Bezeichnung des Skriptes: 01_save_env

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#! /bin/sh -e
echo "Eintrag zum Speichern von grubenv hinzugefügt" >&2
cat << EOF
function savedefault {
if [ -f /boot/grub/grubenv ]; then
   if [ "\${saved_entry}" != "\${chosen}" ]; then
      echo "Eintrag \${chosen} wird gespeichert";
      set saved_entry="\${chosen}";
      search --no-floppy --fs-uuid --set=root 47AB1C9051B1D12C;
      save_env -f /boot/grub/grubenv 'saved_entry';
fi; fi;
}
EOF

Durch die Anordnung dieses Skriptes hinter dem internen Skript 00_header wird die dortige Subroutine durch die später eingebrachte Subroutine "function savedefault" vom Interpreter gelesen und ausgewertet.

Skript zum Lesen

Bezeichnung des Skriptes: 01_load_env

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#! /bin/sh -e
echo "Eintrag zum Laden von grubenv hinzugefügt" >&2
cat << EOF
search --no-floppy --fs-uuid --set=root 47AB1C9051B1D12C;
if [ -f /boot/grub/grubenv ]; then
   set have_grubenv=true;
   load_env -f /boot/grub/grubenv;
   set default="\${saved_entry}";
fi;
EOF

Skripte einbringen

Nach dem Einbringen obiger Skripte in das Verzeichnis /etc/grub.d macht man diese in einem Terminal [1][3] ausführbar mit:

sudo chmod +x /etc/grub.d/01_save_env
sudo chmod +x /etc/grub.d/01_load_env 

und bindet diese Skripte im Terminal [1][3] mit:

sudo update-grub 

in die Datei /boot/grub/grub.cfg ein.

Damit wird der Menüeintrag gesetzt, der beim letzten Starten benutzt wurde. Es stehen außerdem die Terminalbefehle [2] zum automatischen Start bereit:

Obige Maßnahmen werden in der Regel durch ein Update nicht überschrieben.

Hintergrundbild anzeigen

Die Darstellung eines Hintergrundbildes im Wubi-Grubmenü im Anschluss an die Auswahl von Ubuntu im Windows Bootmanager ist möglich. Zusätzlich zu den Maßnahmen wie unter Grub 2 mit Hintergrundbild beschrieben, muss die Datei grub-mkimage für Lucid um die nachfolgend gelisteten Module jeweils passend zur Bilddatei ergänzt werden:

Ergänzung in der Datei grub-mkimage
Bildtypus erforderliches Modul
Hintergrund.bmp bitmap
bitmap_scale
Hintergrund.jpg jpeg
Hintergrund.png png
Hintergrund.tga tga

Die jeweils eingesetzten Module müssen zusätzlich aus dem Verzeichnis /usr/lib/grub/i386 in das Verzeichnis /boot/grub kopiert werden. Das Vorhandensein wird intern bei einem sudo update-grub abgefragt.

Grub-Menü absichern

Man kann Maßnahmen ergreifen, die das einfache Ändern von systemeigenen Einstellungen, z.B. wie es das Auswählen des Recovery Modus ermöglicht, zumindest zu erschweren. Um die Absicherung wie unter Grub-Menü absichern auch unter Wubi nutzen zu können, muss die Datei grub-mkimage für Lucid um die die beiden Module

  • pbkdf2

  • password_pbkdf2

ergänzt werden. Dann bringt man im Verzeichnis /etc/grub.d folgendes Skript mit der Bezeichnung 01_pbkdf2 ein (UUID der Windows-Partition anpassen):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#! /bin/sh -e
echo "Passwortschutz für Grub-Menue eingefügt" >&2
cat << EOF
search --no-floppy --fs-uuid --set=root 47AB1C9051B1D12C
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
if [ -f /boot/pbkdf2.lst ]; then
   source /boot/pbkdf2.lst
fi
EOF

Nachdem man das Skript im Terminal [1][3] mit

sudo chmod +x /etc/grub.d/01_pbkdf2 

ausführbar gemacht hat, kann man es mit

sudo update-grub 

in die Datei /boot/grub/grub.cfg einbinden. Die Datei mit den Passwortdaten kopiert man in das "Ubuntu" Verzeichnis /boot.

Hinweis:

Es ist jedes andere, auch versteckte Verzeichnis nutzbar. Es muss dann nur der Pfad im obigen Skript angepasst werden. Es sollte aber, aus Gründen der Sicherheit, auf jeden Fall innerhalb der Wubi-Installation abgelegt werden

Datei wubildr anpassen

Hinweis:

Die folgend beschriebenen Änderungen werden bei einem Update des Paketes lupin-support überschrieben und müssen dann erneut eingebracht werden.

Um den Befehlsumfang der Datei wubildr anzupassen, muss die Datei /usr/share/lupin-support/grub-mkimage fürLucid mit einem Editor [2] mit Root-Rechten [3] bearbeitet werden:

cd /usr/share/lupin-support
sudo dpkg-reconfigure lupin-support
sudo update-initramfs -u -k all
sudo cp -f grub-mkimage grub-mkimage-bak
sudo nano grub-mkimage 

Im angezeigten Text des Editors [2] sucht man (am Ende dieser Datei) den Text aus Zeile 1:

1
2
3
# Watch the modules order!
modules=" \
   ...Modul-Liste ..."

und trägt am Ende der Liste, vor dem abschließenden " die erforderlichen Module ein, wie diese in den obigen Beschreibungen gelistet wurden. Die Module sind jeweils getrennt durch ein Leerzeichen einzubringen. Mit dem folgenden Befehl wird die Datei wubildr neu geschrieben.

sudo ./grub-mkimage 

Informationen

ubuntuusers.local › WikiWubiErweiterungen