Chrome OS has made steady gains in terms of features and performance over the past year or so while maintaining its ability to boot up and go in just a few seconds, leading many to the question of whether it can be installed elsewhere. Now, thanks to some serious effort from several developers over at XDA Developers and a script called "Chromefy," that's not outside the realm of possibility. Having said that, this isn't necessarily a task that should be undertaken by just anybody since it does require some relatively complex actions that not every user will be comfortable with. What's more, it isn't guaranteed to work at all since not every piece of hardware will be supported by the official OS - with possible problems stemming from mismatched drivers and more that can lead to boot looping, crashes, or similar problems. Bearing that in mind, for those who happen to have an old Windows or Linux machine laying around unused, this may be the perfect solution - although this particular version of the guide only covers Windows.
To begin with, there are some pre-requisites that need to be covered first. The installation works best with two separate USB flash drives since, although it is possible to accomplish with a single drive, having two makes things much simpler. Those will also need to be marked or have features that make them easy to distinguish from one another for the same reasons. On the first, a Chromium image needs to be installed to 'live boot' into, in order to install Chrome OS later. There are several images to choose from including daily, weekly, or 'special' builds - the latter of which provides different drivers for either x86 or x64 systems. Again, for simplicity, the developers behind Chromefy recommend using 'ArnoldTheBat' builds, although any appropriate and hardware-compatible build should work. A walkthrough is also available through the preferred source for helping choose a specialty build if one is needed. Another tool, a USB bootable drive creation tool called Rufus is recommended as well. Using that tool, users can unzip the Chromium image folder and flash the Chromium '.img' file to the first USB drive.
The second USB drive, meanwhile, a live-bootable Linux distro such as Lubuntu needs to be installed for managing partition scaling later on. An official recovery image for Chrome OS will be needed later on using the same USB drive - as well as a second recovery image under certain circumstances in order to fix a login problem. The specific image chosen should be one that closely matches the chipset in the computer Chrome OS is being installed on but the developers recommend using "eve" for devices with high-resolution displays and 'pyro' for "very" low-resolution displays. The former of those is associated with Google's own Pixelbook while the latter is tied to Lenovo's Thinkpad 11e Chromebook, for example. The second image is only needed if the recovery image that was chosen is from a "TPM 2.0" device - such as eve - and needs to be from a device a Trusted Platform Module (TPM) that's still back at 1.2 - such as 'caroline'. Again, that will only be needed if the installation causes login problems of any sort. The recovery files of both of those will need to be extracted and moved to the second USB drive, in addition to the Chromefy '.sh' file, which can be downloaded at that link by right-clicking anywhere on the page and clicking 'Save as'.
Installing Chromium & Resizing Partitions
With that out of the way, it's possible to get started with the installation of an official Chrome OS built, beginning with the installation of Chromium from the first USB drive. However, it is a good idea to backup all important files from Windows at this point using a cloud service or secondary storage medium. It may also be a good idea to ensure that backup media and licenses are handy, in case anything goes wrong with the installation and Windows needs to be reinstalled. In any case, the process from this point is fairly straightforward, requiring first that the drive is inserted into a free USB port and then that the computer is restarted so that the USB can be booted into from BIOS. To do that, the computer needs to be rebooted. During startup, there will be an opportunity to enter BIOS - usually outlined along the bottom of the screen in one of the splash screens - by pressing the F2 key. For some systems that may be the F10, F12, or other function key but that will vary depending on the hardware in use.
Once the BIOS menu has loaded, users will need to look for a "Boot" or similarly labeled menu and find the option to temporarily boot from the USB drive. The machine should restart, booting up the USB drive first and allowing for Chromium OS to be installed. To accomplish that, the user needs to press "Ctrl+Alt+F1" and then log-in to Chromium with the username "chronos." From there, opening a command shell using "Ctrl+Alt+T" and entering the command "sudo /usr/sbin/chromeos-install --dst DRIVE" - replacing 'DRIVE' with the path to the Chromium .bin file on the USB drive - will install ChromiumOS. It's important to check at this stage to ensure that Chromium installed properly by removing the USB drive and rebooting the machine before logging in.
From there, a partition management tool such as KDE Partition Manager needs to be used in order to get the internal storage drives ready for the full version of Chrome OS. In particular, that tool should be used to shrink the sdX1 - where 'X' is the letter-designation of the ChromiumOS drive in question - to 4GB or delete sdX5 completely since it won't be needed. To get that done, the live-bootable Linux distro is needed, following the same steps as were used to install ChromiumOS but using that second USB drive. The distro will most likely allow itself to be installed or tested out - often shown as a "Live" option - and will need to be loaded up from that option as installing the distro will, in effect, nullify early steps taken or at very least just take up space. Once space is allocated properly, Chrome OS is finally ready to be installed on top of everything else. The computer will need to be rebooted, loading to the same first USB where the Chromium installer is to avoid running into problems with the partitioning.
Installing Chrome OS
This is the step where the extracted copy of the '.bin' recovery files for the official Chrome OS build and the extracted '.bin' recovery file for the secondary build is needed - loaded on the second USB drive alongside the aforementioned 'chromefy.sh' file. To begin with, booting from the USB drive should bring up the installation wizard yet again and the "Ctrl+Alt+F1" keys will need to be pressed again here as well. As with the previous step, users will need to sign in as "chronos" and open up the command terminal again with "Ctrl+Alt+T." Typing "lsblk" into that will return useful information helping to determine which drive the required files are on. Those are the files listed above so, if nothing else is present on the USB drive, it should be relatively easy to spot.
Once those have been noted - and it may be a good idea to read through the rest of this article to note which drives will be needed first, jotting down the correct files paths and drive designations - the final step is to input the remaining code to mount and install Chrome OS itself. That's accomplished by typing in the commands "sudo mkdir /home/chronos/tempfolder" followed by mounting the drive with "sudo mount /dev/X/ /home/chronos/tempfolder" - where 'X' is replaced with the drive designation for the USB drive.
Next, the command lines "sudo cd /home/chronos/tempfolder" and "sudo bash ./chromefy.sh /dev/sdX3 ./X.bin ./Y.bin" need to be entered, using the name of the recovery file in place of 'X' and the name of the secondary recovery in place of 'Y' - if needed as outlined above. Last but not least, "sudo mkfs.ext4 /dev/sdX1" needs to be entered, replacing the 'X' here with the primary hard drive or solid state drive of the computer itself. Spacing on each of those entries is also of vital importance to ensure that the system responds appropriately to the commands. Pressing "Ctrl+Alt+F1" will close out the command window and, after shutting down the system completely and removing all USB drives before booting up, turning the computer back on should load directly into the official Chrome OS build that was chosen at the beginning. Barring any issues with drivers or compatibility with the hardware, particularly the CPU, that should load up just as any brand new Chrome OS device would straight from the factory.