Allgemein Linux Windows

USB Bootstick selbst erstellen

Bootable USB Stick

Heute mal ein etwas anderes Thema. Booten vom USB Stick bzw wie man ihn bootbar
macht und wozu das gut sein kann.

Warum mache ich mir die Mühe in Zeiten von Ultimate BootCD oder Hirens?
Nun ganz einfach weil es Spaß macht neue Sachen zu testen und zu lernen!
Neu ist es für mich sicher nicht da ich solch einen Stick schon seit ca 10 Jahren einsetze.
Angefangen hat alles mit CD-Shell welches aber glaube ich nicht mehr eintwickelt wird.
Da mich die wenigstens persönlich kennen mal etwas zu mir: Ich bin gerlernter Fachinformatiker
im Fachbereich Systemintegration und arbeite seit ca 15 Jahren in dem Bereich.
Ein weiterer Punkt ist : Ich schreibe an dem Blog da mich es stört das man in vielen Foren zwar
Fragen findet aber nie die Antworten, entweder steht die Frage seit 2 Jahren offen oder es steht nur
„Danke ich habe das Problem gelöst“ aber nie wie es gelöst wurde.
So nun wieder zum eigentlichen Thema. 😉

Wozu brauch ich den Stick und was kann der?

Was er kann hängt vom Einsatzzweck ab und was man alles drauf macht, möglich ist fast alles.
Fangen wir da an für was ich den Stick einsetze.
– Testzwecke
– Memtest
– HDD Test
– CPU Stresstest
– Datenrettung
– Live Linux
– gparted
– Windows Reparatur
– ERD Commander ( ACHTUNG : muss man kaufen , ist von MS, ich habe es aus diesem Grund nicht ,
aber es ist möglich )
– Virenscanner
– Bitdefender
– Kaspersky

Was wird gebraucht?

Etwas Zeit , Geduld ein USB Stick und etwas freie Software.
Mein Stick basiert auf Syslinux
http://www.syslinux.org/wiki/index.php/The_Syslinux_Project

Im Falle das man den Stick unter Windows erstellen möchte benötigt man die aktuelle Version von syslinux.
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip
In diesem Packet sind auch alle weiteren Dateien enthalten die man braucht.

Falls man sich entscheidet es unter einer Linux Distribution zu machen sollte man dies im jeweiligen Packetmanager finden
unter Debian z.B. apt-get install syslinux

Der Anfang wird auf der Shell bzw Eingabeaufforderung gemacht
(ACHTUNG : bei Windows Vista++ cmd.exe als Administrator ausführen, bei Linux mit sudo oder als root)

Variante Windows
syslinux.exe --mbr --active --directory /boot/syslinux/ --install z: #im Beispiel ist der USB Stick Z:
Variante Linux
syslinux --mbr --active --directory /boot/syslinux/ --install /dev/sdb #im Beispiel wäre der USB Stick sdb

Was passiert an der Stelle?
Syslinux installiert in den Bootsector des USB Stick einen Bootloader und eine versteckte Datei LDLINUX.sys wird
auf dem Stick erstellt ( diese niemals löschen solang der Stick bootbar bleiben soll).
Weiter wird in dem Befehl schon angegeben in welchem Pfad später die Daten liegen sollen
/boot/syslinux

Ok da nun soweit alles vorbereitet ist gehen wir in den Ordner
USBSTICK /boot/syslinux
(Wenn diese nicht automatisch angelegt worden sind , dann diese so anlegen.)

2015-02-03-164808_1440x900_scrot
Als nächstes erstellen wir eine Datei Namens syslinux.cfg und öffnen die in einem geeigneten Editor.
Für Windows würde ich Notepad++ empfehlen und nutzen unter Linux ist z.B. Leafpad ausreichend (man kann auch vi(m) etc nutzen).
Ähnlich einem HTML Dokument benötigen wir eine Einleitung

DEFAULT vesamenu.c32 # ist nötig damit man weiter untenMENU BACKGROUND ein Bild als Hintergrund einfügen kann

#PROMPT 0
MENU TITLE PiProjects Tech-CD v1.0 # könnt Ihr ändern in einen Titel der euch gefällt
MENU BACKGROUND splash.jpg # Das besagte Bild
TIMEOUT 60 # nach welcher Zeit automatisch von HDD gestartet werden soll
MENU WIDTH 78 # Breite des Menüs
MENU ROWS 14 # Zeilen für die Auswahl
MENU TIMEOUTROW 17 # Zeile in der die Timeout Zeit angezeigt wird
MENU TABMSGROW 18 #
MENU CMDLINEROW 18 #
MENU HELPMSGROW 24 # Hilfsanzeige mit Infos zur jeweiligen auswahl
MENU HELPMSGENDROW 25
MENU IMMEDIATE

splash.png

Da mein Stick mit der Zeit immer mehr Funktionen erhalten hat kommt jetzt etwas mehr Inhalt für die syslinux.cfg Datei

#^A das ^ leitet ein das man durch drücken von A (darf auch a sein 😉 ) in das Antivirus Menü kommt
label -
menu label ^A) Antivirus
MENU INDENT 1
# Der Hilfetext der erscheint wie oben beschrieben
TEXT HELP
AVG, Avira und Kaspersky Rescue System
ENDTEXT
# kernel und vesamenu.c32 sind wichtig da sonst das Bild auf der nächsten Seite (Untermenü) nicht erscheint
kernel vesamenu.c32
APPEND /boot/isolinux/config/antivir.cfg

LABEL -
MENU LABEL ^B) BIOS
menu indent 1
TEXT HELP
In arbeit, noch keine Tools vorhanden
ENDTEXT
kernel vesamenu.c32
APPEND /ubcd/menus/syslinux/bios.cfg

LABEL -
MENU LABEL ^C) Backup und Partition Tools
menu indent 1
TEXT HELP
Parted Magic
ENDTEXT
kernel vesamenu.c32
APPEND /boot/syslinux/config/backup.cfg

LABEL -
MENU LABEL ^D) MEMTEST
menu indent 1
TEXT HELP
Memtest86 v4 und Memtest+ 4.20 Speicherdiagnose
ENDTEXT
kernel vesamenu.c32
APPEND /boot/syslinux/config/memtest.cfg

label ErdCommander
MENU label ^E) ERD Commander
TEXT HELP
ERD Commander 5.0-6.5 für Windows Wiederherstellung
ENDTEXT
menu indent 1
kernel vesamenu.c32
APPEND /boot/syslinux/config/erd.cfg

LABEL -
MENU LABEL ^F) Windows XP
menu indent 1
TEXT HELP
Windows XP Home und Pro SP3 Installation
ENDTEXT
kernel vesamenu.c32
APPEND /boot/syslinux/config/win.cfg

label Gentoo 2011 August
menu label ^G) Gentoo
menu indent 1
TEXT HELP
Gentoo Live CD zum Linux retten
ENDTEXT
KERNEL /images/gentoo/gentoo subdir=/images/gentoo root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs cdroot quiet udev
initrd /images/gentoo/gentoo.igz

LABEL -
MENU LABEL ^H) HDD
menu indent 1
TEXT HELP
Contains a set of tools for HD Diagnostics
ENDTEXT
kernel vesamenu.c32
APPEND /boot/syslinux/config/hdd.cfg

LABEL -
MENU LABEL ^I) Misc
menu indent 1
TEXT HELP
Contains a set of tools.
ENDTEXT
kernel vesamenu.c32
APPEND /boot/syslinux/config/misc.cfg

MENU SEPARATOR
label 0
menu label Boot from HD
TEXT HELP
Boot from the default hard disks' operating system(s).
ENDTEXT
localboot 0x80
timeout 400
#reboot
label Reboot
menu label Reboot
KERNEL Reboot.c32

Der Übersicht halber habe ich die weiteren Konfigurationsdateien in den Unterordner config gelegt
# wieder die Selbe Einleitung wie in der ersten .cfg Datei

DEFAULT vesamenu.c32
#PROMPT 0
MENU TITLE PiProjects Tech-CD v1.0
MENU BACKGROUND splash.jpg
TIMEOUT 60
MENU WIDTH 78
MENU ROWS 14
MENU TIMEOUTROW 17
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU HELPMSGROW 24
MENU HELPMSGENDROW 25
MENU IMMEDIATE

MENU TITLE + Antivirus

label -
menu label ^A) AVG Rescue CD
TEXT HELP
The AVG Rescue CD is able to update its virus definitions over
the internet once initialized. This Version of the AVG Rescue
CD is based on the linux kernal.
ENDTEXT
LINUX memdisk
INITRD /IMAGES/AVG/AVG.ISO # auf dem USB Stick wird nun ein Ordner images mit Unterordner avg benötigt
APPEND iso raw # Wichtig in der CFG Datei müssen die Pfade groß geschrieben werden

label -
menu LABEL ^B) Avira Rescue CD
TEXT HELP
Avira Rescue CD
ENDTEXT
LINUX memdisk
INITRD /IMAGES/AVIRA/AVIRA.ISO
APPEND iso raw
label -
menu LABEL ^C) Kaspersky Rescue CD
TEXT HELP
Kaspersky Rescue CD
ENDTEXT
#LINUX memdisk
#INITRD /IMAGES/KAV/KAV.ISO
#APPEND iso raw
#Kernel /rescue/rescue
#append root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/kav.squashfs nodevfs cdroot initrd=/rescue/rescue.igz kav_lang=de udev aufs quiet noresume doscsi
kernel /images/rescue/rescue
append root=live:CDLABEL=SARDU rootfstype=auto vga=791 init=/init initrd=/images/rescue/rescue.igz kav_lang=de udev liveimg quiet nox kavshell noresume doscsi nomodeset
#KERNEL /images/rescue/rescue subdir=/images/rescue root=/dev/ram0 vga=791 init=/linuxrc looptype=squashfs loop=/squashfs.img kav_lang=de nodevfs cdroot udev aufs quiet noresume doscsi
#initrd /images/rescue/rescue.igz

label -
menu LABEL ^D) Bitdefender Rescue CD
TEXT HELP
Bitdefender Rescue CD
ENDTEXT
#LINUX memdisk
#INITRD /IMAGES/BIT/BIT.ISO
#APPEND iso raw
kernel /bit/casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/bit/casper/initrd.gz splash vga=791 live-media-path=/bit/casper lang=de

.
.
.

MENU SEPARATOR
LABEL return_main
MENU LABEL ^.. Return to main Boot Options Menu
KERNEL vesamenu.c32
APPEND isolinux.cfg

Wie testet man nun ob alles auch funktioniert?

Zwei möglichkeiten bieten sich.
1. Klar den USB Stick angesteckt lassen und dann mit Hilfe des BIOS Boot Menüs von USB booten
macht aber auf dauer und zum testen nicht viel Spaß, somit Variante
2. Plop , ein kleines welches ich hier auch schon vorgestellt habe und

Weitere Infos zu bestimmten Punkten in den cfg Dateien:
ISOLINUX
Dies wäre notwendig wenn man das Finale Ergebniss auch als Bootbare CD/DVD haben möchte und zum starten der ISO Dateien
PXELINUX
Damit könnte man das ganze Projekt auch als Netzwerkvariante erstellen
SYSLINUX
Mit diesem werden wir unseren USB Stick zum PowerTool umbauen
MEMDISK
brauchen wir auch noch um diverse Image Dateien zu laden

So hier endet erstmal die Anleitung. Die entsprechenden Test/Virenprogramme gibt es bei den Herstellern meist zum freien Download.
Keine Angst ich werde noch eine Ergänzende Anleiung schreiben zum erstellen von Disketten Images die dann geladen werden können.

2 thoughts on “USB Bootstick selbst erstellen

  1. Sehr aufschlussreich, danke. Meine besten Erfahrungen habe ich bisher jedoch mit Unetbootin gemacht. Ist irgendwie weniger aufwändig. Zumindest lohnt es sich, mal einen Blick auf dieses Tool zu werfen.

Comments are closed.