Results 1 to 6 of 6

Thread: recover dual boot after install windows 8.1

  1. #1

    Default recover dual boot after install windows 8.1

    I installed windows 8 from scratch, then updated to 8.1
    Then I installed OS 13.1 with the live USB but grub2 did not recognize win 8
    so I run win8 repair tool (it was very tricky but at the end I was able to reset MBR and let win8 run again) and I lost again grub2 and OS

    how can I reinstall grub2, being sure that it will also recognize win8

    I did not understand anything about this new UEFI systems and I have no idea what I have in my system
    this is my configuration:
    toshiba portege z830 with SSD 128GB
    3 partitions: /dev/sda0 is my swap, /dev/sda1 is OS, /dev/sda2 is windows (where there is a /boot folder and also a /EFI folder)

    how can I check whether I have UEFI or not and setup the dual boot accordingly? I know there are many posts about it but none of them is explaining how to do that with a live USB

    thanks for your help

  2. #2

    Default Re: recover dual boot after install windows 8.1

    Hi,

    try this, http://neosmart.net/EasyBCD/

    its free (need registration) and able boot linux from windows boot menu.





    thanks

    Regards

    Czeslaw M.

  3. #3
    Join Date
    Mar 2010
    Location
    UTC +1
    Posts
    193

    Default Re: recover dual boot after install windows 8.1

    You can do all you ask from within Windows 8 itself, without installing any new tools. You should also make sure to disable Windows 8 Fast-start, if you haven't already done so (see here: https://forums.opensuse.org/english/...efi-etc.html#4, see "Preparing Windows 8 for dual-booting", item 4).


    To check MBR/UEFI from Windows, execute the following commands (the "diskpart"-command should work with Vista and W7 too):

    From Windows 8 Desktop:
    <WindowsKey>-X ---> Command Prompt (Admin)
    Code:
    diskpart
    list disk
    exit
    exit
    Example from my test-installation - not a dual-boot setup (W8.1 under VMWare Workstation 10 - W8 and W8.1 are similar):
    Code:
    Microsoft DiskPart version 6.3.9600
    
    Copyright (C) 1999-2013 Microsoft Corporation.
    On computer: W81PRO64VM
    
    DISKPART> list disk
    
      Disk ###  Status         Size     Free     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
      Disk 0    Online           50 GB    15 GB        *
    
    DISKPART> exit
    
    Leaving DiskPart...
    
    C:\Windows\system32>exit
    An asterisk in the GPT-column indicates that you are running GPT.


    ----


    If you do have GPT, you should be able to regain access to your Grub-menu from inside Windows too. (That may also be true for MBR, but I have no experience dual-booting Windows 8 in MBR mode).

    You can try:

    From Windows 8 Desktop:
    <WindowsKey>-X ---> Command Prompt (Admin)

    Then apply a selection of the following commands to navigate in your BCD database (Anything following "#" (inclusive) are comments and should not be typed when applying commands):
    Code:
    mountvol z: /s      # This will mount the ESP partition as drive Z:
    mountvol z: /d      # Drive z: is removed
    
    bcdedit /set {bootmgr} path \EFI\Boot\bootx64.efi  #Select file to use for bootmgr. Here, Grub is the target. Adjust path to your PC
    bcdedit /default {bootmgr}                         #Select bootmgr as default boot entry
    bcdedit /default {<hex-ID-for-opensuse-secure>}    #As above, but use UUID instead of symbol. Can be used without ".../set {bootmgr}
    bcdedit /enum all -v                               #List the BCD database using UUID everywhere
    bcdedit /enum all                                  #List the BCD database using known symbols
    Examples from my W8/13.1 installation. You should apply commands in approximately the sequence displayed:
    Code:
    C:\Windows\system32>bcdedit /enum all
    
    Firmware Boot Manager
    ---------------------
    identifier              {fwbootmgr}
    displayorder            {112d7697-46fe-11e3-beb8-806e6f6e6963}
                            {bootmgr}
                            {112d7693-46fe-11e3-beb8-806e6f6e6963}
                            {63dfd18a-2c85-11e3-b718-adb8de629832}
                            {63dfd18b-2c85-11e3-b718-adb8de629832}
                            {63dfd18c-2c85-11e3-b718-adb8de629832}
    timeout                 2
    
    Windows Boot Manager
    --------------------
    identifier              {bootmgr}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Boot\bootx64.efi
    description             Windows Boot Manager
    locale                  en-GB
    inherit                 {globalsettings}
    integrityservices       Enable
    default                 {current}
    resumeobject            {63dfd18d-2c85-11e3-b718-adb8de629832}
    displayorder            {current}
    toolsdisplayorder       {memdiag}
    timeout                 30
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {112d7693-46fe-11e3-beb8-806e6f6e6963}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\opensuse\grubx64.efi
    description             opensuse
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {112d7694-46fe-11e3-beb8-806e6f6e6963}
    description             UEFI: Network Card
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {112d7695-46fe-11e3-beb8-806e6f6e6963}
    description             UEFI: Network Card
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {112d7697-46fe-11e3-beb8-806e6f6e6963}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\opensuse\shim.efi
    description             opensuse-secureboot
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {63dfd18a-2c85-11e3-b718-adb8de629832}
    description             EFI Network
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {63dfd18b-2c85-11e3-b718-adb8de629832}
    description             EFI USB Device
    
    Firmware Application (101fffff)
    -------------------------------
    identifier              {63dfd18c-2c85-11e3-b718-adb8de629832}
    description             EFI DVD/CDROM
    
    Windows Boot Loader
    -------------------
    identifier              {current}
    device                  partition=C:
    path                    \Windows\system32\winload.efi
    description             Windows 8
    locale                  en-GB
    inherit                 {bootloadersettings}
    recoverysequence        {63dfd18f-2c85-11e3-b718-adb8de629832}
    integrityservices       Enable
    recoveryenabled         Yes
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    osdevice                partition=C:
    systemroot              \Windows
    resumeobject            {63dfd18d-2c85-11e3-b718-adb8de629832}
    nx                      OptIn
    bootmenupolicy          Standard
    detecthal               Yes
    
    Windows Boot Loader
    -------------------
    identifier              {63dfd18f-2c85-11e3-b718-adb8de629832}
    device                  ramdisk=[\Device\HarddiskVolume1]\Recovery\WindowsRE\Win
    re.wim,{63dfd190-2c85-11e3-b718-adb8de629832}
    path                    \windows\system32\winload.efi
    description             Windows Recovery Environment
    locale                  en-GB
    inherit                 {bootloadersettings}
    displaymessage          Recovery
    osdevice                ramdisk=[\Device\HarddiskVolume1]\Recovery\WindowsRE\Win
    re.wim,{63dfd190-2c85-11e3-b718-adb8de629832}
    systemroot              \windows
    nx                      OptIn
    bootmenupolicy          Standard
    winpe                   Yes
    
    Resume from Hibernate
    ---------------------
    identifier              {63dfd18d-2c85-11e3-b718-adb8de629832}
    device                  partition=C:
    path                    \Windows\system32\winresume.efi
    description             Windows Resume Application
    locale                  en-GB
    inherit                 {resumeloadersettings}
    recoverysequence        {63dfd18f-2c85-11e3-b718-adb8de629832}
    recoveryenabled         Yes
    isolatedcontext         Yes
    allowedinmemorysettings 0x15000075
    filedevice              partition=C:
    filepath                \hiberfil.sys
    bootmenupolicy          Standard
    debugoptionenabled      No
    
    Windows Memory Tester
    ---------------------
    identifier              {memdiag}
    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Microsoft\Boot\memtest.efi
    description             Windows Memory Diagnostic
    locale                  en-GB
    inherit                 {globalsettings}
    badmemoryaccess         Yes
    
    EMS Settings
    ------------
    identifier              {emssettings}
    bootems                 No
    
    Debugger Settings
    -----------------
    identifier              {dbgsettings}
    debugtype               Serial
    debugport               1
    baudrate                115200
    
    RAM Defects
    -----------
    identifier              {badmemory}
    
    Global Settings
    ---------------
    identifier              {globalsettings}
    inherit                 {dbgsettings}
                            {emssettings}
                            {badmemory}
    
    Boot Loader Settings
    --------------------
    identifier              {bootloadersettings}
    inherit                 {globalsettings}
                            {hypervisorsettings}
    
    Hypervisor Settings
    -------------------
    identifier              {hypervisorsettings}
    hypervisordebugtype     Serial
    hypervisordebugport     1
    hypervisorbaudrate      115200
    
    Resume Loader Settings
    ----------------------
    identifier              {resumeloadersettings}
    inherit                 {globalsettings}
    
    Device options
    --------------
    identifier              {63dfd190-2c85-11e3-b718-adb8de629832}
    description             Windows Recovery
    ramdisksdidevice        partition=\Device\HarddiskVolume1
    ramdisksdipath          \Recovery\WindowsRE\boot.sdi
    
    C:\Windows\system32>
    The key here is the "Windows Boot Manager" part. It has the identifier {bootmgr], the device is "partition=\Device\HarddiskVolume2" (= the second partition on my disk), its path is "\EFI\Boot\bootx64.efi", where I did copy openSUSE's shim.efi (look up "description opensuse-secureboot" and check its path).

    Example 1 - the ideal solution:
    So, given the above, the following would make sense if the Windows Boot Manager part pointed to Windows 8 itself, and is all that should be necessary. However, its success will depend on how your PC's UEFI is implemented:
    Code:
    bcdedit /set {bootmgr} path \EFI\opensuse\shim.efi
    bcdedit /default {bootmgr}
    The last command may even be superfluous as it should already be the case for you in your situation.


    Example 2 - not the ideal solution, but may be necessary:
    My Toshiba doesn't have an ideal UEFI implementation. So I did the following:

    This preparation is necessary for the UEFI to find the secure-boot file necessary to boot openSUSE:
    Code:
    mountvol z: /s
    xcopy z:\EFI\opensuse\*.* z:\EFI\Boot\*.*
    copy z:\EFI\Boot\grubx64.efi z:\EFI\Boot\grubx64.efi.old
    copy z:\EFI\Boot\shim.efi z:\EFI\Boot\grubx64.efi
    mountvol z: /d
    Then I did as follows, which is almost identical to example 1 above:
    Code:
    bcdedit /set {bootmgr} path \EFI\Boot\bootx64.efi
    bcdedit /default {bootmgr}
    Which makes for an equivalent situation. If openSUSE's shim.efi changes in the future, I will need to repeat what I did between the two mountvol-commands above. To be honest, that will be a "when" it changes, not an "if", as it will change when the MS certificate used for signing it expires and probably also with openSUSE releases, as it did between 12.3 and 13.1.


    Example 3:
    For a one-time boot of openSUSE without permanent change of the UEFI NVRAM, you should be able to use:
    Code:
    bcdedit /bootsequence <id>
    where <id> is openSUSE's <id>. In my case, the <id> is "{112d7697-46fe-11e3-beb8-806e6f6e6963}" for secure boot, and "{112d7693-46fe-11e3-beb8-806e6f6e6963}" for non-secure boot ("description opensuse").

    Please note that these ID's aren't the same across systems! They are generated during installation! So your <id> will be different, as will the <id> be if you were to reinstall the same system! So be sure to check out your own <id>!



    dayfinger

  4. #4
    Join Date
    Mar 2010
    Location
    UTC +1
    Posts
    193

    Default Re: recover dual boot after install windows 8.1

    Forgot to say:

    Addition to my example 2 above:

    Manipulating the BCD registry and NVRAM may not be enough. With my Toshiba (Sattellite P50-A 11J) I have to - after doing the BCD/NV RAM manipulation - exit Windows 8 and power it down properly (the powering down from Windows 8 Fast Start setup WILL NOT DO!). Then I have to power on again, while holding F2 down in order to enter UEFI (BIOS) setup. When I have entered the setup, I can press F10 and exit again and wait for the next boot to happen as I have set up.

    The thing seems to be:
    My Toshiba doesn't read from the EFS partition except when entering the UEFI (BIOS) setup. That means changes made to the EFS partition isn't moved into NVRAM unless I enter the UEFI setup. There seems to be ways to circumvent that, however, (the 13.1 installation procedure indicate that), but Windows 8 bcdedit.exe doesn't do that.

    I have yet to test Windows 8.1 under the same scenario, however, which may prove to be different.


    dayfinger

  5. #5
    Join Date
    Mar 2010
    Location
    Austin - Texas
    Posts
    10,140
    Blog Entries
    48

    Smile Re: recover dual boot after install windows 8.1

    Quote Originally Posted by gigilentini8 View Post
    I installed windows 8 from scratch, then updated to 8.1
    Then I installed OS 13.1 with the live USB but grub2 did not recognize win 8
    so I run win8 repair tool (it was very tricky but at the end I was able to reset MBR and let win8 run again) and I lost again grub2 and OS

    how can I reinstall grub2, being sure that it will also recognize win8

    I did not understand anything about this new UEFI systems and I have no idea what I have in my system
    this is my configuration:
    toshiba portege z830 with SSD 128GB
    3 partitions: /dev/sda0 is my swap, /dev/sda1 is OS, /dev/sda2 is windows (where there is a /boot folder and also a /EFI folder)

    how can I check whether I have UEFI or not and setup the dual boot accordingly? I know there are many posts about it but none of them is explaining how to do that with a live USB

    thanks for your help
    So on my laptop, I did away with the GPT disk format and switched to MBR. I do question that a 128 GB SSD is large enough for a dual boot setup. I have a blog on GPT and MBR disks here:

    Creating Partitions During Install for MBR and GPT Hard Disks - Blogs - openSUSE Forums

    Here is how I formatted my 480 GB SSD for dual boot with Windows 8.1:



    Thank You,
    My Blog: https://forums.opensuse.org/blogs/jdmcdaniel3/

    Software efficiency halves every 18 months, thus compensating for Moore's Law

    Its James again from Austin, Texas

  6. #6

    Default Re: recover dual boot after install windows 8.1

    thanks dayfinger...I will try your solution asap and let you know

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •