Habe mal eine grundsätzliche Verständnisfrage zu PC Dual-Boot Win 10
Debian:
Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine
bootfähige Partition installieren und Debian auf eine nicht-bootfähige
Partition - und dann unter Windows dieses Debian direkt starten?
Ich habe nämlich hier ein industrielles ARM-Board das im Boot-Flash RISC
OS installiert hat, somit bootet es natürlich RISC OS. Zuerst war die
einzige Möglichkeit, auch Debian zu booten, dass man unter RISC OS uboot
in den Boot-Flash schreibt und Reset macht. Inzwischen gibt es aber eine
APP die unter RISC OS uboot ins RAM lädt und dann diese RAM-Adresse auf
die Boot-Flash Adresse umbiegt und somit mit einem Klick aus RISC OS
Debian direkt startet. Beim nächsten Reset startet dann wieder der
Boot-Flash mit RISC OS:
https://groups.google.com/g/comp.sys.acorn.announce/c/rEKhyUSOMl8
Ich nehme mal an, bei einem PC geht das so nicht, weil da Firmware Flash
und RAM ganz anders funktionieren??
Lothar schrieb:> und dann unter Windows dieses Debian direkt starten?
Weil BS grundsätzlich keine anderen BS starten können. Das geht in
deinem Szenario auch nur dadurch, daß vom aktuellen OS aus quasi ein
anderes Bootsystem geschrieben wird. Auf dem PC müßte er dann jedesmal
auf den Bootsektor der Platte schreiben. Ein Fehler dabei und Du
könntest nicht mehr booten.
Was hindert Dich daran, grub zu installieren?
Übrigens müssen alle Partitionen, von denen Du booten wollst, auch
bootfähig sein. Also auch Debian.
Direkt gebootet wird allerdings der Bootmanager (grub).
Andreas B. schrieb:> Was hindert Dich daran, grub zu installieren?
Habe gelesen Win 10 Update kann grub überschreiben. Und Win 10
Schnellstart auch.
Gibt es denn ein Tool, um unter Windows grub neu zu schreiben, so dass
Debian wieder startet? Habe gelesen, dann ist Reperatur mit Live-System
erforderlich.
Lothar schrieb:> Andreas B. schrieb:>> Was hindert Dich daran, grub zu installieren?>> Habe gelesen Win 10 Update kann grub überschreiben. Und Win 10> Schnellstart auch.
Daß ein Update von Win das jetzt machen würde, wäre mir neu.
Eine Neuinstallation von Win tut es ganz bestimmt.
> Gibt es denn ein Tool, um unter Windows grub neu zu schreiben, so dass> Debian wieder startet? Habe gelesen, dann ist Reperatur mit Live-System> erforderlich.
Nö, Win will mit grub und Linux nichts zu tun haben.
Was Du in diesem Fall (wenn er denn eintreten würde) tun kannst, ist
eine Super Grub 2 Disk starten (https://www.supergrubdisk.org/, das ist
ein Live System, aber spezialisiert auf Grub Wiederherstellung). Diese
kann Dir jedes System auf Deiner FP starten und auch Grub
wiederherstellen bzw. neu installieren (mit allen bootbaren Einträgen).
Lothar schrieb:> und dann diese RAM-Adresse auf> die Boot-Flash Adresse umbiegt und somit mit einem Klick aus RISC OS> Debian direkt startet
Wenn dein System keine BIOS-Auswahl des Bootmediums anbietet, was wohl
so ist, könnte man vielleicht mit diesem Mechanismus statt Debian direkt
den Grub-Bootmanager starten und mit dem ein, zwei, viele OS ausführen.
Lothar schrieb:> Habe gelesen Win 10 Update kann grub überschreiben.
Die Installation ja, ein Update nicht - bisher, niemand weiss was MS in
Zukunft macht. Übrigens hat auch Windows 10 einen Bootmanager, aber das
ist so ziemlich der schlechteste von allen und für eine Einrichtung
durch den User garnicht gedacht.
Georg
Andreas B. schrieb:> Daß ein Update von Win das jetzt machen würde, wäre mir neu.> Eine Neuinstallation von Win tut es ganz bestimmt.
Bei Win 10 ist das automatische Windows Update von einer Version auf die
nächste z.B. Win 10.1709 auf Win10.1803 doch quasi jedes Mal eine
Neuinstallation und die ist auch nicht zu verhindern.
Lothar schrieb:> Bei Win 10 ist das automatische Windows Update von einer Version auf die> nächste z.B. Win 10.1709 auf Win10.1803 doch quasi jedes Mal eine> Neuinstallation und die ist auch nicht zu verhindern.
Wenn Du meinst.
Lothar schrieb:> Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine> bootfähige Partition installieren und Debian auf eine nicht-bootfähige> Partition - und dann unter Windows dieses Debian direkt starten?
Weil moderne Betriebssysteme Prozesse im Userspace nicht im Kernelspace
herumpfuschen lassen.
Das wäre aber nötig, damit ein anderes OS, z.b. der Linux Kernel die
Oberhand gewinnt.
Damit ist es aber noch nicht getan, denn das Windows müsste, bevor es
vom anderen OS verdrängt wird, vor dem "Beenden" eigentlich noch
aufräumen, wenn du keinen Datenverlust haben möchtest.
Bei modernen Betriebsystemen mit umfangreichem Rechteschutz und
Prozesstrennung ist das also ohne Nachteile nicht machbar.
Man bräuchte für den Prozess, der den Linux Kernel starten soll,
mindestens Systemrechte. So wie bei Gerätetreiber, die Amok laufen,
auch.
Aber dann gibt's da immer noch den Microkernel, der höllisch aufpasst
und dann lieber einen Blue Screen wirft, als dass er fremde Prozesse mit
Systemrechten einfach irgendwie im Speicher rumschreiben lässt.
Der Blue Screen hat also auch die Aufgabe, das System vor Folgefehlern
zu schützen.
Also im Sinne von lieber ein kontrollierter Absturz, als Datenverlust.
Es gibt allerdings für MS DOS die Möglichkeit, dass du dort ein Programm
startest und dann der Linux Kernel geladen wird.
Das Programm heißt loadlin
Bei MS-DOS geht das deswegen, weil das eben keine Rechtetrennung kennt
und da jedes Programm im Speicher rumschreiben kann wie es will. Und das
DOS Dateisystem ist so ausgelegt, dass es die Daten gleich
niederschreibt und nicht noch irgendwie "lazy" wartet bis die CPU mal
etwas weniger zu tun hat.
Daher kann man das in DOS das machen und von dort Linux booten.
Bei allen anderen modernen Betriebssystemen geht das aber nicht bzw.
wäre es ein enormer Aufwand, da das alte OS irgendwie gesichert und
geordnet beendet werden müsste, damit das andere überhaupt übernehmen
kann und dann muss da alte OS das neue zu ladende das auch noch machen
lassen.
Daher nimmt man für so etwas ganz einfach einen Bootloader wie bspw.
grub 2.
DIN-Löter schrieb im Beitrag #6506148:
> Andreas B. schrieb:>> Weil BS grundsätzlich keine anderen BS starten können.>> Qas für einen Unsinn - WIN95 muss sogar aus DOS gestartet werden.
Weil Win95 kein OS ist, sondern ein DOS Aufsatz.
DIN-Löter schrieb im Beitrag #6506148:
> Vlt. wars das hier oder ein ähnliches Derivat:
Klar kann man immer solche exotischen OS kreieren. Das hat aber mit den
heutigen Mainstream OSsen wenig zu tun.
DIN-Löter schrieb im Beitrag #6506275:
> unterscheidet genau ein Tüftlergenie vom gelernten Depp
Unterscheidet ein Tüftlergenie, das auf dem Stand der 80er Jahre
stehengeblieben ist (war damals ja alles so schön einfach) von Usern,
die sich mit heutigen Systemen auskennen.
Ich habe mal CP/M-Computer gebaut und programmiert, aber ich bilde mir
nicht ein dass ich heute damit jemand beeindrucken kann. Aber wenn deine
irrelevanten Anmerkungen deinem Ego guttun...
Georg
Lothar schrieb:> Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine> bootfähige Partition installieren und Debian auf eine nicht-bootfähige> Partition - und dann unter Windows dieses Debian direkt starten?
Das geht, allerdings bräuchte Windows dann einen "Debian-Treiber", was
im Endeffekt nicht viel anderes sein dürfte, als ein Emulator.
https://docs.microsoft.com/de-de/windows/wsl/install-win10
Und man kann und sollte auch fragen: Warum kann man keine Dos-Programme
mehr unter Windows 10 starten. Warum braucht man DOSBox o.ä. ?
Bei den älteren (32-Bit) Windows-Versionen war noch der Intel
Virtual-Mode mit in das System hineingestrickt:
https://de.wikipedia.org/wiki/Virtual_8086_Mode
Lothar schrieb:> Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine> bootfähige Partition installieren und Debian auf eine nicht-bootfähige> Partition - und dann unter Windows dieses Debian direkt starten?
Kann man.
Auf dem PC kann aber nur ein Betriebssystem die reale Maschine regieren.
Bei IBMs Systemen z und p kann weiter unten als beim PC die Hardware
aufgeteilt werden, bei x86 nicht.
Im VMware Workstation kann aber die Disk einer VM auch auf einer realen
Disk/Partition liegen, an Stelle des üblichen Containerfiles. Inwieweit
andere Hypervisor das unterstützen weiss ich nicht.
Das Zweitsystem kann dann auch wahlweise im VMware des Erstsystem
gestartet werden, oder aber eigenständig per Bootmanager als Dual-Boot.
Nur muss das Zweitsystem in diesem Fall damit leben können, je nach
Boot-Methode in zwei sehr verschiedenen Hardware-Konfigurationen zu
laufen: der echten Hardware bei Dual-Boot, und der virtualisierten als
VM.
Dualboot ist nicht wirklich praktikabel. Beim Starten muss man sich
entscheiden was man machen will und warum.
Viele Programme gibt es mitterweile für beide Plattformen.
ich würde eine Virtualisierung empfehlen. Virtualbox, VMware oder das
was inzwischen direkt in Windows integriert ist.
Man muss sich nur entscheiden, was man bootet und was dann virtualisiert
wird.
OK, man braucht mehr RAM als beim Dualboot, so kann man aber beide
Systeme (oder sogar mehr!) gleichzeitig laufen lassen und auch
miteinander kommunizieren lassen.
Oliver S. schrieb:> Dualboot ist nicht wirklich praktikabel. Beim Starten muss man sich> entscheiden was man machen will und warum.
Wobei Firmware-Updates von PC-Komponenten heute mitunter ausschliesslich
für Windows angeboten werden, nicht mehr per ISO/EFI Bootmedium.
Beispielsweise Komponenten von Thunderbolt betreffend. Da kann es
perfiderweise notwendig sein, allein dafür Windows vorzuhalten.
Schenker kämpft gerade mit der Auslieferung von reinen Linux-Notebooks
(für Tuxedo), bei denen genau dies der Fall ist.
Oliver S. schrieb:> Dualboot ist nicht wirklich praktikabel.
Kommt darauf an.
Man hat auch durchaus mehr Systeme als nur 2. Also Triple boot oder was
auch immer. ;-)
> ich würde eine Virtualisierung empfehlen.
Das eine schließt das andere ja nicht aus. Win habe ich z.B.
ausschließlich in virtuellen Maschinen. Linux habe ich in verschiedenen
Derivaten als Multiboot.
> OK, man braucht mehr RAM als beim Dualboot,
Eben, das ist das Problem. OK, man kann mehr Ram kaufen. Bei älteren MB
geht das aber nicht mehr. Zum längeren Arbeiten bevorzuge ich deshalb
das booten mit dem eigentlichen Arbeitssystem.
Andreas B. schrieb:> Eben, das ist das Problem. OK, man kann mehr Ram kaufen. Bei älteren MB> geht das aber nicht mehr.
Bei neueren Notebooks auch nicht, weil mittlerweile oft als LPDDR4-4266
eingelötet statt gesockelt. Und da wird die Luft oft dünn und teuer,
wenn man mehr als 16 GB haben will.
Lothar schrieb:> Gibt es denn ein Tool, um unter Windows grub neu zu schreiben, so dass> Debian wieder startet? Habe gelesen, dann ist Reperatur mit Live-System> erforderlich.
Während man bei Dual-Boot meist den Grub vorschaltet, soll das auch über
den Windows-Bootmanager machbar sein. Vor zig Jahren hatte ich über
diesen Mechanismus Linux gestartet. Zwischenzeitig hat sich aber dessen
Konfigurationweise geändert: per BCDEDIT (Kommandozeile) oder diversen
GUI-Verbrämungen.
Der Linux-Bootmanager muss dann natürlich in die Partition, nicht den
MBR.
Oliver S. schrieb:> Dualboot ist nicht wirklich praktikabel.
Also Dualboot ist weitaus praktikabler als VM, aber nach letzterem hat
der Threadstarter ja nicht gefragt.
Wenn alles unter einer VM ohne nennenswerte Perfomanceeinbußen laufen
soll, ist der Aufwand schon sehr hoch.
Man braucht bspw. eine zweite GPU, die man dediziert der VM zuweisen
kann.
DIN-Löter schrieb im Beitrag #6506148:
> Erst> WinNT war eigenständig und dann dort DOS nur wegen der> Programmkompatibilität implementiert.
Die Eingabeauforderung ist kein DOS und Programme die darin laufen
funktionieren nur mit erheblichen Einschränkungen.
Direkten Zugriff auf die HW gibt es in der Regel darin nicht, das wird
vom NT Kernel alles abgefangen.
Die Bootquellen im Bios einzustellen, war ja vor UEFI auch kein großes
Problem, dann konnte man sich z.B. einen Linux-Usb-Stick erstellen, und
von Usb booten - vorausgesetzt, das Mainboard bzw. der Compi kann das
schon.
Jetzt kann man zumindest von Windows aus neu in das andere System bzw.
bootfähige Medium neustarten (per Shift-Taste + linkes Mausmenü auf dem
Datenträger)(glaube ich) - dazu muss man aber erstmal Windows booten.
Auf einem älteren Rechner starte ich grundsätzlich ein Linux von CD,
welches im alternativen Boot-Angebot hat, von der lokalen Festplatte zu
booten.
rbx schrieb:> Shift-Taste + linkes Mausmenü
Shift + rechtes Mausmenü passt eher.
Umgekehrt ist auch ganz nett: Wenn Skyrim in Linux/Wine abstürzt bzw.
festhängt, dann braucht man nur die Windowstaste drücken, dann ist das
Spiel im Fenstermodus, und man kann was in die Konsole eingeben.
Typischerweise xkill.
Lothar schrieb:> Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine> bootfähige Partition installieren und Debian auf eine nicht-bootfähige> Partition - und dann unter Windows dieses Debian direkt starten?
Vielleicht habe ich missverständlich formuliert: Ich frage nach einem
Windows Programm oder Skript, das in der aktiven Windows Partition Boot
deaktiviert und in der nicht aktiven Debian Partition Boot aktiviert und
dann neu startet, was dann doch dazu führen sollte, das Debian startet.
Und dasselbe für Debian nach Windows.
Du scheinst zu glauben, daß das OS gebootet wird, dessen Bootflag
gesetzt ist.
Dem ist nicht so. Das Bootflag gibt lediglich an, daß diese Partition
grundsätzlich bootfähig ist.
Um das zu bootende OS auszuwählen gibt es: (Überraschung) Bootmanager.
Lothar schrieb:> Vielleicht habe ich missverständlich formuliert: Ich frage nach einem> Windows Programm oder Skript, das in der aktiven Windows Partition Boot> deaktiviert und in der nicht aktiven Debian Partition Boot aktiviert und> dann neu startet, was dann doch dazu führen sollte, das Debian startet.> Und dasselbe für Debian nach Windows.
Hast du einen UEFI fähigen Rechner? Dann kannst du das über den
eingebauten Bootmanager realisieren. Dazu muss aber Windows und Linux
eine UEFI Installation sein.
Linux und Windows haben beide Zugriff auf die UEFI Variable "BootOrder".
Einfach im jeweiligen OS "BootOrder" auf den jeweilig anderen
Booteintrag umstellen. Neustarten, das andere OS bootet. Falls man nur
einmal was anderes booten will, dann kann die Variable "BootNext"
verwendet werden. Nach einem Neustart bootet der Rechner einmal den in
"BootNext" eingetragenen "Bootloader" (eigentlich ist es die Nummer der
Boot#### Variable die eingestellt wird, welche wiederum den Pfad zum
Bootloader etc. enthält). Beim nächsten Boot wird wieder die Reihenfolge
in "BootOrder" verwendet.
Bei Legacy (oder CSM) Installationen ist das nicht so einfach, da es
kein Intferface für UEFI Variablen gibt.
Lothar schrieb:> Lothar schrieb:>> Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine>> bootfähige Partition installieren und Debian auf eine nicht-bootfähige>> Partition - und dann unter Windows dieses Debian direkt starten?>> Vielleicht habe ich missverständlich formuliert: Ich frage nach einem> Windows Programm oder Skript, das in der aktiven Windows Partition Boot> deaktiviert und in der nicht aktiven Debian Partition Boot aktiviert und> dann neu startet, was dann doch dazu führen sollte, das Debian startet.> Und dasselbe für Debian nach Windows.
Grub 2 gibt's wohl auch für Windows.
https://sourceforge.net/projects/grub2win/
Du könntest dir also ein Skript schreiben, dass wahlweise unter Windows,
oder wenn du unter Linux bist, unter Linux grub mit den passenden
Parametern und Config aufruft und den Bootsektor dann immer neu
schreibt.
Bei Kernelupdates musst du dann halt noch den Dateinamen an das Kernel
Image anpassen.
Also gehen tut das schon, nur wozu willst du ständig deinen Bootsektor
umschreiben?
Das ist irgendwie mit dem Pfeil durchs Auge um dann am Bauchnabel wieder
rauszukommen.
Debian mit Grub installieren, Windows in eine VHD einsperren. Ergebnis:
Beide OS können nativ laufen und ganz nebenbei funktioniert das
"beliebte" Feature-Upgrade nur noch dann, wenn man es will.
Lothar schrieb:> APP die unter RISC OS uboot ins RAM lädt und dann diese RAM-Adresse auf> die Boot-Flash Adresse umbiegt und somit mit einem Klick aus RISC OS> Debian direkt startet
Habe inzwischen eine APP für Raspberry Pi gefunden, die aus RISC OS
Raspbian direkt startet. Und ein Pi hat ja gar keinen Boot-Flash.
Versuche grade den Code zu verstehen. Vielleicht wird einfach in der
FAT-Start-Partition das Kernel Image überschrieben?
https://github.com/caliston/ro-bootlinux/blob/master/README.txt
Andreas B. schrieb:> Wie kommt man jetzt plötzlich von Windows auf einen Raspi?
Es hatte ja mal damit angefangen :-)
Lothar schrieb:> habe nämlich hier ein industrielles ARM-Board
Lothar schrieb:> Lothar schrieb:>> APP die unter RISC OS uboot ins RAM lädt und dann diese RAM-Adresse auf>> die Boot-Flash Adresse umbiegt und somit mit einem Klick aus RISC OS>> Debian direkt startet>> Habe inzwischen eine APP für Raspberry Pi gefunden, die aus RISC OS> Raspbian direkt startet. Und ein Pi hat ja gar keinen Boot-Flash.> Versuche grade den Code zu verstehen. Vielleicht wird einfach in der> FAT-Start-Partition das Kernel Image überschrieben?>> https://github.com/caliston/ro-bootlinux/blob/master/README.txt
Da werden weder irgendwelche RAM Adressen auf "Boot-Flash" Adressen
umgebogen noch wird da in einem Bootsektor von der Fat rumgeschrieben.
(als ob den BCM irgend ein Bootsektor in einer Fat interessieren würde)
Es wird einfach der Linux Kernel und die Initrd aus dem Dateisystem ins
RAM geladen, das Risc OS komplett angehalten, die Peripherie soweit
notwendig zurückgesetzt und dann die Kontrolle an den Start-Code des
Linux Kernel übergeben. Fertig. Das funktioniert auch nur deswegen mit
so wenig Code, weil RiscOS sehr ähnlich wie DOS oder Win3.11
funktioniert.
Ein klassischer Bootloader arbeitet im Real Mode wie DOS. Wenn Windows
einmal aktiv ist, ist dieser Modus Geschichte, kann ohne Reset nicht
wiederhergestellt werden. Das eine Spezialität von x86 und der über 40
Jahre alten Geschichte geschuldet.
Andreas M. schrieb:> als ob den BCM irgend ein Bootsektor in einer Fat interessieren würde
Das nicht, aber in der FAT-Partition ist ja BOOTCODE.BIN und START.ELF
und KERNEL.IMG
Ein "Update" von RISC OS erfolgt, in dem unter RISC OS vom Nutzer das
KERNEL.IMG mit dem neuen Kernel überschrieben und dann neu gestartet
wird.
Und es sollte genau so gehen, das KERNEL.IMG mit dem Raspbian Kernel zu
überschreiben und neu zu starten.
Aber wenn es so geht, wie Du erklärt hast, ist das natürlich besser:
> der Linux Kernel und die Initrd aus dem Dateisystem ins RAM geladen
Lothar schrieb:> Warum kann man auf einem PC nicht - anstatt Dual-Boot - Win 10 auf eine> bootfähige Partition installieren und Debian auf eine nicht-bootfähige> Partition - und dann unter Windows dieses Debian direkt starten?
Weil das nicht geht.
Was allerdings geht: das Debian aus dem Windows-Bootmenü heraus zu
starten. Genau wie es umgekehrt geht, ein Windows aus einem
Linux-Bootmenü heraus zu starten.
Oder auch: beides aus dem UEFI-Bootmenü, wenn man sich denn UEFI antun
will, was allerdings wohl mittelfristig die einzig verbleibende Wahl
sein wird...
c-hater schrieb:> Was allerdings geht: das Debian aus dem Windows-Bootmenü heraus zu> starten. Genau wie es umgekehrt geht, ein Windows aus einem> Linux-Bootmenü heraus zu starten.
Das böse Wort "Bootmanager" hast Du dabei geschickt verschwiegen. ;-)