Running multiple operating systems on the same machine is a welcomed feature. It carries many advantages. Perhaps, some of you have tried this with your Desktop, Laptop, or Mac Books. However, if you want to try this on your Raspberry Pi for any reason, you have the option to do that. In fact, booting multiple operating systems on your Raspberry Pi is easy as your boot on your other PCs. You can boot Raspberry Pi OS, Kali Linux, Ubuntu, Parrot OS, Debian, Manjaro, MX Linux, and as many as you want on your Pi. We have covered booting Raspberry Pi with multiple operating systems using BerryBoot in a different post. In that, we used an SD card to boot. However, in this post, let’s see how to boot multiple operating systems from a USB drive on your Raspberry Pi using PINN, a boot loader for Raspberry Pi that allows users to easily install, manage and configure operating systems on their devices.
Different operating systems are developed for different reasons. Some operating systems are good for running programming languages, some are good for running multimedia files, some are good for scientific calculations, and some are designed to play games. Building a dedicated machine for each one of them would need a lot of space, time, resources, and, of-course, money.
By booting multiple operating systems on Raspberry Pi, you can gain access to a range of features and applications that are not available in any single operating system. You can easily switch between different operating systems quickly and conveniently, allowing you to utilize the unique advantages of each one. For example, you can boot a separate operating system for programming and multimedia purposes, which will save time and increase productivity.
Additionally, running multiple operating systems on Raspberry Pi allows users to access higher levels of security as compared to single OS installations. This is because different OSs have different security features and protocols, providing an extra layer of protection. Lastly, users will also benefit from the flexibility to customize their system according to their needs. By running multiple operating systems on Raspberry Pi, users can easily pick and choose which programs they want to install without having to worry about compatibility issues.
So, the best solution to this problem would be installing multiple operating systems on a single machine. This reduces everything from space, resources, and money too. The same applies to Raspberry Pi too.
Overall, booting multiple operating systems on Raspberry Pi provides a number of advantages, including increased productivity, higher levels of security, and more customization options. For users who want to take full advantage of their Raspberry Pi, running multiple OSs is the best way to go.
There are several advantages and disadvantages to using an SD card and a USB drive. Let’s see what takes the edge for you. You may see using an SD card to boot a Raspberry Pi in most of the tutorials. Even official Raspberry Pi documentation is no exception. But there is a reason for that. SD cards are portable to use. You need not maintain a separate unit for storage.
It’s been seen that there is a dramatic reduction in performance when flash drives have been used against SD cards. You may ask how the Pi would perform if you use HDDs/SSDs. They have a track record of an impressive performance against SD cards. Well, yes, you may yield better performance if you use hard drives. But, you may need to bear with additional components like a USB cable for the data transfer hard drive itself with a case for protection.
Additionally, an extra power unit if the power drowns from the Pi is not sufficient to run the hard drive. All these requirements make this option inconvenient. If you are ready to compromise with all these inconveniences, then you will get a stable, durable, and performance-oriented Pi for your project. Both ways are better in their way, and both of them have their own pros and cons in practicality. See this table which tells the difference in a simple way. We feel this table would help you to decide what is right for you.
Booting from SD card | Booting from Hard Drive |
More convenient | Faster than SD cards which increase performance |
Portable | Hard drives must remain attached |
Finite lifespan | Longer lifespan |
Simple Backups | More complicated Backups |
You should think about all the factors before you choose a USB drive over an SD card. If you ask me, I definitely go for a USB drive because performance is the prime factor when you choose to boot multiple operating systems.
PINN (Persistent Integration of NOOBS) is a boot loader for Raspberry Pi that allows users to easily install, manage and configure operating systems on their devices. It provides a much simpler and more efficient way of setting up a Raspberry Pi than with the original NOOBS distribution. With PINN, you can install any version of Raspbian or other Linux operating systems like Ubuntu and Kali Linux, as well as a range of alternative OSes such as RISC OS.
The PINN boot loader also offers several advanced features, such as an integrated recovery system for restoring corrupt images, support for external USB storage devices, automated checksums to ensure the integrity of downloaded distributions, and a configuration interface for managing settings and installing additional packages. Furthermore, it also offers an easy-to-use interface with detailed instructions on how to install and configure each operating system.
Let’s see what hardware and software are required to boot multiple operating systems from a USB drive on your Raspberry Pi:
Raspberry Pi Board: Well, you can use any Raspberry Pi modules 4, or 400. Preferably, Raspberry Pi 3 and 4 with 4 GB RAM.
USB Drive: This is to install PINN and multiple operating systems. This is the drive you are booting up your Raspberry Pi.
IO Peripheral: Keyboard, Mouse, HDMI Cable, Ethernet Cable, and USB Cable, depending on your requirements.
PC or Mac with an Internet connection: This is required to download the PINN image and write to SD Card or USB Storage Drive.
Raspberry Pi Imager: A free, open-source utility for flashing content to SD cards and USB drives on your Raspberry Pi.
PINN image: You can download the image from SourceForge page.
Internet: An Internet connection is a must to have. Because, PINN downloads the OS images from the git over the internet.
To start with PINN, you will need a PINN with a USB drive or SD card. You will also need a USB keyboard and mouse, as well as an HDMI cable to connect the Raspberry Pi to a monitor.
Raspberry Pi Imager is a free, open-source utility for flashing content to SD cards and USB drives on your Raspberry Pi. It includes options for simple, safe and reliable imaging of your Raspberry Pi’s microSD card and USB drive. The interface is easy to use, making this the perfect tool for any beginner or experienced user of the Raspberry Pi.
Download and install the imager application on your Windows, mac, Linux, or on your Raspberry Pi itself. Run the application and follow this short instruction to erase the USB drive.
1. Click on Choose OS button.
2. Select Erase.
3. Click on Choose Storage button.
4. Select the USB drive.
6. Finally, click on the Write button.
6. Click Yes when it asks for confirmation.
Upon the completion of the Erase process, your USB drive will be ready for PINN OS.
PINN OS images are available on SourceForge for download. Go to the download page and download the PINN image. The image will be downloaded in a ZIP file.
It is simple to load the PINN image. You need to unzip the downloaded PINN file and copy all the content to the USB drive.
Initially you will be greeted with a “No network access” Error message. It’s obvious to see because it needs internet to function. You can connect the internet vis a wired or wireless way.
Immediately after you are connected to the internet, a list of operating systems will appear on your screen.
Select the ones you need and click on the Install button at the top left corner. We have selected Raspberry Pi 64 Bit, Ubuntu 22.04, and twister operating systems to install in this demo.
A caution message will be displayed saying, “All existing partition on the USB drive will be deleted“. Click Yes to continue. Once you click on Yes, the installation process will begin immediately.
Select the OS you want to boot and click on the Boot button in the top right corner.
Select the Raspberry Pi 64-bit and click on the Boot button. Raspberry Pi will ask to set up some basic settings like time zone, language, keyboard layout, and user account to log in.
To boot other operating systems, follow these simple instructions:
1. Reboot the running operating system
2. Click the Shift key to jump back to the main PINN screen
3. Click on the Exit button or hit the Esc key to go to the Boot menu
4. Select the different Operating System and click the Boot button
This time we will show you booting the Twister operating system.
And that’s it! This is how you can boot multiple operating systems from a USB drive on your Raspberry Pi using PINN.
In addition to this, we would also suggest you explore different operating systems and options available in the three Menus:
Main Menu
Advance Menu
Maintenance Menu
You just need to click on the More button at the top right corner to switch between all three menus.
We hope this post would help you learn how to boot multiple operating systems from a USB drive on your Raspberry Pi using PINN. Thanks for reading this tutorial post. Visit our social media page on Facebook, LinkedIn, Twitter, Telegram, Tumblr, Medium & Instagram, and subscribe to receive updates like this.
You may also like these articles:
Arun KL is a cybersecurity professional with 15+ years of experience in IT infrastructure, cloud security, vulnerability management, Penetration Testing, security operations, and incident response. He is adept at designing and implementing robust security solutions to safeguard systems and data. Arun holds multiple industry certifications including CCNA, CCNA Security, RHCE, CEH, and AWS Security.
“Knowledge Arsenal: Empowering Your Security Journey through Continuous Learning”
"Cybersecurity All-in-One For Dummies" offers a comprehensive guide to securing personal and business digital assets from cyber threats, with actionable insights from industry experts.
BurpGPT is a cutting-edge Burp Suite extension that harnesses the power of OpenAI's language models to revolutionize web application security testing. With customizable prompts and advanced AI capabilities, BurpGPT enables security professionals to uncover bespoke vulnerabilities, streamline assessments, and stay ahead of evolving threats.
PentestGPT, developed by Gelei Deng and team, revolutionizes penetration testing by harnessing AI power. Leveraging OpenAI's GPT-4, it automates and streamlines the process, making it efficient and accessible. With advanced features and interactive guidance, PentestGPT empowers testers to identify vulnerabilities effectively, representing a significant leap in cybersecurity.
Tenable BurpGPT is a powerful Burp Suite extension that leverages OpenAI's advanced language models to analyze HTTP traffic and identify potential security risks. By automating vulnerability detection and providing AI-generated insights, BurpGPT dramatically reduces manual testing efforts for security researchers, developers, and pentesters.
Microsoft Security Copilot is a revolutionary AI-powered security solution that empowers cybersecurity professionals to identify and address potential breaches effectively. By harnessing advanced technologies like OpenAI's GPT-4 and Microsoft's extensive threat intelligence, Security Copilot streamlines threat detection and response, enabling defenders to operate at machine speed and scale.