Install on External HD

Is it possible to install Linux on an external SATA drive?

I have a system dual booting between OpenSuse and Windows XP. I wanted to see what other distros were like so I tried installing Ubuntu to my external SATA drive. After installing, I got an error from GRUB, and I had to recover my MBR.

I tried the same thing with Mandriva, and got the same result. Finally, I tried another install of OpenSuse 11.2. The result was that I get a grub error 21. The only result of my efforts to try other distros is a lot of experience recovering my MBR.

Do I need to buy an internal HD, or am I just doing something really dumb?

It’s an issue with the BIOS. Not all BIOSes can boot from external drives. If that is the case with your machine no matter what distro you try it’s bound to fail.

There are various solutions. One is to use an internal drive so that it’s the second drive and bootable by the BIOS. Another is do carve out a Linux boot partition on the XP drive. You could also run Linux under VirtualBox, but that’s not the same as running it native.

Darn. That was not the answer I wanted to hear. There’s no way to create enough extra room on my internal HD, so I guess I’m going to need a new hard drive.

Thanks for the quick reply though.

Yes it is possible to boot Linux from an external Hard Drive, I do it all of the time. You must be able to set your computer BIOS so that the external USB hard drive is the first booting device. You normally have to edit your device.map file located in /boot/grub so that your external USB boot drive is HD0. You must do this because your first internal hard drive will be designated HD0. This happens since you did not boot from the external USB hard drive so there is no way for the installation program to know this.

Next, during the installation, you must either put the Grub boot loaded in the MBR (Master Boot Record) of the external USB hard drive or the root (/) partition as well as loading a generic MBR that can boot the grub copy loaded in the root partition. SuSE will use the MBR, but by default it will point to your internal hard drive. Once the install is done, it will give an option to load SuSE from the external drive or load the first partition on your internal drive. Normally I get my internal drive setup for one or two programs to load on their own and then setup the external drive with its OS system. If you have more than one copy of Linux, you can integrate the two Grub menu.lst files into one located on the external hard drive, or just let external USB grub load another located on your internal hard drive.

One thing is for sure, it is best to determine how this all works before you blast away a good setup on your internal drive. What course of action are you going to take now? It might be possible to fix your present setup, but we will need to know the partition setup of your internal hard drive, find out just where the grub boot loader got placed and perhaps post a copy of your menu.lst and device.map files so we might understand what is wrong now.

Thank You,

One of my colleagues at the office tried to install openSUSE on an external hard drive in a laptop and failed.

In the end they had to use an MS-Windows XP boot CD to restore the laptop MBR with “fixboot c:” after booting to the MS-Windows XP boot CD. That restored the MS-Windows MBR back to the way it was.

It appears many new users are looking for this feature (I would never do this myself as Linux would run slow on an external hard drive). I did a quick search and could not find a well laid out/descriptive (with screen shots of YaST boot menu information) wiki illustrating how to set this up.

It would likely be helpful if someone could write such a guide/wiki for openSUSE.

The ‘trick’ is not that hard. Main thing is, during install, to see to it that:

  • the partitioning is entirely on the external disk (don’t mount internal disks at boot, it won’t work on other machines)
  • the bootloader gets installed on the external disk.

A nice method, if you know how to do it, is to disconnect the laptop’s internal HDD during install.

On 26/04/10 01:36, jdmcdaniel3 wrote:
>
> Yes it is possible to boot Linux from an external Hard Drive, I do it
> all of the time. You must be able to set your computer BIOS so that the
> external USB hard drive is the first booting device. You normally have
> to edit your device.map file located in /boot/grub so that your external
> USB boot drive is HD0. You must do this because your first internal
> hard drive will be designated HD0. This happens since you did not boot
> from the external USB hard drive so there is no way for the installation
> program to know this.
>
> Next, during the installation, you must either put the Grub boot loaded
> in the MBR (Master Boot Record) of the external USB hard drive or the
> root (/) partition as well as loading a generic MBR that can boot the
> grub copy loaded in the root partition. SuSE will use the MBR, but by
> default it will point to your internal hard drive. Once the install is
> done, it will give an option to load SuSE from the external drive or
> load the first partition on your internal drive. Normally I get my
> internal drive setup for one or two programs to load on their own and
> then setup the external drive with its OS system. If you have more than
> one copy of Linux, you can integrate the two Grub menu.lst files into
> one located on the external hard drive, or just let external USB grub
> load another located on your internal hard drive.
>
> One thing is for sure, it is best to determine how this all works
> before you blast away a good setup on your internal drive. What course
> of action are you going to take now? It might be possible to fix your
> present setup, but we will need to know the partition setup of your
> internal hard drive, find out just where the grub boot loader got placed
> and perhaps post a copy of your menu.lst and device.map files so we
> might understand what is wrong now.
>
> Thank You,
>
>

I had Mandriva loaded on my eeePC 701 and installed 11.2 on an external
(USB) from a USB “network install” flash drive to “try it out”. The only
change from a “normal” network install was to set the drive as the first
entry in the list for installing GRUB. When booting, <esc> was used to
select the drive as the boot device (<F12> on some systems), which makes
it the first drive.


PeeGee

Asus m/b M2V-MX SE, AMD LE1640, 2GB, openSUSE 11.2/11.0 x86_64 dual boot

  • XP Home in VBox
    Asus m/b M2NPV-VM, AMD 64X2 3800+, 2GB, openSUSE 10.3 x86_64/XP Home
    dual boot
    Acer Aspire 1350, AMD (M)XP2400+, 768MB, openSUSE 11.2/XP Home dual boot
    Asus eeePC 4G (701), Celeron M353, 2GB, openSUSE 11.2 on SSD

Le 26/04/2010 01:06, artusor a écrit :
>
> Is it possible to install Linux on an external SATA drive?

said like this, it looks like you use a SATA connector? if so the
drive should be seen exactly as the internal one

If it’s an USB drive, IDE or SATA are equal

however, some configurations are not properly seen by YaST at install
time. You may try the “repair” option of the dvd and try
expert/repairing boot loader, this worked for me

jdd

But the catch is, the BIOS must be capable of loading from the external drive. Not all BIOSes can do this, particularly old ones. You may just be lucky and have a recent BIOS.

It should not be “that hard” but I have read of many users messing this up, and indeed I saw one do this last week. I declined to help at the start (before they ended up making a mistake), as I was not confident in being able to do this without first preparing. They went ahead anyway. … And indeed they did eventually make a mistake. The YaST boot installer is simply not that obvious/clear when it comes to specifically setting up an external hard drive to be the boot drive.

As a bare minimum such a guide should IMHO have menu’s showing what NOT to select.

There is a guide here: Seperate Boot for external drive and internal drive how to - openSUSE Forums

but it starts from the assumption things are already messed up. One should NOT have to start from that assumption.

Indeed but that is likely beyond the knowledge of most users.

Thanks to all for all the info. I am using SATA, and I thought that they should be treated the same as internal drives. But, I did go into my BIOS and check the boot order. The BIOS will not let me boot from an external HD. I’ve decided to go with a plan B now, and picked up an internal disk which I will be trying to install today.