Linux über einen USB-Stick booten

J

jkoel

Foren As
Hi,

ich habe bei mir folgende Situation: Rechner mit 2 Festplatten, auf einer ist Windows 7 auf der anderen Linux installiert. Ein Dualboot besteht nicht und soll auch nicht erstellt werden (da ich noch nicht sicher bin wie oft ich Linux in Zukunft nutzen werde). Beide OS wurden unabhängig voneinander und ohne die jeweils andere Festplatte installiert (die HDD war zu dem Zeitpunkt aus). Ich wechsel also zwischen den OS indem ich die jeweils andere HDD ausschalte (per Steuerung im 3,5''-Schacht). Da mir dann aber immer bestimmte Daten auf der jeweils abgeklemmten Platte fehlen, ist das keine Dauerlösung. Immer im Bios ändern auch nicht. Daher folgender Gedanke: Ich könnte Grub auf einen alten (bootfähigen) USB-Stick installieren und im Bios die Bootreihenfolge auf 1: USB 2: Windows-Platte umstelln. So könnte ich Linux einfach durch anstecken des Sticks booten und Windows halt ohne den Stick.

Die Frage ist jetzt wie ich das umsetze. Ich war auf der Grub-Seite von ubuntuusers, die hat mich aber ziemlich erschlagen. Am ehesten erscheint mir das hier logisch:

Code:
sudo grub-setup /dev/sda
sudo grub-install /dev/sda
sudo update-grub

Dazu gibt es aber diese Einschränkung, die ich aber nicht verstanden habe:

Die nachfolgende Lösung ist nur vorübergehend, da sich der Ubuntu Paketmanager den originalen Installationsort merkt. Spätestens beim nächsten GRUB 2 oder Distributionsupdate wird GRUB 2 wieder die auf die originale Partition installiert. Dies kann zu einen nicht mehr bootbaren System führen.

Was hat ein Systemupdate mit Grub zu tun? Sollte so etwas elementar wichtiges wie der Bootloader nicht unangetastet bleiben bei einem Update?

jkoel
 
GRUB ist mittlerweile sehr automatisiert, so dass es bei einem update von GRUB zu einem Ueberschreiben Deiner Konfiguration kommt, wenn Du das nicht manuel abgestellt hast (was natuerlich immer geht). Ich verstehe nicht, weshalb Du Dich gegen ein Dualboot straeubst: Auf der Linux-Platte ist mit grosser Sicherheit bereits GRUB drauf. Soweit ich weiss, laesst sich Linux gar nicht ohne bootloader starten, und entweder GRUB oder LILO sind eigentlich immer dabei - ich lass mich da aber auch gerne belehren. Das 'Dualboot' besteht also nur noch darin, in der GRUB Konfigurationsdatei, die ja auf der Linuxpartition liegt, zusaetzlich Windows einzutragen. Wenn Du Linux nicht mehr haben moechtest, kannst Du die ganze Platte loeschen und den MBR von Windows aus neu setzen - ich glaube, 'fdisk /mbr' ist der entsprechende Befehl, aber das schaust Du besser nochmal nach.
 
Wenn bei einem System-Update ein neues Grub-Paket installiert wird, wird dabei auch der MBR neu geschrieben. Und dieses Neuschreiben des MBR findet immer dort statt, wo es in den Systemkonfigurationen vorgegeben ist. Installiert man also Grub manuell auf einem anderen Datenträger ohne dies dem Paket-Management "mitzuteilen", schreibt das Grub-Update den neuen MBR an die falsche Stelle. Somit hat ein System-Update auch mit dem Bootloader zu tun, denn schliesslich kann der ja auch aktualisiert werden.

Ob sda bei dir das richtige Device ist, solltest du aber nochmal prüfen, vor allem, wenn du SATA-Platten in Verwendung hast. Also Stick anstecken und mittels 'sudo fdisk -l' schauen welches Device der verwendet, bevor du dort den Grub installierst!
 
GRUB ist mittlerweile sehr automatisiert, so dass es bei einem update von GRUB zu einem Ueberschreiben Deiner Konfiguration kommt, wenn Du das nicht manuel abgestellt hast (was natuerlich immer geht). Ich verstehe nicht, weshalb Du Dich gegen ein Dualboot straeubst: Auf der Linux-Platte ist mit grosser Sicherheit bereits GRUB drauf. Soweit ich weiss, laesst sich Linux gar nicht ohne bootloader starten, und entweder GRUB oder LILO sind eigentlich immer dabei - ich lass mich da aber auch gerne belehren. Das 'Dualboot' besteht also nur noch darin, in der GRUB Konfigurationsdatei, die ja auf der Linuxpartition liegt, zusaetzlich Windows einzutragen. Wenn Du Linux nicht mehr haben moechtest, kannst Du die ganze Platte loeschen und den MBR von Windows aus neu setzen - ich glaube, 'fdisk /mbr' ist der entsprechende Befehl, aber das schaust Du besser nochmal nach.
Ich würde es auch so handhaben! :dafuer:

Du kannst die Reihenfolge, die der Grub für das Menü erzeugt mittels Umbenennung der Skripte in /etc/grub.d/ beeinflussen (er fängt bei 00-* an und geht dann der Reihenfolge nach durch.). Du müsstest die Datei 30_os-prober also in z.B. 09_os-prober und anschließend "update-grub2" ausführen.

Windows startet er dabei per "chainloading", was bedeutet, dass Grub den Bootloader von Windows startet. Du könntest also die Linux-Platte rauswerfen und Windows würde immer noch problemlos starten.
Auch ein Update durch den Paketmanager müsste diese Variante überstehen (außer die Skripte werden verändert), da dein Bootloader unter Linux (vmtl. Grub) ja auf der Linux-Platte installiert ist und auch nach dem Update die Windows-Platte nicht anfasst...:]
 
Derzeit werde ich kein grub auf meine windowsplatte installieren. Dsmit hatte ich schon oft ärger. Die frage ist ob oben genanntes vorgehen funktionieren sollte. Das mit sda ist klar, ich habs nur rauskopiert.

Gesendet von meinem GT-I9100 mit Tapatalk
 
Derzeit werde ich kein grub auf meine windowsplatte installieren.
Das brauchst Du ja auch nicht, es geneugt ja das GRUB auf der Linux-Platte.
Wenn Du die von Dir beschriebene Methode per USB-Stick benutzt, kommst Du ja auch ohne GRUB auf der Linux-Platte aus, so dass auch keine Gefahr besteht, das ein Systemupdate auch GRUB aktualisiert. Daher wird mit Deiner Methode auch kein MBR ueberschrieben, sollte also gefahrlos funktionieren.
 
Ich habe jetzt erfolgreich den Bootloader auf den Stick geschrieben, Kubuntu wird gebootet. Dabei ist mir durch Zufall aufgefallen, dass ich noch eine 3. HDD verbaut hatte, die ich in Windows nur ausgeblendet hatte (ich mach meinen Rechner nicht mehr so oft "auf" wie früher). Da ist noch ein Backup-Windows 7 installiert. Das hat es jetzt mit in Grub integriert - an sich kein Problem, nur leider startet er dieses Windows nicht. Wähle ich es aus, erscheint ein Cursor und das war es. Der Windows-Eintrag in der grub.cfg sieht so aus:

menuentry 'Windows 7 (loader) (auf /dev/sdb2)' --class windows --class os $menuentry_id_option 'osprober-chain-3EE4C120E4C0DB73' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 3EE4C1$
else
search --no-floppy --fs-uuid --set=root 3EE4C120E4C0DB73
fi
chainloader +1
}

Ist da etwas falsch?
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Grub Boot Menü - Windows 10 hinzufügen

SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen

Eigener Multiboot USB Stick - scheitert schon an GRUB 2

Grub reparieren

Zurück
Oben