Installing Linux from a USB mass storage device or logging into Live Linux Environment is a cool Idea. Booting from a USB mass storage device is sometimes necessary, especially when the ROM media device is not working.
Booting Windows from a USB mass storage device is not difficult, and with the availability of various software, it has been just a few clicks away. Booting into a windows machine requires only three files, namely boot.ini, ntldr, and ntdetect.com.
But booting into a Linux machine is a complex process which requires a whole lot of files and process in a well-defined execution manner. The booting process is complex but creating a boot-able USB media is very interactive and fun.
We will be creating USB boot-able image in two different way
- Unetbootin – is an open-source tool for creating bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions.
- dd – is a command-line tool for converting and copying files.
For creating a USB bootable image, certain basic requirements are:
- Usb Mass Storage Device (Pen Drive).
- Linux Image in CD/DVD/ISO or Internet connection (Not recommended for large images).
- Windows/Linux Platform.
Creating Bootable USB Device Using Unetbootin Tool
To install UNetbootin on Ubuntu and Ubuntu-based Linux distributions, use the following apt command to add PPA and install it.
$ sudo add-apt-repository ppa:gezakovacs/ppa $ sudo apt-get update $ sudo apt-get install unetbootin
Alternatively, you can download UNetbootin binaries and run them without installing on the Linux systems (supports all Linux distributions).
-------------- 64-bit System -------------- $ wget https://github.com/unetbootin/unetbootin/releases/download/681/unetbootin-linux64-681.bin $ chmod +x ./unetbootin-linux64-681.bin $ sudo ./unetbootin-linux64-681.bin -------------- 32-bit System -------------- $ wget https://github.com/unetbootin/unetbootin/releases/download/681/unetbootin-linux-681.bin $ chmod +x ./unetbootin-linux-681.bin $ sudo ./unetbootin-linux-681.bin
Insert Your USB pen-drive into the Windows/Linux machine and Launch Unetbootin, you will be greeted with a window similar to.
Check the content above the red line. The type should be Usb Device, strictly and if more than one usb device is plugged in you need to know the name of the exact Usb device you need to work upon. A wrong selection will lead to wiping your hard disk, so be aware. You can browse to the stored disk image on your hard drive, from the Unetbootin window.
Or alternatively download from the internet, in real-time. Although it is a time taking process and may result in an error when a larger image is downloaded.
Click OK, and the process of downloading and/or extracting the image will start. It will take time depending upon the size of the download and/or the file size of the ISO image. Once completed, click ‘exit‘.
Plug out the usb storage device safely and plug it into the machine you want to boot. Restart it and set that usb storage device to boot first from the BIOS menu which maybe F12, F8, F2, or Del depending upon your machine and build.
You will be greeted with a window as below, from where you can boot into Live Linux Mode and/or Install on Hard Disk from there, directly.
Pros of using Unetbootin
- Most of the processing is automated.
- Easy to use.
- Make it possible to create a boot-able stick from windows/Linux.
Cons of using Unetbootin
- One wrong selection of disk and all your Data and Installation on primary HDD is wiped.
Creating a Bootable USB Device using dd Command
dd command originally was a part of UNIX, which is implemented in Linux. The dd command is capable of striping headers, extracting parts of binary files. It is used by the Linux kernel Makefiles to make boot images.
The basic syntax of dd command is
dd if=<source> of=<target> bs=<byte size>; sync
The bite Size is generally “some power of 2, and usually, not less than 512 bytes i.e., 512, 1024, 2048, 4096, 8192, 16384, but can be any reasonable whole integer value.
sync option allows you to copy everything using synchronized I/O.
Run the below command with modification depending upon your source and destination.
# dd if=/home/server/Downloads/kali-linux-2020.2-installer-amd64.iso of=/dev/sdb1 bs=512M; sync
It will take time to create the boot-able disk depending upon the size of the ISO image and your RAM capacity.
Don’t interrupt the boot stick creation, once the process is completed, you will get something like this in your terminal.
4+1 records in 4+1 records out 2547646464 bytes (2.5 GB) copied, 252.723 s, 10.1 MB/s
Now safely eject the disk, plug it into the machine you want to boot with Linux, and Yup doesn’t forget to change the booting option in your BIOS, setting your flash stick to boot primarily.
When USB is booted, You will be greeted with a window similar to.
Pros of the above method:
- Least possible error in making a copy.
- No extra/ third party tool required.
Cons of the Above method:
- No room for error, an error, and everything is wiped.
- Non-interactive way.
- You should know, what you are doing, as you won’t get any manual/prompt/help at run time, you must be good in terminals.
Remember, All the distro don’t allow Live Environment, but most of today’s distro does. You will be able to log into a live Linux Environment only if supported.
The above article does not aim at comparing the two methods. Before writing anything we give hours in testing and executing the process to ensure you get a 100% working solution.
If you get stuck at somewhere, feel free to contact us in the comment section. For any damage to data/disk, as a result of the above method, neither the Author nor Tecmint is responsible.
That’s all for now. I will soon be here again, with another interesting article, you people will love to read. Till then stay healthy, safe, tuned, and connected to Tecmint.