[solved] Windows 7 erstellt ungefragt UEFI-Bootentries



  • Ich habe hier auf einem Rechner mit UEFI Ubuntu und Windows 7 installiert. Beide booten ohne Schwierigkeiten via UEFI.

    Windows hat zunaechst leider einen kaputten UEFI-Entry fuer den Windows Boot Manager geschrieben, den ich aber geloescht und mit efibootmgr von Ubuntu aus folgendermaszen ersetzt habe:

    efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature \
               --label 'Windows Boot Manager' --loader '\EFI\Microsoft\Boot\bootmgfw.efi'
    

    Das funktioniert so weit auch wunderbar. Nur: Windows erstellt aus irgendeinem Grund bei jedem Boot einen zweiten, kaputten Eintrag (falsche Disk).

    Hat irgendjemand eine Ahnung, wie sich dieses Verhalten abstellen laesst bzw. wo ich die Parameter, mit denen dieser Eintrag von Windows erstellt wird, konfigurieren kann?

    Sorry falls das eine DAU-Frage ist, aber das ist mein erstes eigenes Windows seit langem und offenbar habe ich nicht nach den richtigen Begriffen gegoogelt.



  • Versuch mal in den Systemeinstellungen -> Erweitert -> Starten und Wiederherstellen die boot einstellungen zu ändern. Falls das nicht klappt dann manuell über konsole?



  • Disclaimer: Ich habe (noch) keine Ahnung von UEFI, mein erstes System damit wird eben erst aufgebaut, von daher kann mein Beitrag vollkommener Schwachsinn sein.

    Steht zufälligerweise in der boot.ini was von dem Eintrag zu der Platte drin? Eigentlich, so mein Verständnis bisher, sollte die boot.ini von dem ganzen UEFI Zeugs ignoriert werden, aber hey, siehe Disclaimer.



  • Danke, werde ich mir am Abend beides ansehen.

    gastantwort: Habe gerade nur via SSH Zugang zum GNU/Linux auf dem Rechner, kann deinen Tip daher noch nicht ausprobieren. (Wobei ich glaube, mich dunkel zu erinnern, dass man darueber nur die Booteintraege im Windows Boot Manager verwalten kann, die mir ja egal sind weil sie ohnehin passen. Aber sehe ich mir auf alle Faelle noch an.)

    Tim: War die nicht frueher einfach unter C:\boot.ini oder so zu finden? Wenn ich das Windows-Dateisystem mounte und find /mnt/windowspartition -iname boot.ini mache, dann bekomme ich keinen einzigen Treffer.



  • nman schrieb:

    Tim: War die nicht frueher einfach unter C:\boot.ini oder so zu finden? Wenn ich das Windows-Dateisystem mounte und find /mnt/windowspartition -iname boot.ini mache, dann bekomme ich keinen einzigen Treffer.

    die boot.ini gibt es auch nicht mehr, seit mit Vista der nt-loader entfernt wurde

    lad dir mal easybcd runter (freeware). Damit kannst du die Einträge des Windows-Bootmanagers einsehen und bearbeiten (gibt auch systemtools, die sind nur nicht ganz so komfortabel)
    Evtl schiebt der das auch jedesmal ins uefi



  • zwutz schrieb:

    lad dir mal easybcd runter (freeware). Damit kannst du die Einträge des Windows-Bootmanagers einsehen und bearbeiten (gibt auch systemtools, die sind nur nicht ganz so komfortabel)
    Evtl schiebt der das auch jedesmal ins uefi

    Die Windows-Bootmanager-Eintraege sind aber in meinem Fall doch nicht so spannend, oder?

    Ich habe derzeit folgende UEFI-Entries:

    ~ % sudo efibootmgr
    BootCurrent: 0003
    Timeout: 1 seconds
    BootOrder: 0003,0002,0000,0004
    Boot0000* CD/DVD Drive
    Boot0002* Windows Boot Manager
    Boot0003* ubuntu
    Boot0004* Hard Drive
    

    Der Windows-Bootmanager kann nur Windows booten (einziger Bootmanager-Eintrag) und Grub kennt ebenfalls nur Ubuntu und sonst nichts. Was fuer Eintraege der Windows Boot Manager und Grub also jeweils haben, ist mir eigentlich egal.

    Ich moechte nur verhindern, dass Windows selbst einen zweiten Windows Boot Manager als UEFI-Application hinzufuegt. Oder eben selbigen so konfigurieren, dass UEFI zumindest die richtigen Daten bekommt; aktuell fuegt Windows naemlich einen Eintrag hinzu, mit dem der Windows Boot Manager gar nicht erst geladen wird, weil die falsche Disk angegeben wird.

    Die EasyBCD-FAQ meint uebrigens, dass EasyBCD keinen EFI-Support hat und ein paar Forenthreads da drauszen erzaehlen ziemliche Gruselgeschichten zu EasyBCD auf UEFI-Systemen. 🙂



  • Ah, wobei das hier potentiell interessant aussieht, das werde ich mir am Abend auch noch ansehen:

    http://blogs.technet.com/b/askcore/archive/2011/05/31/installing-windows-7-on-uefi-based-computer.aspx

    Danke jedenfalls allen hier schonmal; gut zu wissen, dass ich nicht der einzige bin, fuer den UEFI immer noch eher Neuland ist. 🙂



  • gastantwort schrieb:

    Versuch mal in den Systemeinstellungen -> Erweitert -> Starten und Wiederherstellen die boot einstellungen zu ändern.

    Da sind nur die Optionen des Bootmanagers selbst gelistet. Nichts zu UEFI.

    Falls das nicht klappt dann manuell über konsole?

    Irgendwelche bestimmten Tips? Haette jetzt einfach mal mit dem hier herumgespielt:
    http://technet.microsoft.com/en-us/library/cc749510(v=ws.10).aspx



  • Ok, mit ein bisschen Trial & Error Commandline-Gebastle jetzt geloest. Vielleicht geht das folgende eh auch mit GUI, habe aber nichts gefunden.

    UEFI-Applications lassen sich mit bcdedit /enum firmware auflisten. Windows erkennt den eigenen Bootmanager offenbar nur an Extra-Attributen (BCDOBJECT + Binaerdaten im wesentlichen), die efibootmgr natuerlich nicht schreibt.

    Mein funktionierender selbstgeschriebener Eintrag hat ein device-Attribut, selbiges wird aber beim von Windows erstellten Eintrag nicht explizit angegeben.

    Also Windows den kaputten UEFI-Eintrag schreiben lassen und den dann einfach folgendermaszen noch um das passende device-Attribut ergaenzen:

    bcdedit /set {bootmgr} device partition=\Device\HarddiskVolume1
    

    Dann noch meinen via efibootmgr selbstgeschriebenen Eintrag geloescht und als Standard-Boot-Application wieder Ubuntu festgelegt. Funktioniert alles wunderbar. 🙂


Anmelden zum Antworten