Suse 12.1 installed on External HDD, but if disconnected, laptop won't boot into windows.

I am rather new to Opensuse. After installing Opensuse to an External Hard Drive which I took out of my old laptop (cased it with a USB 3.0 connection), I booted up and everything was fine. I was presented with Graphical Opensuse screen with options to boot into Opensuse or Windows.

The problem occurs when I disconnect the external HDD and then turn on my machine. The screen goes blank, then a few lines of text saying something like ‘Grub failed to load’ or something similar then thats it, nothing happens beyond that. This means now that I need to keep my Ext. HDD connected to access Windows. Its like a Mother walking around with the baby attached with an umbilical cord attached.

I have two problems I am seeking help to solve. They are:

1.How can I return the Grub screen to its original pre-suse Windows boot up state?
2 How can I install Opensuse to my External HDD so that I can choose the option to start it from the bios, so that there’s no problem when I start the machine when Ext. HDD is disconnected?

I would be most grateful for your help.

:wink:

  1. Do you mean to normal windows booting, as it was before you installed openSUSE?

  2. You would need to install a windows boot manager or create a /boot partition for openSUSE’s Grub on the internal HD or during installation you must install all of the bootloader (grub) to the USB HD (You could do that more easily by pulling the internal HD while you install)

Back to question 1.: If you need to put the normal windows boot back, you need a windows install DVD

Yes, for question 1. But I was afraid you’d say that. Does this mean a complete re-installation of Windows?

What do you mean by ‘pulling the internal HD while you install’?

Are there any step by step tutorials online that you know of for the above …

Thank you for you quick response to my first post…

I’m rummaging around at your ‘My_Guides’ …

Re:1
Do you have a windows install DVD? But no not a re-install, just fix the MBR. So answer me, do you have a DVD?

When I say pull the internal HD, I mean open the machine and physically remove it.
Then just boot from the SUSE DVD with the USB HD connected.

*You really need to understand how all this works, or is it over your head?

Dangerous
:smiley:

I have the 4 Windows 7 recovery DVD disks that I had to create with HP’s recovery software.
Yes it’s over my head but what’s the alternative?

I’m quite happy to follow a pro!

You’re up real early…
Did you even sleep?

Recovery Disks are a waste of space. Only use they are is to restore everything back to Genesis.

There is a repair DVD here:
Download Windows 7 System Recovery Discs — The NeoSmart Files
They used to be free, but it looks like you have to pay now. (htt*://systemdiscs.com/)
But that will do a FIXMBR

I’m not a Pro and as far as Windows is concerned I know less and less, as I don’t use it any more and whenever I do work on machines with it, I just thank myself for dumping it all those years ago.

Once you fix windows
Recovering the Windows Bootloader from the DVD - EasyBCD - NeoSmart Technologies Wiki

Come back and we can advise.
But my first recommendation would be that if possible, I would install SUSE to the internal HD. But there are sometimes issues with the Vendor Partitioning
Install openSUSE alongside Win7/Vista - A Guide

  1. Always
  2. Not much

Thanks a bunch… I’ll visit the links you’ve shared… and then make a decision. I will come back and let you know what I’ve managed or not managed to do… once again, thank you for your time.

Thank you…

Here’s how I think you can fix it. But I’ll appreciate comments from others on some of the details.

I assume that you installed grub to boot from the MBR. If you installed to boot from the extended partition of drive 1, then it is easier to fix the situation.

Boot linux (plug in external drive as needed for that).

Make sure that your windows partition is mounted somewhere. I will assume that it is mounted as “/windows/C”.

Copy the MBR to the Windows partition with:


# dd if=/dev/sda of=/windows/C/linux.boot count=1

(note that you need to be root for that command).

Next, you need to restore the original boot code in the MBR. I am noticing that it is saved as “/boot/backup_mbr”. We have to hope that’s a good copy. If you installed linux more than once, then it is probably not a good copy, and you will have to find a different way of fixing the MBR. Assuming that’s a good copy, then use:


# dd if=/boot/backup_mbr of=/dev/sda bs=440 count=1

I’m not sure of the “bs=440” - hopefully, somebody else can correct me on that.

Next you have to set the active bit on the Windows partition. You can do that with fdisk. If you are not sure, then post the output from


# fdisk -l /dev/sda

and post it in a code block. Post that before you make any of the changes I have suggested, and somebody will reply with what you have to do to make the windows partition active.

If you have done all of that, then Windows should boot as before. But you won’t be able to get into linux.

To get into linux, you now need to setup booting linux with the Windows boot manager - either BCDEDIT or easybcd. The file “linux.boot” in the root partition of your windows system will have the linux boot code, and that is what you will need to specify in BCDEDIT. I’ll skip the details. You can find them with google, or ask again here after Windows is booting properly.

If you get that all setup, then as long as you only try to boot linux when the external drive is connected, you should be fine.