How To Boot a Linux Mint or Ubuntu (and other Linux) iso from a hard disk. Especially to install the Distribution.

You can also use this method for a sort of do-it-yourself Docker type thing. Or Multiboot system or cloner backup / restorer to system for system .iso images.

  • ^^Prerequisite - Und Warnung!
    1. A mbr system is required for this method.
    2. This method assumes you either already have modern GRUB2 (not legacy Grub) installed Or want to install it - on which case you can further read-up on it and adapt the method very easily.)
    3. You do not have an EFi / UEFI / Secure Boot or other system
      While you can boot a bootble disk image .iso on an EFI system it requires another method and more reading !
    4. You have a bootable and installable Distribution Disk .iso
      (Although you can simply use this method to boot a 'Live" disk if its Live capable you do not have to install.)
      Also you can create your own disk (advanced and not described here!)
    5. Super GRUB2 Disk . Personally I used the SystemRescueCd disk which has Super GRUB2 Disk as floppy image on it. But I don't describe that. As its a bit hard to find the tool on the disk to launch it - (look for super floppy boot or something?).
    6. A Second Hard disk drive, aka.. HDD aka Secondary disk. If you want to install.



Background:
Having an old extra PC with a Pentium 4 CPU Intel 845 Chipset circa 2000 . This is an legacy system that uses mbr to boot, Not! new technologies like
GPT (GUID Partition Table) , EFI , UEFI or Secure Boot.
I had a hard time putting the Linux Distribution* I want on it since I don't have a working DVD reader / player for it . But it does had a CD. But I want a newer Distribution that only comes on DVD size. (I do not want a 'net install', btw.)
I can use It does have USB and can boot USB however this particular PC has a quirky bios configuration does not allow a OS that boots from USB to be installed on the primary disk. Although the running OS or programs like disk partition tools such as Gparted, etc. can access the disk.
On this old PC;
The method for booting a bootable* Linux .iso image that is simply (i.e.. previously downloaded to) stored on the hard disk does work (see below) .
However when booting from an .iso stored on the primary hard disk drive (not matter what partition while partition manager tools like Gparted etc. can access the disk and redo partitions on the primary disk.
But the caveat is that those partition tables cannot be written to the disk since the .iso is mounted. It has to be umounted. That cannot be done since to umount the disk would mean severe the connection to the .iso running. Actually its a limitation of this PC bios, etc. specifically since it uses up or locks the primary hdd controller (since it is in use).
While I could use a Distro or tool that specifically loads completely to memory or other method (which I tried but again this bios has features that are made to frustrate work-arounds) I won't go about describing that route.
The point here is Not that I wish to partition. That is an easy matter I could simply boot an CD .iso , etc.
The point is how to install.
(Pay attention to read-up on the method and adapt to your own uses also to create your own custom tricks / systems).

  • So, its really a Simple method I use, to wit.
    Note; Pay attention!!
    1. Put the .iso on the secondary Hard disk.
    2. Boot the SuperGRUB2Disk
    3. Select Detect loop bootable isos.
      (from the website..
      Quote
      "Many GNU/Linux liveCD distributions support loop booting from an iso file, that is you can boot from the iso file without needing to burn it to a CD. This option will search all partitions for either a directory /boot-isos/ or /boot/boot-isos/. It will then find all of the .iso files within those directories and create a menu to choose among them. Not all iso files can be loop booted, as the live distribution itself needs to support this. Each live distribution has its own quirks when it comes to loop booting and needs to be treated specially (unless they ship a Loopback.cfg).
      .. supported Distributions:. ..Ubuntu.. ..SystemRescueCd..
      ..Any distribution that ships with a Loopback.cfg "


      Ubuntu 16.04 based Distros and disks like Mint 18 18.1, etc. has that Loopback.cfg already enabled so they will be detected.
    4. Then when you see the .iso listed you want select to Boot it!
      • Note that:
      • The output is geeky, If you have more than one drive with bootable .isos
        *(note edited from sdab which is wrong!(whoops) to sdb) sdb would on an Ubuntu or Mint system be the 2nd hdd.
        Thise may be called hdb, hdd1, hdd device 1 (assuming your primary hdd would be hdd0) or similar. If you have no other iso that its easy there will only be one option.
    5. That's it! Done! ^It should boot thereafter.
      Just remove the disk at reboot.
      ^With the caveat that if you are booting from an .iso on the primary hdd you won't be ble to install there. But you can on the second hdd.
      Of course I boot from an iso on the secondary installing to primary.
      Also note it makes no difference if you want to install on a dual boot system (mine is), however if using mbr (as this How to describes) note you can only have 4 primary partitions!. Read-up on it.
      Also then you see actually the advantage of GPT / EFI boot . You can have any number of partitions on a GPT (GUID Partition Table) sytem.


  • *Appendix:
  • GPT (GUID Partition Table)
  • Loopback.cfg
  • Distribution - or distro, refers to a specific implementation of a GNU/Linux operating system.
    A project which ships an operating system that includes the Linux kernel is said to be a Linux distribution.
  • bootable - meaning it is a disk .iso that is specifically made by the Distributor, (ex. Ubuntu 16.04, Linux Mint 18) to be bootable.
    Especially from a disk .iso on the hard disk (many are using this method)
  • installable - meaning the Distro disk is built with an install option.



Last edited by FsFOOT; 02/23/17 11:53 PM. Reason: ps and note edited from sdab which is wrong!(whoops) to sdb