How to Install Linux from an External Hard Drive

Nobody really uses CD/DVD media to install operating systems these days, now the trend if to use USB 3.0 pendrives to install Linux or Windows on your computers. But if you do not want to use a pendrive for some reason, and  want even faster and smoother installation process, then you can use an external hard drive as the installation media. We have  previously posted about how to install Windows 10 from an external hard drive. And if you want to use your portable external hard drive as the bootable installation media for installing Puppy Linux or any variants of Ubuntu Linux then here is how it is done:

Getting Ready

  1. Download the latest ISO for Puppy Linux, Ubuntu Linux (or its variants like Lubuntu).
  2. Download SysLinux version 6.0.3.
  3. Download and install 7-Zip.
  4. Format your external hard drive with FAT32 file-system.

Create bootable external hard drive

  1. Right-click on the Linux ISO file, select 7-Zip and then Open Archive.Install Linux from External Hard Drive
  2. Extract all the contents of the ISO file to you external hard drive.Install Linux from External Hard Drive
  3. Extract syslinux.exe from and save it in the root folder of your external hard drive. It is located in the BIOS/Win32 folder inside the ZIP archive.
  4. Open an elevated command prompt (Win+X and select Command Prompt (Admin)). Assuming F: is drive letter for your external hard drive, give the following commands:
    syslinux --install --stupid -f F:

    Install Linux from External Hard Drive

  5. For Puppy Linux rename isolinux.cfg to syslinux.cfg. For Ubuntu variants, first rename isolinux folder to syslinux, then inside the syslinux folder rename isolinux.cfg to syslinux.cfg.
  6. Your bootable external hard drive is ready for use. You can reboot your PC and when press F12 to select a boot media when the PC is about to start. Usually an external hard drive appears as “Mass Storage Media” in the list of boot media.Install Linux from External Hard Drive

If at boot, it shows errors like “Failed to load COM32 file vesamenu.c32”
In this case, copy these files from archive to the target hard drive – libcom32.c32, libutil.c32, ldlinux.c32, vesamenu.c32 and menu.c32. Location of these files in is as follows:

  • \bios\com32\menu\vesamenu.c32
  • \bios\com32\menu\menu.c32
  • \bios\com32\libutil\libutil.c32
  • \bios\com32\lib\libcom32.c32
  • \bios\com32\elflink\ldlinux\ldlinux.c32

We have tested these steps with Puppy Bionic 8.0, Puppy Xenial 7.5 (needs copying extra files from syslinux archive), and Lubuntu 18.04. Perhaps these same steps will work for some other distributions too. If you use older versions of Linux, then you might have to use version 4.xx of syslinux which can be found here –


  1. That’s fine, but what about for how to install puppy bionic in pendrive, in ext3 ot ext4 format partition and how to put it in files, boot, /, root , swap etc.

Comments are closed.