Multiboot Installationen

Hier ist die Work-in-Pogress Zone für alles Nichtallgemeine sondern Konkrete an Vorarbeiten für die kommenden UEFI-Wiki-Artikel
Forumsregeln
Alles was konkrete Vorarbeiten zu den geplanten UEFI bezogenen Wiki-Artikeln angeht und keine allgemeine Infos sondern eben genauere Arbeitsschritte, detaliertere Anleitungen, aufgetauchte Probleme, Workarounds um eben diese etc. darstellt bitte hier reinsetzen.

Multiboot Installationen

Beitragvon Robi » Do 12. Feb 2015, 21:38

Wie sieht das Ganze aus, wenn wir mehrere Linux Installationen auf der selben Platte machen, und wenn wir mehrere Platten mit verschiedenen Linux-Installationen machen. (Eventuell wer eine funktionierende Windows 8.1 Install DVD hat auch mit Windows)
Wir sollten ein paar Wege ausarbeiten wie man zu einer sauberen Multibootkonfiguration kommt,
Einmal auswählbar/konfigurierbar aus dem UEFI-Menu bzw von Linux aus mittels efibootmgr und auch Verzweigbar über einen Bootloader, grub2 wird wohl hier die Wahl sein.

Tests, Problem, Lösungswege, Howtos, zu diesem Thema bitte in diesen Thread.

robi
Robi
 
Beiträge: 68
Themen: 10
Registriert: So 15. Feb 2015, 16:02

Re: Multiboot Installationen

Beitragvon linuxfreund » Do 12. Mär 2015, 22:23

Dual-Boot Linux mit vorinstalliertem Windows8:

(Bereits hier (http://forum.linux-club.de/viewtopic.php?f=89&t=119768&start=20#p762090) gepostet.)

Hier nochmal meine Erfahrung in Zusammenhang mit UEFI/Windows8 und openSUSE13.x:

1. openSUSE Version in 64bit runterladen (32bit funktioniert nicht!)
(Evtl. gibts das 32/64bit Problem seit Kernel 3.15 nicht mehr?? Lest selbst: http://www.heise.de/newsticker/meldung/Linux-Kernel-3-15-verbessert-UEFI-und-ACPI-Unterstuetzung-2210500.html)
2. Secure Boot vorab im UEFI-Bios ausschalten
3. Bootreihenfolge im UEFI-Bios ändern (CD/DVD bzw USB zuerst booten)
4. Schnellstart in Windows8 und UEFI-Bios deaktivieren (kann man auch nach der installation noch machen) --> ist nötig bei gemeinsamer Nutzung von Partitionen durch Windows und Linux, da es sonst zu Fehlern kommen wird. Ansonsten egal.
5. openSUSE DVD im UEFI und nicht im Legacy Modus booten!
6. Installationsroutine in openSUSE Punkt für Punkt durchgehen (ist sehr benutzerfreundlich und einfach zu verstehen)
7. Grub2 wird automatisch durch den Boot im UEFI-Modus von openSUSE in die entsprechend korrekte Partition installiert... nichts ändern!
8. Bei der Übersicht der Einstellungen vor der eigentlichen Installation "secure-boot=true" setzen damit eine Secure-Boot-Unterstützung mit installiert wird.
9. Installation starten und beenden.
10. Rechner neu starten.. jetzt sollte Grub2 mit Windows8 und openSUSE als Option erscheinen und beides sollte funktionieren.
11. Wiederholter Neustart: Im UEFI-Bios Secure-Boot wieder aktivieren
12. openSUSE starten... wenn Secure Boot Unterstützung funktioniert= Toll, andernfalls wieder ins UEFI-Bios und Secure-Boot abschalten= auch nicht weiter tragisch
13. In Windows booten und sicherheitshalber die Anleitung http://www.opensuse-forum.de/allgemeines/tutorials-howtos/10895-den-grub2-bootloader-in-opensuse-13-1-mit-dualsystem-wieder-herstellen/ --> Post Nr.4! durchlesen und entsprechende Schritte in Windows8 durchführen. --> Verhindert das Windows8 den Bootloaderpfad bei Updates überschreibt und Grub2 verschwindet!

.. Das wars!

Hat auf meinen beiden UEFI-Computern (siehe Signatur) funktioniert!

HP Pavilion: Intel Quad-Core i5-4440 3.10 GHz, NVIDIA Geforce 640 GT, 12 GB RAM, 1TB HDD
Sony Vaio SVF-15N2L2ES: Intel Core i5 1.60 GHz, 508 GB HDD, 4 GB DDR3-RAM, Intel HD Graphics 4400
Beide openSUSE13.1(Desktop), openSUSE13.2(Laptop) + Windows8.1

Benutzeravatar
linuxfreund
 
Beiträge: 62
Registriert: Mo 9. Mär 2015, 21:25

Re: Multiboot Installationen

Beitragvon Robi » Fr 20. Mär 2015, 21:26

Für Multiboot Tests können wir auf VM mit den OVMF-Bios hervorragende die "Windows10 TechnicalPreview" hernehmen. Nette Spionageschleuder aber für unsere Zwecke vollkommen ausreichend. Orginalverhalten bei Secureboot bekommen wir problemlos hin.
Wer damit spielen möchte- Links und Installhinweise für qemu + ovmf gäbe es bei Bedarf per PN von mir.

robi
Robi
 
Beiträge: 68
Themen: 10
Registriert: So 15. Feb 2015, 16:02

Re: Multiboot Installationen

Beitragvon Robi » Sa 21. Mär 2015, 20:36

TEST: Windows10 und Opensuse13.1 auf einer Platte

Vorgehen:
* Windows default Installtion im Secure Boot
* in Windows Platte C: um 16GB verkleinert um Platz für Linux zu schaffen
* Secure Boot vorsichtshalber mal ausgeschaltet
* von OpenSuse Install DVD gebootet
* Installation : nur Partitionierung etwas angepasst, (home kleiner und root größer) Bootloader ausgewählt grub2(efi) + "Secure Boot", und den Vorschlag "irgenwas" nach /boot/efi einzuhängen, sollte man auch unbedingt beherzigen und nicht etwa wegkonfigurieren
* nach Installation bleibt System bei reboot stehen ( aber bekanntes und erwartetes Problem wegen offenen nfs )
* desshalb hier an dieser Stelle manueller Reset ausgeführt
* hier bin ich dann erstmal in die EFI-Shell zum nachschauen was im Bootloaderumfeld jetzt eingetragen ist. Es war in den Bootoptionen von EFI noch nichts eingetragen was Grub2 oder Shim von der Platte booten würde. die Grub-Konfiguration und die EFI-Dateien dafür waren aber schon unter "\EFI\opensuse\" vorhanden
* Secure Boot wieder eingeschalten
* ich habe "\EFI\opensuse\shim.efi" per Shell gestartet ( eventuell wäre hier besser gewesen nochmal von DVD zu starten, und von dort "Starten von HD", der Nomaluser hätte hier auch keine andere Chance gehabt)
* Opensuse startet und macht Installation fertig.

Schauen was im System los ist:
Code: Alles auswählen
linux-ufqr:~ # efibootmgr -v
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0009,0000,0001,0002,0003,0004,0005
Boot0000* EFI Hard Drive 1      ACPI(a0341d0,0)PCI(1,1)ATAPI(1,0,0)
Boot0001* EFI DVD/CDROM ACPI(a0341d0,0)PCI(1,1)ATAPI(0,0,0)
Boot0002* EFI Floppy    ACPI(a0341d0,0)PCI(1,0)ACPI(60441d0,0)
Boot0003* EFI Floppy 1  ACPI(a0341d0,0)PCI(1,0)ACPI(60441d0,1)
Boot0004* EFI Hard Drive        ACPI(a0341d0,0)PCI(1,1)ATAPI(0,1,0)
Boot0005* EFI Internal Shell    MM(b,900000,10fffff)
Boot0009* Windows Boot Manager  HD(2,96800,31800,663a220a-5b4e-474d-832f-a969d8334cb4)File(\EF
I\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.
d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...o................
linux-ufqr:~ # ls -l /boot/efi/EFI/opensuse/
total 3565
-rwxrwxr-x 1 root root 1257800 Mar 21 01:19 MokManager.efi
-rwxrwxr-x 1 root root     125 Mar 21 01:19 grub.cfg
-rwxrwxr-x 1 root root  887416 Mar 21 01:19 grub.efi
-rwxrwxr-x 1 root root  121344 Mar 21 01:19 grubx64.efi
-rwxrwxr-x 1 root root 1380424 Mar 21 01:19 shim.efi
also immer noch keine EFI-Booteintrag für Opensuse da. ( eventuell wäre dieses aber dann erfolgt, wenn ich von DVD gestartet hätte, dieses müsste das nächste Mal überprüft werden)

Code: Alles auswählen
linux-ufqr:~ # df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda6       10187064 4648176   4998372  49% /
devtmpfs         1964928      32   1964896   1% /dev
tmpfs            1977660      76   1977584   1% /dev/shm
tmpfs            1977660    3396   1974264   1% /run
tmpfs            1977660       0   1977660   0% /sys/fs/cgroup
tmpfs            1977660    3396   1974264   1% /var/run
tmpfs            1977660    3396   1974264   1% /var/lock
/dev/sda2          97280   29538     67742  31% /boot/efi
/dev/sda7        3788736   20816   3555748   1% /home
linux-ufqr:~ # cat /proc/partitions
major minor  #blocks  name

   8        0   67108864 sda
   8        1     307200 sda1
   8        2     101376 sda2
   8        3     131072 sda3
   8        4   50183168 sda4
   8        5    1985536 sda5
   8        6   10482688 sda6
   8        7    3915776 sda7
   8       16     132500 sdb
   8       17     131072 sdb1
   2        0          4 fd0
  11        0    4465664 sr0

nur zur INFO: Die Platte sdb ist hier ein USB-Image das nicht zum eigentlichen System gehört, (nur meine Hilfstools und Keys für die EFI-Shell)
Den Booteintrag für Opensuse habe ich per Hand angelegt und zwar nur einen auf shim.efi
Code: Alles auswählen
 OpenSuser:~ # efibootmgr -c -d /dev/sda -p 2  -l "\\EFI\\opensuse\\shim.efi" -L OpenSuse
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0006,0009,0000,0001,0002,0003,0004,0005
Boot0000* EFI Hard Drive 1
Boot0001* EFI DVD/CDROM
Boot0002* EFI Floppy
Boot0003* EFI Floppy 1
Boot0004* EFI Hard Drive
Boot0005* EFI Internal Shell
Boot0006* OpenSuse
Boot0009* Windows Boot Manager
linux-ufqr:~ # efibootmgr -v
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0006,0009,0000,0001,0002,0003,0004,0005
Boot0000* EFI Hard Drive 1      ACPI(a0341d0,0)PCI(1,1)ATAPI(1,0,0)
Boot0001* EFI DVD/CDROM ACPI(a0341d0,0)PCI(1,1)ATAPI(0,0,0)
Boot0002* EFI Floppy    ACPI(a0341d0,0)PCI(1,0)ACPI(60441d0,0)
Boot0003* EFI Floppy 1  ACPI(a0341d0,0)PCI(1,0)ACPI(60441d0,1)
Boot0004* EFI Hard Drive        ACPI(a0341d0,0)PCI(1,1)ATAPI(0,1,0)
Boot0005* EFI Internal Shell    MM(b,900000,10fffff)
Boot0006* OpenSuse      HD(2,96800,31800,663a220a-5b4e-474d-832f-a969d8334cb4)File(\EFI\opensuse\shim.efi)
Boot0009* Windows Boot Manager  HD(2,96800,31800,663a220a-5b4e-474d-832f-a969d8334cb4)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E
.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...o................


Nachschauen was für default Booteinträge vorhanden sind und welche man gegebenenfalls entfernen kann, vielleicht auch sollte.
Code: Alles auswählen
linux-ufqr:~ # ls /boot/efi/EFI/
Boot/      Microsoft/    opensuse/ 
linux-ufqr:~ # ls /boot/efi/EFI/Boot/
bootx64.efi
linux-ufqr:~ # find /boot/efi -name bootx64.efi -ls
    24 1616 -rwxrwxr-x   1 root     root      1654600 Jan 20 12:46 /boot/efi/EFI/Boot/bootx64.
efi

Es ist also hier ein Default Bootloader auf der Platte vorhanden, Ich denke der hat mindestens in einer Multibootkonfiguration nichts mehr zu suchen. Den legt Microsoft per default an, um auch noch bei einer zerstörten EFI Bootkonfiguration Windows zu starten. Allerdings ist das Internet voll mit Problemen mit diesem Eintrag. Ich habe überprüft ob es sich wirklich um eine Kopie des Windows-Bootmanager handelt und dann diesen Bootloader gelöscht
Code: Alles auswählen
linux-ufqr:~ # find /boot/efi -name "*.efi" -ls
   239 1616 -rwxrwxr-x   1 root     root      1654600 Jan 20 12:46 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
   240 1605 -rwxrwxr-x   1 root     root      1643472 Jan 20 12:46 /boot/efi/EFI/Microsoft/Boot/bootmgr.efi
   287 1495 -rwxrwxr-x   1 root     root      1530320 Jan 20 12:47 /boot/efi/EFI/Microsoft/Boot/memtest.efi
    24 1616 -rwxrwxr-x   1 root     root      1654600 Jan 20 12:46 /boot/efi/EFI/Boot/bootx64.efi
    18 1349 -rwxrwxr-x   1 root     root      1380424 Mar 21 01:19 /boot/efi/EFI/opensuse/shim.efi
    19 1229 -rwxrwxr-x   1 root     root      1257800 Mar 21 01:19 /boot/efi/EFI/opensuse/MokManager.efi
    20  867 -rwxrwxr-x   1 root     root       887416 Mar 21 01:19 /boot/efi/EFI/opensuse/grub.efi
    22  119 -rwxrwxr-x   1 root     root       121344 Mar 21 01:19 /boot/efi/EFI/opensuse/grubx64.efi
linux-ufqr:~ # md5sum /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
e2f5112aec3a2bdc5f267c18f8a6c071  /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
linux-ufqr:~ # md5sum /boot/efi/EFI/Boot/bootx64.efi
e2f5112aec3a2bdc5f267c18f8a6c071  /boot/efi/EFI/Boot/bootx64.efi
linux-ufqr:~ # rm /boot/efi/EFI/Boot/bootx64.efi

Auch die Beiden default Booteinträge für die Platte sda und sdb habe ich entfernt
Code: Alles auswählen
linux-ufqr:~ # efibootmgr -b 0 -B
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0006,0009,0001,0002,0003,0004,0005
Boot0001* EFI DVD/CDROM
Boot0002* EFI Floppy
Boot0003* EFI Floppy 1
Boot0004* EFI Hard Drive
Boot0005* EFI Internal Shell
Boot0006* OpenSuse
Boot0009* Windows Boot Manager
linux-ufqr:~ #
linux-ufqr:~ # efibootmgr -b 4 -B
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0006,0009,0001,0002,0003,0005
Boot0001* EFI DVD/CDROM
Boot0002* EFI Floppy
Boot0003* EFI Floppy 1
Boot0005* EFI Internal Shell
Boot0006* OpenSuse
Boot0009* Windows Boot Manager


Die Grub-Konfiguration die automatisch angelegt wurde.
Code: Alles auswählen
linux-ufqr:~ # cat /boot/efi/EFI/opensuse/grub.cfg
search --fs-uuid --set=root bada1a43-ae88-48ae-9889-fd78467f9579
set prefix=(${root})/boot/grub2
configfile $prefix/grub.cfg
linux-ufqr:~ # cat /boot/grub2/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt6'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6  bada1a43-ae88-48ae-9889-fd78467f9579
else
  search --no-floppy --fs-uuid --set=root bada1a43-ae88-48ae-9889-fd78467f9579
fi
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_DE
  insmod gettext
fi
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root='hd0,gpt6'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6  bada1a43-ae88-48ae-9889-fd78467f9579
else
  search --no-floppy --fs-uuid --set=root bada1a43-ae88-48ae-9889-fd78467f9579
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=8
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE 13.1' --class 'opensuse-13-1' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bada1a43-ae88-48ae-9889-fd78
467f9579' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6  bada1a43-ae88-48ae-9889-fd78467f9579
        else
          search --no-floppy --fs-uuid --set=root bada1a43-ae88-48ae-9889-fd78467f9579
        fi
        echo    'Linux 3.11.6-4-desktop wird geladen …'
        linuxefi /boot/vmlinuz-3.11.6-4-desktop root=UUID=bada1a43-ae88-48ae-9889-fd78467f9579 ro   resume=/dev/disk/by-id/ata-EMU_HARDDISK_QM00002-part5 splash=silent quiet showopts
        echo    'Initiale Ramdisk wird geladen …'
        initrdefi /boot/initrd-3.11.6-4-desktop
}
submenu 'Erweiterte Optionen für openSUSE 13.1' $menuentry_id_option 'gnulinux-advanced-bada1a43-ae88-48ae-9889-fd78467f9579' {
           menuentry 'openSUSE 13.1, mit Linux 3.11.6-4-desktop' --class 'opensuse-13-1' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.6-4-desktop-advanced-bada1a43-ae88-48ae-9889-fd78467f9579' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                set root='hd0,gpt6'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6  bada1a43-ae88-48ae-9889-fd78467f9579
                else
                  search --no-floppy --fs-uuid --set=root bada1a43-ae88-48ae-9889-fd78467f9579
                fi
                echo    'Linux 3.11.6-4-desktop wird geladen …'
                linuxefi /boot/vmlinuz-3.11.6-4-desktop root=UUID=bada1a43-ae88-48ae-9889-fd78467f9579 ro   resume=/dev/disk/by-id/ata-QEMU_HARDDISK_QM00002-part5 splash=silent quiet showopts
                echo    'Initiale Ramdisk wird geladen …'
                initrdefi /boot/initrd-3.11.6-4-desktop
        }
        menuentry 'openSUSE 13.1, mit Linux 3.11.6-4-desktop (Wiederherstellungsmodus)' --class 'opensuse-13-1' --class gnu-linux --class gnu --class os $men
uentry_id_option 'gnulinux-3.11.6-4-desktop-recovery-bada1a43-ae88-48ae-9889-fd78467f9579' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                set root='hd0,gpt6'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6  bada1a43-ae88-48ae-9889-fd784
67f9579
                else
                  search --no-floppy --fs-uuid --set=root bada1a43-ae88-48ae-9889-fd78467f9579
                fi
                echo    'Linux 3.11.6-4-desktop wird geladen …'
                linuxefi /boot/vmlinuz-3.11.6-4-desktop root=UUID=bada1a43-ae88-48ae-9889-fd78467f9579 ro  showopts apm=off noresume edd=off powersaved=off n
ohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe
                echo    'Initiale Ramdisk wird geladen …'
                initrdefi /boot/initrd-3.11.6-4-desktop
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (auf /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-4250-0537' {
        insmod part_gpt
        insmod fat
        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  4250-0537
        else
          search --no-floppy --fs-uuid --set=root 4250-0537
        fi
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###
Also manchmal frage ich mich schon ersthaft was bei einer solchen Konfigurationsdatei in einem Entwicklerhirn vor sich geht. :twisted:

Und was sieht Windows für eine Bootkonfiguration
Code: Alles auswählen
C:\Windows\system32>bcdedit /enum all

Start-Manager für Firmware
--------------------------
Bezeichner              {fwbootmgr}
displayorder            {0a50b585-ce9d-11e4-ab31-00163e1c698d}
                        {bootmgr}
                        {94e4b67a-ce8b-11e4-9e2b-b59e390c8fcd}
                        {94e4b67b-ce8b-11e4-9e2b-b59e390c8fcd}
                        {94e4b67c-ce8b-11e4-9e2b-b59e390c8fcd}
                        {94e4b67e-ce8b-11e4-9e2b-b59e390c8fcd}
                        {94e4b679-ce8b-11e4-9e2b-b59e390c8fcd}
                        {94e4b67d-ce8b-11e4-9e2b-b59e390c8fcd}
timeout                 0

Windows-Start-Manager
---------------------
Bezeichner              {bootmgr}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  de-DE
inherit                 {globalsettings}
integrityservices       Enable
flightsigning           Yes
default                 {current}
resumeobject            {94e4b682-ce8b-11e4-9e2b-b59e390c8fcd}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {0a50b585-ce9d-11e4-ab31-00163e1c698d}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\opensuse\shim.efi
description             OpenSuse

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {94e4b679-ce8b-11e4-9e2b-b59e390c8fcd}
description             EFI Hard Drive

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {94e4b67a-ce8b-11e4-9e2b-b59e390c8fcd}
description             EFI DVD/CDROM

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {94e4b67b-ce8b-11e4-9e2b-b59e390c8fcd}
description             EFI Floppy

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {94e4b67c-ce8b-11e4-9e2b-b59e390c8fcd}
description             EFI Floppy 1

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {94e4b67d-ce8b-11e4-9e2b-b59e390c8fcd}
description             EFI Hard Drive 1

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {94e4b67e-ce8b-11e4-9e2b-b59e390c8fcd}
description             EFI Internal Shell

Windows-Startladeprogramm
-------------------------
Bezeichner              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows Technical Preview
locale                  de-DE
inherit                 {bootloadersettings}
recoverysequence        {94e4b684-ce8b-11e4-9e2b-b59e390c8fcd}
integrityservices       Enable
recoveryenabled         Yes
isolatedcontext         Yes
flightsigning           Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {94e4b682-ce8b-11e4-9e2b-b59e390c8fcd}
nx                      OptIn
bootmenupolicy          Standard

Windows-Startladeprogramm
-------------------------
Bezeichner              {94e4b684-ce8b-11e4-9e2b-b59e390c8fcd}
device                  ramdisk=[\Device\HarddiskVolume1]\Recovery\WindowsRE\Winre.wim,{94e4b685-ce8b-11e4-9e2b-b59e390c8fcd}
path                    \windows\system32\winload.efi
description             Windows Recovery Environment
locale                  de-DE
inherit                 {bootloadersettings}
displaymessage          Recovery
displaymessageoverride  Recovery
osdevice                ramdisk=[\Device\HarddiskVolume1]\Recovery\WindowsRE\Winre.wim,{94e4b685-ce8b-11e4-9e2b-b59e390c8fcd}
systemroot              \windows
nx                      OptIn
bootmenupolicy          Standard
winpe                   Yes


Wiederaufnahme aus dem Ruhezustand
----------------------------------
Bezeichner              {94e4b682-ce8b-11e4-9e2b-b59e390c8fcd}
device                  partition=C:
path                    \Windows\system32\winresume.efi
description             Windows Resume Application
locale                  de-DE
inherit                 {resumeloadersettings}
recoverysequence        {94e4b684-ce8b-11e4-9e2b-b59e390c8fcd}
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
filedevice              partition=C:
filepath                \hiberfil.sys
bootmenupolicy          Standard
debugoptionenabled      No

Windows-Speichertestprogramm
----------------------------
Bezeichner              {memdiag}
device                  partition=\Device\HarddiskVolume2
path                    \EFI\Microsoft\Boot\memtest.efi
description             Windows-Speicherdiagnose
locale                  de-DE
inherit                 {globalsettings}
badmemoryaccess         Yes

EMS-Einstellungen
-----------------
Bezeichner              {emssettings}
bootems                 No

Debuggereinstellungen
---------------------
Bezeichner              {dbgsettings}
debugtype               Serial
debugport               1
baudrate                115200

RAM-Defekte
-----------
Bezeichner              {badmemory}

Globale Einstellungen
---------------------
Bezeichner              {globalsettings}
inherit                 {dbgsettings}
                        {emssettings}
                        {badmemory}

Startladeprogramm-Einstellungen
-------------------------------
Bezeichner              {bootloadersettings}
inherit                 {globalsettings}
                        {hypervisorsettings}

Hypervisoreinstellungen
-------------------
Bezeichner              {hypervisorsettings}
hypervisordebugtype     Serial
hypervisordebugport     1
hypervisorbaudrate      115200

Einstellungen zur Ladeprogrammfortsetzung
-----------------------------------------
Bezeichner              {resumeloadersettings}
inherit                 {globalsettings}

Geräteoptionen
--------------
Bezeichner              {94e4b685-ce8b-11e4-9e2b-b59e390c8fcd}
description             Windows Recovery
ramdisksdidevice        partition=\Device\HarddiskVolume1
ramdisksdipath          \Recovery\WindowsRE\boot.sdi

Ich denke das sieht soweit mal ganz gut aus, Ausprobiert konnte ich jetzt natürlich nicht, wie es aussieht wenn man Windows über Grub startet, Ich sehe ja nix, und wie es in einem solchem Fall dann aussehen würde, bzw was passieren würde, wenn man den Rechner in den Ruhezustand schickt und versucht ihn dann wieder aufzuwecken.

Ergebnis:
* es ist eine Multibootkonfiguration. per default startet "shim" , der startet "grub2" und dieses per default "Opensuse"
* ich kann in Grub2 auch Windows auswählen und dieses starten.
(funktioniert leider bei mir nicht wirklich, das heißt Windows startet schon, aber Grub2 hat irgendwas an der Grafik verändert (irgendwelche Treiber gestartet, oder Grafikmodi eingestellt) und die Grafikanzeige für windows ist damit nicht brauchbar. Möglich nur ein Problem mit QEMU und meinen VMs aber das kann draußen genauso passieren)
* Windows kann aber aus dem EFI-Setup und der Bootauswahl dort ausgewählt werden und startet dann ganz normal.
* es funktioniert beides mit und ohne Secure Boot
* leider beobachtet: Windows startet und hat viele Updates und dauer/dauert/dauert, danach macht Windows einen reboot und siehe da man ist natürlich gerade nicht am Bildschirm und die default Einstellung startet dann natürlich Opensuse. So was braucht heute eigentlich kein Mensch.

Mein Fazit:
Außer das man die Entwickler von Grub2 mal auf einen Linux-Grundkurs schicken sollte, damit sie mal sehen wie vernünftige Konfigurationsdateien aussehen sollten ....
* Funktioniert soweit ist aber alles andere als praktisch Windows aus Grub zu starten.
* Sieht nicht viel anders aus als seit 15 Jahren der alte Grub, in der heutigen Zeit in der die Hälfte der Nutzer den Computer nur noch mit wischen und 2 Fingern bedienen wollen .......
* Das Umschalten von LINUX auf Windows aus dem EFI-Setup Menu oder dessen Bootloaderkonfiguration heraus zu machen, ist leider auch unpraktisch und macht den Secure Boot zum unnützen Quatsch, weil ich das Setupmenu so nicht passwort-schützen kann und wer einmal im Setup ist kann Secure Boot auch ausschalten, und dann booten was er will.
* leider völlig unpraktisch ist, das nicht automatisch immer das letzte gebootete BS wieder startet, ich muss bei jedem reboot immer dabei sitzen und schaun das ich den richtigen Booteintrag von Hand auswähle.
* Wie weit Windows beim den nächsten Updates diese EFI-Bootkonfiguration akzepiert wird sich zeigen, die ersten großen Updates sind durch und noch funktioniert alles wie gehabt.
* Ich würde mir für einen UEFI-Multiboot Rechner von einem Booloadermenu zumindestens wenn Secure Boot ausgeschaltet ist auch noch ein paar Menüpunkte mehr wünschen, zB EFI-Shell, Reset, Setup-Menu, Memtest ..... (aber wir haben ja hier bei Opensuse ein "default Grub2" und nicht rEFInd oder Wunschdirwas ;) )

robi
Robi
 
Beiträge: 68
Themen: 10
Registriert: So 15. Feb 2015, 16:02

Re: Multiboot Installationen

Beitragvon Robi » Mo 23. Mär 2015, 11:42

Hab heute nacht mal Win10 komplett upgedatet, Na dann mal viel Spaß wenn diesen Sommer die Jungs alle ihre Multboot konfigurationen von Win8.x kostenlos auf Win10 updaten dürfen. Die werden sich wundern.

Ich muss das nochmal komplett nachstellen, ich vermute, unter anderem wird die GPT-Partitiontable dabei von Windows komplett neu geschreiben und alle IDs auf irgendwas Windowverträgliches umgestellt (mindestens für LVM und Raid tötlich beim booten) , eventuell ändern sich auch PartitionsIDs, muss ich aber alles nochmal genau nachstellen. Jedenfalls habe ich Opensuse nur mit manuelen Eingriffen wieder sauber zum laufen gebracht. und das war eine ganz simple ext4 Konfiguration ohne auch nur irgend einen Schnickschnack.

robi
Robi
 
Beiträge: 68
Themen: 10
Registriert: So 15. Feb 2015, 16:02

Re: Multiboot Installationen

Beitragvon linuxfreund » Mo 23. Mär 2015, 21:33

Hallo Robi,

Hast Du von Windows8.1 auf Windows 10 geupdatet? Kann ich mir nicht vorstellen das das überhaupt schon geht.
Also meine beiden Dual-Boots haben bereits GPT-Tabellen und UEFI+Secure-Boot.. was soll denn da passieren?

Übrigens:

Aktuelle HORRORNACHRICHT! --> UEFI Secure Boot und TPM werden Pflicht
Pro-Linux hat geschrieben:Auf der WinHEC-2015-Konferenz im chinesischen Shenzhen hat Microsoft seine neuen Richtlinien für den Umgang mit UEFI, Secure Boot und TPM unter Windows 10 vorgestellt. Demnach müssen Hersteller Secure Boot bei PCs und Notebooks nicht mehr abschaltbar implementieren.

Dann wird das schon befürchtete Szenario also wirklich war! Es wird PCs und Notebooks ohne abschaltbares Secure-Boot geben!!
Das wird unsere Arbeitsgruppe vor neue Herausforderungen punkto Multiboot mit Windows stellen!

HP Pavilion: Intel Quad-Core i5-4440 3.10 GHz, NVIDIA Geforce 640 GT, 12 GB RAM, 1TB HDD
Sony Vaio SVF-15N2L2ES: Intel Core i5 1.60 GHz, 508 GB HDD, 4 GB DDR3-RAM, Intel HD Graphics 4400
Beide openSUSE13.1(Desktop), openSUSE13.2(Laptop) + Windows8.1

Benutzeravatar
linuxfreund
 
Beiträge: 62
Registriert: Mo 9. Mär 2015, 21:25

Re: Multiboot Installationen

Beitragvon linuxfreund » Mo 23. Mär 2015, 22:07

Punkto Multiboot mit Windows halte ich es übrigens für eine gute Idee auch für Windows selbst Möglichkeiten zu benennen um die Schlampe zu zähmen ;)
Was kann ich z.B. in der Windows-PowerShell tun um die Schlampe daran zu hindern Linux-schädigend aktiv zu werden?
In meinem Post hier hatte ich unter Punkt 13 einen wirksamen Weg benannt um in Windows selbst Eingaben zu tätigen, die ein ständiges Überschreiben des Bootloader-Pfades durch Windows verhindern.
Es gibt auch hier bestimmt noch weitere interessante Möglichkeiten um die Kontraproduktivität dieses Monopolisten-Systems zu unterbinden!
Gerade punkto steigender Alleinherrscher-Politik ab Windows10 bestimmt keine schlechte Sache.

Um Missverständnissen vorzubeugen:
Ich kenne mich Null-Komma-Null mit Windows-Shell-Befehlen aus. Das Tutorial hatte ich auf einer englischen Webpage gefunden.

HP Pavilion: Intel Quad-Core i5-4440 3.10 GHz, NVIDIA Geforce 640 GT, 12 GB RAM, 1TB HDD
Sony Vaio SVF-15N2L2ES: Intel Core i5 1.60 GHz, 508 GB HDD, 4 GB DDR3-RAM, Intel HD Graphics 4400
Beide openSUSE13.1(Desktop), openSUSE13.2(Laptop) + Windows8.1

Benutzeravatar
linuxfreund
 
Beiträge: 62
Registriert: Mo 9. Mär 2015, 21:25

Re: Multiboot Installationen

Beitragvon Robi » Mo 23. Mär 2015, 23:04

linuxfreund hat geschrieben:Hast Du von Windows8.1 auf Windows 10 geupdatet? Kann ich mir nicht vorstellen das das überhaupt schon geht.
Also meine beiden Dual-Boots haben bereits GPT-Tabellen und UEFI+Secure-Boot.. was soll denn da passieren?


Microsoft gehört die Lizenz entzogen irgendwelche Software herzustellen.
Ich habe das Test windows10 das ich installiert hatte auf den nächsten offiziellen Build upgedatet, das ist etwa so als wenn man einen kompletten ServicePack einspielt.
Aber deine aktuelles Windows 8.x könntest du damit auch kaputt machen in dem du es updatest, das geht.

Aber wenn dann aus.
Code: Alles auswählen
    linux-ufqr:~ # cat /proc/partitions
    major minor  #blocks  name

       8        0   67108864 sda
       8        1     307200 sda1
       8        2     101376 sda2
       8        3     131072 sda3
       8        4   50183168 sda4
       8        5    1985536 sda5
       8        6   10482688 sda6
       8        7    3915776 sda7
       8       16     132500 sdb
       8       17     131072 sdb1
       2        0          4 fd0
      11        0    4465664 sr0
bei einem Windowsupdate zB dann das hier wird
Code: Alles auswählen
linux-ufqr:/tmp # cat
 /proc/partitions
major minor  #blocks  name

   8        0   67108864 sda
   8        1     307200 sda1
   8        2     101376 sda2
   8        3     131072 sda3
   8        4   49722368 sda4
   8        5     460800 sda5
   8        6    1985536 sda6
   8        7   10482688 sda7
   8        8    3915776 sda8
   8       16     132500 sdb
   8       17     131072 sdb1
  11        0    4465664 sr0
dann frag ich mich ob Microsoft blos den Hals nicht voll genug kriegt, oder ob die schon total abgedreht sind und schon komplett die Bodenhaftung verloren haben.
Da ist sda4 aufgespalten worden und eine sda5 eingefügt worden, damit haben sich alle nachfolgenden Partitionsnummern verschoben. Root war sda6 und müsste jetzt sda7 sein. Home war mal sda7 und es müsste jetzt sda8 genommen werden.
Hier mal das System nachdem es ohne Home hochgekommen ist.
Code: Alles auswählen
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda7       10187064 4845476   4801072  51% /
devtmpfs         1964928      32   1964896   1% /dev
tmpfs            1977660      72   1977588   1% /dev/shm
tmpfs            1977660    3284   1974376   1% /run
tmpfs            1977660       0   1977660   0% /sys/fs/cgroup
tmpfs            1977660    3284   1974376   1% /var/run
tmpfs            1977660    3284   1974376   1% /var/lock
/dev/sda2          97280   27843     69437  29% /boot/efi

das sah mal vor dem Update so aus
Code: Alles auswählen
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda6       10187064 4648176   4998372  49% /
devtmpfs         1964928      32   1964896   1% /dev
tmpfs            1977660      76   1977584   1% /dev/shm
tmpfs            1977660    3396   1974264   1% /run
tmpfs            1977660       0   1977660   0% /sys/fs/cgroup
tmpfs            1977660    3396   1974264   1% /var/run
tmpfs            1977660    3396   1974264   1% /var/lock
/dev/sda2          97280   29538     67742  31% /boot/efi
/dev/sda7        3788736   20816   3555748   1% /home

hier mal der neue GPT (die alte hatte ich leider nicht gesichert. aber die IDs scheinen entgegen meinen ersten Vermutungen wenigstens noch zu stimmten.)
Code: Alles auswählen
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 68.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  316MB   315MB   ntfs            Basic data partition          hidden, diag
 2      316MB   419MB   104MB   fat32           EFI system partition          boot
 3      419MB   554MB   134MB                   Microsoft reserved partition  msftres
 4      554MB   51.5GB  50.9GB  ntfs            Basic data partition
 5      51.5GB  51.9GB  472MB   ntfs                                          hidden, diag
 6      51.9GB  54.0GB  2033MB  linux-swap(v1)  primary
 7      54.0GB  64.7GB  10.7GB  ext4            primary
 8      64.7GB  68.7GB  4010MB  ext4            primary


Die Bootkonfiguration hat noch gepasst, zwar hatt er den default-Eintrag \efi\boot\bootx64.efi erwartungsgemäß wieder angelegt, (das macht zZ auf einer Menge Boards probleme, da wenn dieser Eintrag da ist gar nicht die richtige Bootreihenfolge verwendet wird, sondern gleich dieser Eintrag) aber das kann man Windows wahrscheinlich austreiben in dem man das \efi\boot\ Verzeichnis nach dem löschen des Eintrages dort auf readonly setzt. (hoffe ich jedenfalls)

Es ist nach wie vor ganz normal shim und grub2 gestarted worden, aber dann hat im opensuse die initrd eine halbe Ewigkeit gebraucht bis sie das Rootdevice gefunden hat, und beim Booten /home wurde nicht erkannt und konnte nicht geladen werden, damit kann sich kein normaler User anmelden.

Muss ich aber am Wochenende alles nochmal komplett nachstellen. Ich kann einfach nicht glauben was sich hier Microsoft rausnimmt.

robi
Robi
 
Beiträge: 68
Themen: 10
Registriert: So 15. Feb 2015, 16:02

Re: Multiboot Installationen

Beitragvon linuxfreund » Mi 25. Mär 2015, 15:36

robi hat geschrieben:Ich kann einfach nicht glauben was sich hier Microsoft rausnimmt.

Das ist wirklich ungeheuerlich!
Gut das ich jetzt schon mal vorgewarnt bin punkto der Partitionstabellenänderung unter Windows10.
Wäre klasse wenn wir hier rechtzeitig vor der offiziellen Veröffentlichung eine möglichst einfach zu handhabende Lösung für das Problem finden könnten um diese dann in den Linux-Foren in Form eines Threads ala "Achtung! Windows10-Update-Problem - Lösung hier!" als wichtig anzupinnen!

Auch das Thema Secure-Boot muss unter Windows10-PCs nicht mehr abschaltbar implementiert werden ist ohne jede Worte!
So weit ich informiert bin gibt es bislang nur die Möglichkeit Linux bei vorab abgeschaltetem Secure-Boot zu installieren und dieses im Nachhinein wieder einzuschalten.
Wie soll man Linux neben Windows10 ohne abschaltbares Secure-Boot installieren?
Hofentlich bietet die EFI-Shell da Möglichkeiten. Ansonsten müßte man glatt den Hacker-Weg gehen und das Bios umschreiben und flashen, was wohl nicht so wünschenswert wäre!
Mal gespannt was sich nach dieser Ankündigung in der Linux-Welt tut um der drohenden Gefahr zu begegnen!

HP Pavilion: Intel Quad-Core i5-4440 3.10 GHz, NVIDIA Geforce 640 GT, 12 GB RAM, 1TB HDD
Sony Vaio SVF-15N2L2ES: Intel Core i5 1.60 GHz, 508 GB HDD, 4 GB DDR3-RAM, Intel HD Graphics 4400
Beide openSUSE13.1(Desktop), openSUSE13.2(Laptop) + Windows8.1

Benutzeravatar
linuxfreund
 
Beiträge: 62
Registriert: Mo 9. Mär 2015, 21:25

Re: Multiboot Installationen

Beitragvon gehrke » Fr 3. Apr 2015, 21:41

Ich bin schon mit der Installation von Win10 TP gescheitert. Mit beiden ovmf-Files startet die Installation nicht:
Code: Alles auswählen
CDROM="/home/gehrke/vm/iso/Windows10_TechnicalPreview_x64_DE-DE_9926.iso"

Code: Alles auswählen
HD[0]="/home/VM/test11-openSUSE13.2-win10.qcow2"

Code: Alles auswählen
# in dieser Variante SecureBoot manuell deaktivert und resettet oder auch mit - egal
#UEFI=${UEFI:+"-bios /usr/share/qemu/ovmf-x86_64-ms.bin"}
UEFI=${UEFI:+"-bios /usr/share/qemu/ovmf-x86_64.bin"}
Ich lande in der EFI-Shell. Alle Pfade überprüft...

EDIT: Oh wie peinlich. Neh, geht doch. Man muss nur an der Stelle 'Press any key to start from DVD...' schnell genug sein. :oops:
http://www.youtube.com/watch?v=PpUrMk3g_og (Angriff auf die Freiheit von Ilija Trojanow / Juli Zeh) - let’s encrypt
Benutzeravatar
gehrke
 
Beiträge: 118
Themen: 1
Registriert: Mo 23. Dez 2013, 21:53

Nächste

Zurück zu Workspace

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast