Thursday, October 29, 2009

How to boot Ubuntu from Desktop iso.

I have been trying various Linux distributions by copying the contents of Live CD ISO to a spare partition, editing menu.lst file of Grub for suitable entries and booting the operating system. This method saves a CD.

Grub2 is the default boot-loader on Ubuntu 9.10 Karnic for previous distributions you have to install it.

To install Grub2:
$ sudo apt-get install grub-pc
This will install Grub2 but does not replace Grub Legacy and puts an entry in /boot/grub/menu.lst to Chainload and try it. After you find that it is working you need to replace Grub Legacy by Grub2:
$ sudo upgrade-from-grub-legacy

I installed Grub2 recently and discovered that it can directly boot from ISO. I had Ubuntu 9.10 Desktop CD ISO to try. Instead of copying the contents of the ISO I copied the ISO in my-ISO folder on one partition (sda4). Then added following entry in the file /etc/grub.d/40_custom
menuentry "Karmic Live CD (sda4)" {
loopback loop (hd0,4)/my-ISO/ubuntu-9.10-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/my-ISO/ubuntu-9.10-desktop-i386.iso
initrd (loop)/casper/initrd.lz

Then I updated Grub2:
$ sudo update-grub

The update copied the above menu entry from /etc/grub.d/40_custom to /boot/grub/grub.cfg (Please note that you are not supposed to edit grub.cfg directly).

On reboot I selected the new menu entry "Karmic Live CD (sda4)" and could boot from the ISO.

Please note that on Grub2 sda4 is represented by  (hd0,4) and not  (hd0,3) like in Grub Legacy.
Post a Comment