I have installed ubuntu to an external usb drive. It was as simple as installing to an internal hard drive, and booted with no problems. I attempted the same with openSUSE 13.1 beta (tried then 12.3 and it does the same, so this seems to be a general problem not just a new bug in the 13.1 installer), and it does not boot. I have then followed step by step the article found here: SDB:Installation on external hard drive - openSUSE . It still does not boot.
My configuration: removed all the hard disks from the server and left only the external usb drive. The partitions:
It starts booting up to the point where it shows the standard black and green opensuse desktop background then nothing else happens. No menus and no mouse cursor show up, and the system does not take any keyboard input. Basically it’s dead. I have booted again this time in failsafe mode, some text scrolls quickly on the screen and this is the last message before getting stuck:
Waiting for device /dev/disk/by-id-usb/Geberic_STORAGE_DEVICE_000000000272-0:0-part3 to appear: … Could not find /dev/disk/by-id-usb/Geberic_STORAGE_DEVICE_000000000272-0:0-part3.
Want me to fall back to /dev/disk/by-id-usb/Geberic_STORAGE_DEVICE_000000000272-0:0-part3? (Y/n)
Looks like a hardware issue to me. USB 2 in USB 3 port or the other way. Why remove the internal drive? You know that /dev/sda changes to the first drive found if used and two drives exist. You must select the boot drive in your PC setup. I have a blog on Partitions you can find here:
Unfortunately it is not a hardware issue. The Ubuntu installation works just fine with the same computer and external USB drive. It’s something that the openSUSE installer does not do right I think. And I removed the internal drives after the first failed installation, to figure out whether the boot loader was being confused by the partition table. I am installing and booting with only the usb drive hooked to the computer, and no other drives, either internal or external. The partition table can’t get any simpler than that.
Just last week I installed openSUSE 12.3 to an external USB 3.0 hard drive connected to a USB 3.0 port on a Dell XPS 13 Ultrabook Laptop and was able install and dual boot with Window 7, no problem. There is no issue with openSUSE 12.3, its ability to dual boot or install on an external hard drive. There may be a minor detail you have missed not selected for you during the install. I suggest a closer look at the booting section details.
After trying different things, I ended up installing openSUSE 12.3, using the same steps and options. It worked like a charm (I am using it now to post to this forum). So I think the problem is somewhere in the 13.1 installer or boot loader. I will report that as a bug.
This is purely a guess, though I think a likely one. I think you have hit bug 839071
Boot your system. You can boot with a live image or with the install DVD. But make sure you boot the same architecture (64-bit or 32-bit).
Mount your root partition from the external drive at “/mnt” and mount any additional partitions on top of that.
Edit “/mnt/etc/sysconfig/kernel”. Near the top of that file, is a list (probably empty) of modules to be added to the “initrd”. Add “ohci_pci” to that list.
Go into rescue mode, and rebuild the “initrd”. (I can’t seem to put multi-line code in this enumerated list, so I give details below).
Try again on booting your system.
Details of rescue mode:
# mount --bind /dev /mnt/dev
# mount --bind /proc /mnt/proc
# mount --bind /sys /mnt/sys
# chroot /mnt
# mkinitrd
# exit
Unfortunately, the fix for this bug did not make it into RC1. For me, the problem is with providing a key for the encrypted LVM. But, with booting an external drive, you would have the same problem affecting that, if your computer has a USB host adaptor which requires that module.
This is a change with 3.11 kernels, where the support of the particular USB host adaptors was split off into a separate module. I expect this will be fixed by RC2, but then I had expected it to be fixed by RC1 but it was too late for that.
I recently had a computer fail. So I put the disk in an external enclosure and tried booting on a different computer. It would not boot because it did not have the modules for USB. I fixed that.
After fixing that, I could boot the external disk on a warm reboot, but not on a cold boot. From what I gather, Microsoft has pressured manufacturers to provide fast startup by not fully initializing the USBs in BIOS code. My BIOS was initializing enough that the keyboard worked, but not enough for the external drives to work. If I booted some other system first, then rebooted to my external drive, that worked. Or, if I went through the BIOS boot menu (hitting F12 during boot to get to it), that also worked. But just cold booting into an external drive did not work.
Thanks nrickert for all your suggestions. However, since I am not an advanced linux user (which your suggestions seem to kinda require) I was leery to give them a try. What I tried, after installing 12.3 and checking that it’s working fine, I have then upgraded it to 13.1. Again, the same failure. So maybe, as you suggested, it’s something about the 3.11 kernel. I am not using LVM though, so not sure what is going on. I will probably wait for the 13.1 full release, then try it again.
I have an affected computer. I managed to install into an external drive, using a live USB. I did that by editing “/etc/sysconfig/kernel” on the live USB before install. And since install from live media is just a copy, my change made it into the installed system.
I think I’ll try that again today, but this time without first editing the file on the live USB. My earlier install was for Beta1. This time it will be for RC1, where I have not done that editing.
I think that if you had edited “/etc/sysconfig/kernel” on your 12.3 install, and added “ohci_pci” to the list of kernel modules to include in the USB, that would probably have made the upgrade to 13.1 work.
I tried that, and it worked. That is, I successfully installed 13.1RC1 on an external drive. So apparently the kernel problem that I am aware of only affects hci devices (keyboards, mice, etc) and not disks.
If your computer has both USB2 and USB3 ports, try plugging your drive into a USB2 port. It’s possible that support of USB3 has changed in the 3.11 kernel.
I got this working by creating 3 partitions on the USB device (swap and 2 ext4 partitions) then first installing XUbuntu 13.04 on the first ext4 partition and its bootloader on the MBR of the USB device. Then I installed openSUSE 13.1 RC1 on the second ext4 partition. Either because of this configuration or maybe some last minute updates to the openSUSE files, now it’s working. I could boot into either XUbuntu or openSUSE. Thanks to everyone for providing their suggestions.