I have had no problem installing Ubuntu desktop when I boot off a live USB, but the server version has given me some trouble. I think it has to do with the way GRUB handles drivers. When the server install tries to look from the CD it can't find it.

I use the following to load it:

find --set-root /ISO/ubuntu-10.10-server-i386.iso
map /ISO/ubuntu-10.10-server-i386.iso (0xff)
map --hook
root (0xff)
kernel /install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed boot=install iso-scan/filename=/ISO/ubuntu-10.10-server-i386.iso splash
initrd /install/initrd.gz

Is there any way to pass the location of the ISO to Ubuntu?

EDIT: GRUB4DOS is run from the USB, not the HD.

  • I've had the same problem. I just attached an USB dvd-drive (empty), and then my USB drive worked. – Gert Dec 10 '10 at 9:31
  • Right now the USB is multi-boot. It has a lot of administration & security tools on it. It can also install several Operating Systems, but I can't get this to work. As an FYI, the same problem is present for people who want to install windows 7 off a USB. You have to actually copy the files to the USB & boot off those. Once GRUB boots the ISO, its CDROM drivers are lost. – BrNathan Dec 10 '10 at 10:45
  • This is probably a debian issue. Debian can't install from a usb drive, and the ubuntu server edition probably uses debian install stuff. – Falmarri Dec 10 '10 at 23:57
  • The real issue is that the grub drivers are being replaced when any other OS boots. I need to be able to tell ubuntu to use the ISO as the cdrom. – BrNathan Dec 11 '10 at 10:11

It's awfully simple:

  1. Set GRUB4DOS to boot from ISO, (which is what you probably done already)
  2. When Ubuntu Installer complains about no CD-ROM select go to shell console option,
  3. Use a set of commands like this one:

    mkdir /mnt/tmp
    mount /dev/<your USB dev path here, probably sdb1 if you have 1 HDD> ~/mnt/tmp
    mount -o loop -t iso9660 <path to ISO on your USB> /cdrom
  4. Go back to installer and enjoy

Hope it helps somebody... I've spent lots of time looking for this solution, until finally coming to it by myself.

| improve this answer | |
  • This is great. Is there a way to do this automatically? ie. so it runs when you boot. – BrNathan Feb 18 '12 at 0:04

I just installed ubuntu 12.04 server with Vaxquis' trick in USB with grub4dos. Apparently the server version dose not support cdrom-detect and iso-scan in installer. So we can ignore that part. Here is my config:

title install Ubuntu server 12.04
find --set-root /ubuntu-12.04-server-i386.iso
map /ubuntu-12.04-server-i386.iso (0xff) || map --mem /ubuntu-12.04-server-i386.iso (0xff)
map --hook
rootnoverify (0xff)
kernel /install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed boot=install splash --
initrd /install/initrd.gz

WHen you get CD-ROM detection errors, just "Continue" twice back to Installer Main Menu. press ALT-F2 to console. Type in:

mkdir /mnt/tmp
mount /dev/sdb1 /mnt/tmp
mount -o loop -t iso9660 /mnt/tmp/ubuntu-12.04-server-i386.iso /cdrom

press ALT-F1 back to Installer. Continue on "Load installer components from CD"

note: you can use file=/cdrom/preseed/ubuntu-server-minimal.seed to install a smaller server or remove the whole "file=..." part to select components manually. If you don't have enough memory to load entire iso to memory, remove "|| map --mem /ubuntu-12.04-server-i386.iso (0xff)" from config. To avoid "error 60", better format USB with "mkfs.vfat"(e.g. mkfs.vfat /dev/sdc1) and then copy the iso file to it as the first file. Then copy bootlace.com, grldr[.mbr] and menu.lst to USB and run

./bootlace.com /dev/<your_usb_device> (e.g. /dev/sdc)
| improve this answer | |

Have you tried installing Grub on the USB and tell it to boot from your ISO? I'm not sure with server edition, but I have been using and installing Ubuntu desktop this way.

EDIT: I have just tried this and it doesn't work. I'm leaving the answer here just to keep track of things. Just don't downvote me please ;)

Here is the entry in my /boot/grub/grub.cfg on the USB

menuentry "ubuntu-10.04-desktop-amd64.iso" {
 loopback loop /ubuntu-10.04-desktop-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-desktop-i386.iso
 initrd (loop)/casper/initrd.lz
| improve this answer | |
  • That is actually what I am doing: booting off GRUB off the USB and then having it boot the ISO. I updated my question so it was clearer. – BrNathan Dec 10 '10 at 5:33

If you want to install an Ubuntu 10.10 Server from an USB Key, you might want to try "Unetbootin".

Download an Run it, select your iso file and it will take care of installing GRUB and copy the files over.

| improve this answer | |
  • I doubt if this will work, because the problem lies in the fact that Ubuntu server edition tries to check the installation source from the CD drive, no matter how it is booted. – phunehehe Dec 10 '10 at 23:15
  • Exactly. The 10.10 live edition seems to know that it uses the ISO, but the server edition doesn't. – BrNathan Dec 11 '10 at 10:15

This is a PITA to handle manually. I just recently found Multiboot USB for Ubuntu and it works like a champ. You can feed ISOs into it and it takes care of creating the syslinux menu and all.

It is a French program, but there are English instructions here.

| improve this answer | |
  • I'll take a look at it, but I have a feeling it won't work. I tried the version for windows. The issue is the way GRUB's drivers are lost after the OS boots. Unless the program has a way to pass the ISO to Ubuntu I imagine it won't work. Thanks for the suggestion though. – BrNathan Dec 17 '10 at 16:55
  • As far as I have seen, there isn't a way to emulate a CD drive & ISO boot directly with a USB drive. The way Multiboot works is by pulling off all the data from the CD and saving it on the USB drive in a way that makes sense for USB booting. If you're trying to boot a proprietary filesystem off of an ISO, you're probably out of luck. – Pete Ashdown Dec 18 '10 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.