Knoppix Boot Only Isopropyl
What you need: some soft clothes, a small bottle of 91% isopropyl alcohol, a box of cotton swabs. LCD Screen LCD screens are pretty delicate, and you don't want to press hard on them, because that can burn out the pixels. Instead, grab a dry soft cloth and gently wipe the screen. If you need to, add a little bit of alcohol. I have CD/DVD drive listed first in my BIOS' boot order and I even tried selecting the optical drive in the menu when the computer started and it still does not boot a disk. Thankfully, my somewhat old hard drives are still chugging along but I need to be able to use a live disk, in case one or both die on me. Burn a NEW Knoppix. Booting Knoppix from a USB Pendrive via Floppy. By Ben Okopnik. Of which only one really mattered to what I needed: the 'miniroot'. To be exact, the miniroot is a compressed bootable image within the Knoppix image - it is, in fact, the part that makes the Knoppix CD bootable - so tweaking the files inside it consisted of the following steps.
Having live media that can boot both ways can be a problem when installing Ubuntu onto currently available Windows 8 computers.
In other words the key advantage to creating UEFI-only bootable USB live media is: You know that it definitely booted and installed via UEFI.
Since Valve has already been doing UEFI-only booting USB installers with their Debian-based Steam OS and UNetbootin — the top voted alternative to Ubuntu's Startup Disk Creator — isn't UEFI compatible and therefore misleading, I think we should have a separate topic for creating UEFI-only bootable USB live media.
3 Answers
Creating UEFI-only booting USB live media is pretty straight forward. Just copy the files to your FAT32-formatted USB drive. That's it!
Remember that for an installation or booting the media:
- You may still need to explicitly tell your computer to boot the media via UEFI.
- A GPT partition table like in preinstallations of Windows 8 and later is recommended.
- Don't forget to create a partition after you've created the partition table.
- Use the latest AMD64 (LTS) ISOs, because these definitely contain UEFI bootloaders.
Table of contents
- Copy files from the ISO method
- Example via terminal
- Example via GUI
- Example on Windows
- The ISO loopback method (advanced)
- Creating the binary
- Creating the configuration file
- Adding persistency
- Checking the integrity
- UEFI Secure Boot
This method also works for other install media that contains EFI loaders, like Windows for example.
1.1. Example via terminal
You can do something like the following if 604A-00EA
is your USB drive and you already have p7zip
installed:
You're done if you have only one partition on this USB drive, otherwise you need to flag the partition as bootable e.g. via parted
:
Where /dev/sdX
would be your USB drive and 1
the partition number that should be used to boot.
1.2. Example via GUI
Mount the .iso-file and copy the contents over to your USB drive. Press Ctrl+H in Nautilus to display and copy hidden files as well.
Add the boot flag via GParted.
1.3. Example on Windows
- Same as above, just copy files.
- Press Windows/Super+X, go to Disk Management and check if the partition is marked as active. On Windows versions prior to Windows 8, you press Windows/Super+R to open the run menu and open
diskmgmt.msc
, that would open Disk Management.
Instead of extracting contents from an ISO image, GRUB and GRUB2 have been able to boot from ISO images directly through a loopback device. Given that the ISO image is UEFI bootable, we can set up a USB drive containing multiple ISOs with different operating systems without creating a mess on the USB drive.
If you want to boot Windows too you might want to look at SARDU. I remember using it with Windows PE around 2005 and it seems to have been updated to support USB drives and UEFI, but remember that this tool also supports legacy booting.
What do we need?
- Very basic knowledge of GRUB configuration files.
- Very basic knowledge of UEFI booting and GRUB, as we are going to generate our own GRUB bootloader image with a plenty of modules included.
- A UEFI bootable ISO image, a FAT formatted USB drive and a machine that runs Linux.
- No, we don't need a UEFI installation of Linux (which may be a chicken and egg situation), a traditional Linux VM like in VirtualBox is fine.
Knoppix Boot Only Isopropyl Water
2.1. Creating the binary
On your Ubuntu machine or VM make sure the package grub-efi-amd64-bin is installed (grub-efi-ia32-bin is also available for 32-bit Intel architectures on newer releases). The package may have a different name on another distribution, you can compare the file listing of the package to find the right package on your distribution.
The following command will generate the GRUB image, in this case an EFI binary that every computer with a UEFI firmware should be able to run:
Every standard UEFI firmware should look into EFIBOOT
for a file named boot{arch}.efi
, so create the folders on the USB drive and copy the image we just created to this location. Other architectures instead of x64 are possible, but let's keep it simple with x64/amd64.
2.2. Creating the configuration file
A very basic example for a the grub.cfg
configuration file that should be placed in the same directory as bootx64.efi
would look like this:
The important thing is the configuration block with the title Boot Ubuntu 14.04.2 LTS from ISO
. You can change the color and timeout to your preference. I chose black/light-magenta
as it still looks a bit Ubuntu-ish but is easily distinguishable when chainloading other configurations. You can find more examples for other distributions in the Arch Wiki and reading the GRUB manual is really worth your time if you want to go beyond that.
Getting back to the configuration block, it should be obvious that the ISO is referenced as /efi/boot/ubuntu-14.04.2-desktop-amd64.iso
, so copy your ISO to EFIBOOT
and replace ubuntu-14.04.2-desktop-amd64.iso
in the configuration with the actual filename of your ISO.
loopback loop $isofile
is the line, that will load our ISO file to a loopback device from which we can boot the Linux kernel directly. This is possible because our EFI GRUB image includes the loopback module. (A bit of trial and error was involved in figuring out which modules are reasonable to include. You shouldn't see any error messages, it's still not perfect though.) Speaking of the kernel you can add kernel parameters like toram
, parameters for different languages (example locale=de_DE bootkbd=de
) and as in the example: persistent
2.3. Adding persistency
You can add a partition as described in: How do I get a live-USB to use a partition for persistence? Or you can create a casper-rw
file and place it at the root of your USB drive.
I haven't tested what the absolute maximum is, it should be somewhere between 4094 and 4096 MB. Use a partition if you intend to use more space. Note that every change to the (root) is a modification to the overlay filesystem, even deleting files.
2.4. Checking the integrity
You should look at answers to the following questions to verify that the Live ISO content on the USB drive is in pristine condition:
2.5. UEFI Secure Boot
Secure Boot will become mandatory with Windows 10 machines, I suggest you have a look at the Linux Foundation's PreLoader to add Secure Boot functionality to this setup. Here is some ASCII art illustrating menus of the accompanying HashTool.
Knoppix Boot Only Isopropyl Alcohol
Congratulations, I'd say you now mastered UEFI booting and shouldn't be afraid anymore.
FabbyExtract from ISO file to FAT32
Extracting the content of an Ubuntu 64-bit desktop ISO file to a partition with a FAT32 file system and a boot flag will do the job: to create a live drive, that boots only in UEFI mode. It is called 'Copy files from the ISO method' here (in the accepted answer).
Test if running in UEFI or BIOS mode
But it is easy to test in a running Ubuntu system (live as well as installed), if it was booted in UEFI or BIOS mode. Run this command line,
This makes it straightforward to use live systems that can be used in both boot modes, which can also be an advantage.
See also the following links for a more detailed explanation and description of the method,
sudodusKnoppix Boot Only Isopropyl 1
sudodusUsing dd
worked for me, for some reason, the GUI version did not work. So, first, you might want to monitor the progess of dd, another options is using the SIGUSR1 option to trigger dd
to report it's progress periodically, but this is more complicated than pv
.
Then:
(/dev/device_you_want_to_use
will typically be /dev/sdb
, but check with df
!)
protected by Community♦Jan 9 '18 at 16:15
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?