spacer

Sysresccd-manual-de Wie man SystemRescueCd auf einen USB-Stick installiert

History


Contents

Einführung

Dieses Kapitel erklärt, wie man SystemRescueCd auf einem USB-Stick installiert. Dies erlaubt die Nutzung des Systems von einem USB-Stick statt der CD-ROM. Zuerst benötigt man SystemResuceCd 0.2.18 oder Neuer und einen USB-Stick mit genügend Platz. Wenn die offizielle Version benutzt wird, wären das mindestens 512 MB. Natürlich wird auch ein Computer mit USB-Unterstützung und mindesten einem freien USB-Port benötigt. Das BIOS muss von USb booten können und dies muss vor allen anderen Geräten in der Bootreihenfolge angegeben werden.

Ebenfalls benötigt wird eine aktuelle Version von syslinux (3.35 oder Neuer). Wenn die Installation von Windows aus erfolgt, ist auf der CD das Programm syslinux.exe in einer Zip-Datei mitgeliefert. Wenn die Installation aus Linux heraus erfolgt, können Sie syslinux entweder mit Ihrem Paketmanager installieren, oder einfach von der SystemRescueCd.

Wenn Sie SystemRescueCd auf einen USB-Stick installieren wollen, könnte es für Sie auch interessant sein, daraus einen backing-store (englisch) zu machen, um Änderungen dauerhaft speichern zu können.

Es wird die Installation von Linux aus empfohlen, da in manchen Situationen einige Programme wie z.B. cfdisk benötigt werden und diese nicht für Windows zur Verfügung stehen. Wenn kein installiertes Linux zur Verfügung steht, kann SystemRescueCd auch direkt mit der Live-Version auf USB installiert werden.

Installation aus Linux

Wenn kein installiertes Linux zur Verfügung steht, kann SystemRescueCd auch direkt mit der Live-Version auf USB installiert werden.

Schritt-01: Den richtigen Gerätenamen finden

Man benötigt den Gerätenamen des USB-Sticks. In den meisten Fällen erkennt Linux das Gerät als SCSI-Festplatte. Anders ausgedrückt, es wird als /dev/sda1 (erste Partition des ersten SCSI-Gerätes) oder als /dev/sdb1 (wenn ein weiteres SCSI-Gerät exisitiert) erkannt. Seit Kernel 2.6.8 können USB-Sticks auch als /dev/uba, /dev/ubb, ... erkannt werden.

So kann der Gerätename ermittelt werden. Zuerst starten Sie den PC mit Linux, ohne den Stick eingesteckt zu haben. Dann laden Sie alle USB-Module (vielleicht müssen Sie andere USB-Module zuerst laden). Dieser Befehl ist nicht notwendig, wenn die USB-Unterstützung im Kernel integriert ist. Wenn modprobe dieses Modul nicht findet, kann das normal sein.

modprobe usb-storage

Jetzt stecken Sie den USB-Stick ein und schauen sich die Kernel-Meldungen an. Hier findet man normalerweise den Gerätenamen.

dmesg | tail -n 50

Nachfolgend ein Beispiel für eine solche Ausgabe des Kernels:

usb 2-6: new high speed USB device using ehci_hcd and address 7
usb 2-6: configuration #1 chosen from 1 choice
scsi5 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 7
usb-storage: waiting for device to settle before scanning
scsi 5:0:0:0: Direct-Access     Kingston DataTraveler U3  6.50 PQ: 0 ANSI: 0 CCS
sd 5:0:0:0: [sdf] 1961695 512-byte hardware sectors (1004 MB)
sd 5:0:0:0: [sdf] Write Protect is off
sd 5:0:0:0: [sdf] Mode Sense: 45 00 00 08
sd 5:0:0:0: [sdf] Assuming drive cache: write through
sd 5:0:0:0: [sdf] 1961695 512-byte hardware sectors (1004 MB)
sd 5:0:0:0: [sdf] Write Protect is off
sd 5:0:0:0: [sdf] Mode Sense: 45 00 00 08
sd 5:0:0:0: [sdf] Assuming drive cache: write through
 sdf: sdf1
sd 5:0:0:0: [sdf] Attached SCSI removable disk
sd 5:0:0:0: Attached scsi generic sg2 type 0
usb-storage: device scan complete

Dann sollten Sie versuchen, das Gerät einzuhängen:

mkdir /mnt/usbstick
mount -t vfat /dev/sdf1 /mnt/usbstick

Wenn nicht genug Speicher vorhanden ist (etwa 230 MB), müssen Dateien gelöscht werden:

rm -rf /mnt/usbstick/*

Bei den weiteren Schritten gehen wir davon aus, daß der Stick als /dev/sdf eingebunden wurde. Es ist wirklich wichtig, daß der richtige Gerätename verwendet wird!

Schritt-02: Initialisierung des Sticks

Die nachfolgenden Anweisungen sind vielleicht nicht notwendig, das kommt auf die Konfiguration des USB-Sticks an. Deshalb können Sie versuchen, sie erst einmal auszulassen. Sollten allerdings Probleme beim booten vom USB-Stick auftreten, sollten Sie diese Schritte ausführen. Stellen Sie sicher, daß Sie vor dieser Aktion eine Sicherung der Daten auf dem Stick machen. Danke an jadjay im Forum (englisch) für diese zusätzliche Information. Angenommen, das Gerät ist /dev/sdf Sie müssen das aber durch den Gerätenamen Ihres eigenen USB-Sticks ersetzen. Seien Sie sich wirklich sicher, daß es das richtige Gerät ist!

Starten Sie zuerst cfdisk, um zu prüfen, ob die Partition die richtige ID in der Partitionstabelle des USB-Sticks hat. Wählen Sie den Typ LBA FAT32 vielleicht 0B oder 0C, um es bootfähig zu machen.

cfdisk /dev/sdf

Nutzen Sie mkfs.vfat um die Partition zu formatieren. Alle Daten werden gelöscht, sichern Sie also vorher Ihre Daten.

mkfs.vfat -F 32 -n SYSRESC /dev/sdf1

Der Befehl dd überschreibt die ersten 404 Byte des MBR des Stick. Die vorherigen Bootbefehle werden mit Standardwerten überschrieben, um sicherzustellen, daß es funktioniert. Es ändert nichts an der Partitionstabelle, da diese bei Offset 446 im MBR beginnt.

 dd if=/usr/share/syslinux/mbr.bin of=/dev/sdf

Synchronisieren, um sicherzustellen, daß alle Änderungen auf den Stick geschrieben wurden.

sync

Schritt-03: Kopieren der Dateien von der CD

Jetzt müssen die wichtigsten Dateien kopiert werden. Die SystemRescueCd muss unter /mnt/cdrom eingehängt sein. Man kann auch die ISO-Datei einhängen, wenn man keine CD-R brennen will. Der Stick hängt unter /mnt/usbstick. Bitte Vorsicht! Nach Berichten von Nutzern im Forum (englisch) ist die Reihenfolge sehr wichtig:

Neue Anweisungen zum Kopieren der Dateien

Sie sollten die folgenden Anweisungen verwenden, wenn Sie zur Installation der SystemRescueCd syslinux-3.52 oder neuer verwenden.

cp -af /mnt/cdrom/* /mnt/usbstick/
rm -rf /mnt/usbstick/syslinux
mv /mnt/usbstick/isolinux/isolinux.cfg /mnt/usbstick/isolinux/syslinux.cfg
mv /mnt/usbstick/isolinux /mnt/usbstick/syslinux

Alte Anweisungen zum Kopieren der Dateien

Sie sollten diesen Anweisungen nur folgen, wenn Sie eine syslinux-Version älter als 3.52 verwenden, oder die neuen Anweisungen (siehe oben) nicht funktionieren.

cp /mnt/cdrom/syslinux/syslinux.cfg /mnt/usbstick/
cp -af /mnt/cdrom/isolinux/* /mnt/usbstick/
cp -af /mnt/cdrom/bootdisk/* /mnt/usbstick/
cp -af /mnt/cdrom/ntpasswd/* /mnt/usbstick/
cp /mnt/cdrom/sysrcd.dat /mnt/usbstick/

Schritt-04: Den Stick bootfähig machen

Jetzt wird der USB-Stick wieder ausgehängt und mit syslinux bootfähig gemacht. Natürlich muss der Gerätename /dev/sda1 durch den Gerätenamen des Sticks ersetzt werden:

umount /mnt/usbstick
syslinux /dev/sdf1
sync

Ein Nutzer berichtete, daß ms-sys -s /dev/sdX bei Problemen weiterhelfen kann. Denken Sie daran, falls es nicht klappt.

Installation aus Windows

Schritt-01: Den richtigen Laufwerksbuchstaben finden

Der USB-Stick muss zur Laufzeit eingesteckt werden. Im Explorer erscheint er mit einem neuen Laufwerksbuchstaben. In dieser Anleitung gehen wir davon aus, daß der USB-Stick als E: eingebunden wurde. Nicht vergessen, den Laufwerksbuchstaben in den Befehlen anzupassen.

Schritt-02: Den USB-Stick mit FAT formatieren

Zuerst wird das Gerät formatiert. Im Explorer kann man einfach per Rechtsklick im erscheinenden Kontextmenü den Befehl "Formatieren..." anklicken. Wichtig ist hier, daß das Dateisystem FAT gewählt wird (es funktioniert nicht mit NTFS).

Schritt-03: Kopieren der Dateien von der CD

Jetzt müssen die wichtigsten Dateien kopiert werden. Man kann auch die ISO-Datei als Laufwerk einbinden, wenn man keine CD-R brennen will (z.B. mit den Daemon-Tools).

  1. Kopieren Sie alle Dateien der CD in das Wurzelverzeichnis des USB-Gerätes
  2. Bennenen Sie die Datei isolinux.cfg im Verzeichnis isolinux in syslinux.cfg um
  3. Entfernen Sie das alte syslinux Verzeichnis, falls es existiert (seit sysresccd-1.1.4 nicht mehr vorhanden)
  4. Benennen Sie das Verzeichnis isolinux in syslinux um

Schritt-04: Den Stick bootfähig machen

Jetzt wird der USB-Stick mit syslinux bootfähig gemacht. Dieses Programm muss in einem Konsolenfenster/DOS-Fenster (cmd.exe) ausgeführt werden. Nicht vergessen, den Laufwerksbuchstaben anzupassen.

syslinux -ma E:

Das Programm syslinux befindet sich auf der CD. Bitte stellen Sie sicher, daß Sie syslinux in Version 3.52 oder neuer benutzen. Die Windows-Version wird als ZIP-Archiv geliefert. Es wird lediglich syslinux.exe aus dem Archiv benötigt.

Nutzer haben berichtet (englisch), daß die Option ma möglicherweise notwendig ist, damit es klappt. Deshalb erwähnen wir diesen Schalter hier. Das funktioniert nur in Windows:

  • -m bedeutet "schreibe mbr"
  • -a bedeutet "aktiviere die Partition (setze als bootbar)".

Installation aus SystemRescueCd-1.1.4 (oder neuer)

Übersicht

Wenn Sie mit der SystemRescueCd starten, können Sie dies als Basis für die Installation auf einem USB-Stick benutzen. SystemRescueCd-1.1.4 beinhaltet ein neues Skript, welches Ihnen dabei hilft, das richtige USB-Gerät zu finden und SystemRescueCd darauf zu installieren. Formatieren des USB-Sticks löscht alle Daten! Stellen Sie sicher, daß Sie eine Datensicherung haben.

  1. Laden Sie sich die aktuelle Version der SystemRescueCd herunter
  2. Brennen Sie sich die CD. Hierzu können Sie z.B. Nero unter Windows oder cdrecord unter Linux verwenden.
  3. Booten Sie mit der CD mit den Standard-Optionen.
  4. Stecken Sie Ihren USB-Stick ein und warten Sie 5 Sekunden, damit das System genügend Zeit hat, den Stick zu erkennen
  5. Starten Sie sysresccd-usbstick listdev um die Geräte, welche als USB-Sticks erkannt wurden, anzuzeigen
  6. Starten Sie sysresccd-usbstick writembr xxx wobei xxx für den Namen des USB-Gerätes steht
  7. Starten Sie sysresccd-usbstick format xxx wobei xxx für den Namen der Partition auf dem USB-Gerät steht
  8. Starten Sie sysresccd-usbstick copyfiles xxx wobei xxx für den Namen der Partition auf dem USB-Gerät steht
  9. Starten Sie sysresccd-usbstick syslinux xxx wobei xxx für den Namen der Partition auf dem USB-Gerät steht

Beispiel einer Installation

root@sysresccd % sysresccd-usbstick listdev
Device [/dev/sdb] detected as [Kingston DataTraveler U3] is removable and size=957MB
Device [/dev/sdb] is not mounted
Device [/dev/sdb] has one partition: /dev/sdb1

root@sysresccd % sysresccd-usbstick writembr /dev/sdb
The device [/dev/sdb] seems to be big enough: 957 MB.
--> install-mbr /dev/sdb --force
--> parted -s /dev/sdb mklabel msdos
--> parted -s /dev/sdb mkpartfs primary fat32 0 100%
--> parted -s /dev/sdb set 1 boot on

root@sysresccd % sysresccd-usbstick format /dev/sdb1
The device [/dev/sdb1] seems to be big enough: 956 MB.
mkfs.vfat 2.11 (12 Mar 2005)
Partition /dev/sdb1 has been successfully formatted

root@sysresccd % sysresccd-usbstick copyfiles /dev/sdb1
The device [/dev/sdb1] seems to be big enough: 956 MB.
/dev/sdb1 successfully mounted on /mnt/usbstick
Free space on /mnt/usbstick is 956MB
Files have been successfully copied to /dev/sdb1

root@sysresccd % sysresccd-usbstick syslinux /dev/sdb1
syslinux has successfully prepared /dev/sdb1

Installation aus Linux unter Verwendung eines ext3/ext4 Dateisystems

Als Linux-Nutzer möchte man vielleicht statt vfat ein Linux-Dateisystem wie ext3/ext4 auf dem USB-Stick verwenden. Es sollte mit jedem Dateisystem, welches von GRUB unterstützt wird, funktionieren (ext3, reiserfs, ...). In diesem Fall kann GRUB statt syslinux zum Booten verwendet werden. Dank an Christian Hesse, der diese Vorgehensweise vorgeschlagen hat.

  • Formatieren Sie den USB-Stick aus Linux mit dem normalen mkfs-Tool Ihres bevorzugten Dateisystems

Wenn Sie SystemRescueCd-1.2 benutzen, empfiehlt es sich, das Dateisystem ext4 zu nehmen und das Journaling auszuschalten (möglich ab Kernel >= 2.6.29). USB-Sticks sind Flash-Dateisysteme. Dadurch kann der Speicher nur eine begrenzte Anzahl von Schreibzyklen "ertragen". Um die Lebensdauer des Speichers zu verlängern, sollten die Schreibzugriffe eingeschränkt werden und Journalling-Dateisysteme schreiben sehr häufig an die selbe Stelle (wo das Journal gespeichert ist). Nachfolgend die Vorgehensweise, wie man ext4 ohne Journalling verwendet:

mke2fs -t ext4 -O ^has_journal /dev/sdf

ext2 kann ebenfalls verwendet werden, unterstützt jedoch keine extents und benötigt dadurch mehr Zugriffe um große Dateien vom Datenträger zu lesen/schreiben.

  • Hängen Sie dieses Dateisystem unter /media/usbstick ein und kopieren die Dateien von der CD in dieses Verzeichnis (danach wie normal weiter)
  • Starten Sie grub-install --root-directory=/media/usbstick/ /dev/sdf (ersetzen Sie /dev/sdf durch den Namen des USB-Sticks)
  • Erstellen Sie eine Menu.lst im Verzeichnis /media/usbstick/boot/grub/. Ersetzen Sie (hd0,1) durch den GRUB-Namen der USB-Partition.
timeout 5
color light-gray/black light-blue/black

title SystemRescueCd 32bit
kernel (hd0,1)/isolinux/rescuecd
initrd (hd0,1)/isolinux/initram.igz

title SystemRescueCd 64bit
kernel (hd0,1)/isolinux/rescue64
initrd (hd0,1)/isolinux/initram.igz

Es sollte nun möglich sein, vom USB-Stick zu booten.

Booten vom USB-Stick

Stellen Sie sicher, daß "USB HDD" (oder ähnlich bezeichnet) als erstes Startlaufwerk im BIOS des PCs eingestellt ist. Wenn alles funktioniert, sollten Sie den Boot-Splash der SystemRescueCd mitsamt Befehlszeile sehen. Es ist nicht erforderlich der Befehlszeile die Option "usbstick" hinzuzufügen, da dies bereits in syslinux.cfg geschehen ist. Sollten allerdings Probleme auftreten, versuchen Sie es damit. Wenn Sie beispielsweise mit dem Standard-Bootimage und deutschem Tastaturlayout starten wollen, geben Sie das folgende an der Befehlszeile ein:

rescuecd setkmap=de

Sie erhalten mehr Informationen zu den Bootoptionen durch drücken von F2, F3, F4. Danach drücken Sie Enter. Es sollte genau wie eine normale SystemRescueCd von einem CD-Laufwerk funktionieren.

USB-Stick Modelle, die funktionieren sollten

Manchmal ist es schwierig, syslinux mit einem speziellen USB-Stick zum Laufen zu bekommen. Nachfolgend einige Modelle, die laut Anwendern funktionieren und die Installation der SystemRescueCd möglich sein sollte:

  • Kingston DataTraveler 1GB
  • COSK'EY Silver (gibt es als 2GB, 4GB oder 8GB).
  • PQI, U310, 1GB
  • 2GB Cruzer Titanium (SanDisk U3 Titanium 3.27 PQ: 0 ANSI: 2)
spacer