How to Install Windows 8 on Your Google Chromebook Pixel

Google-Chromebook-Pixel-Picture.jpg

Contents


Abstract

In this tutorial, I will walk you through installing Windows 8 onto your Google Chromebook Pixel. This guide is significant in that, to the best of my knowledge, no one has ever done this before (at least anywhere on the internet). This guide will also allow you to take a device that was previously only able to browse the web and turn it into a high-end ultrabook capable of running desktop applications and light games. As the top end Pixel is selling for $750 new on eBay at the time of writing, this is significant for consumers who want a nice and portable piece of equipment while still sticking to a budget.


Motivation

I had originally received my 64GB LTE Pixel when I attended Google I/O 2013. Although I was very impressed with the hardware, I felt that the Chrome operating system was restricting the capabilities of an otherwise incredible machine. Because of this, I deciding to ditch Chrome and load a more capable OS onto the device.

Although there are multiple guides on the internet discussing how to hack/sideload/install different varieties of Linux onto the device, there were none showing how to load Windows onto the device, or if it was indeed even possible. As the majority of the applications I use every day do not run on Linux (such as IE, Office, and Photoshop), and as I am much more comfortable in a Windows environment (Full disclosure: I am a Microsoft Certified Systems Engineer), I decided to do some pioneering into previously unknown territory.

About the time I was doing this, I noticed that this site (GBATemp) was running a contest for best text tutorial. So, at that point, I figured "What the heck, let's do it."


Background Information

The Chromebook Pixel was released by Google in February 2013. The device features and Intel i5-3427U dual-core processor clocked at 1.8GHz, 4GB of DDR3-1600 RAM, and either a 32 or 64GB SSD. The 64GB model retails for $1449 and includes an LTE modem, as compared to the 32GB model at $1299. Both models include a memory card reader, two USB ports, a mini DisplayPort out, a/b/g/n wireless, and Bluetooth 3.0 connectivity. Of note is the Pixel's 12.85 inch, 2560x1700 display, which features a somewhat different 3:2 aspect ratio. You get used to the odd aspect ratio pretty quickly, especially since it looks flat-out fantastic.

As a Chromebook, the Pixel features Google’s Chrome operating system, which is essentially just the Chrome browser. Features have been added over time, but Chrome OS remains little more than a dedicated browser.

Chromebooks traditionally feature secure boot technology from Google, meaning that the device will not boot beyond the firmware level if it does not detect a Google-signed version of the Chrome OS installed on the HDD/SSD. This means that most Chromebooks cannot be made to run anything other than the Chrome OS, no matter what PC-grade hardware they are running underneath.

Luckily for us, the Pixel is unique among Chromebooks in that it has an extra, unsecured firmware slot on the board. By default, this firmware slot is loaded with SeaBIOS, an open-source, traditional BIOS implementation. With the proper modifications, this BIOS can be chain loaded from the default firmware, and then used to load whatever operating system you would like. In this guide, this operating system happens to be Windows 8.


Preparing Your Pixel

Before you can install and boot any operating system other than the Google Chrome OS on your Pixel, you need to enable unsecured, legacy booting in the firmware. And before you can do that, you need to switch your Chromebook Pixel into "Developer Mode". To do this, follow these steps:

  1. Fully power off your Pixel.
  2. Press the power button while holding Esc+Refresh to boot into recovery mode.
  3. When you see the recovery screen, press Ctrl+D, then Enter to enable developer mode on the device. When in developer mode, your Pixel will display the recovery/warning screen you just saw for 30-seconds every time you start it up. There is, unfortunately, no way to disable this. From now on, however, hitting Ctrl+D will work to immediately boot into the Chrome OS instead of having to wait for the timeout.

Your Pixel will now sit there whirring and grinding for a few minutes in order to enable developer mode. Once your device is booted in developer mode, you can access a root-level bash terminal to tweak some settings. In order to accomplish this, follow these steps:

  1. Boot your Pixel with developer mode enabled.
  2. Press Ctrl+Alt+T.
  3. Run "shell".
  4. Run "sudo bash".

You should now be inside of a root bash shell. Feel free to poke and prod the system - there are plenty of interesting things to mess with. When you're done messing around, though, let's enable some settings in the Pixel's firmware to allow us to boot the WIndows 8 installer.

  1. Enter a root shell on your Pixel.
  2. Run "crossystem dev_boot_usb=1 dev_boot_legacy=1".

This command will both enable your Pixel to boot from a USB device, and to boot using it's unsecured firmware (SeaBIOS) slot. Now we can officially boot into the Windows installer! But wait, there's no DVD drive on the Pixel...


Making a Windows USB Installer

Since your Pixel doesn't have a DVD drive, you will need to install Windows via a USB drive. There are numerous guides around the internet detailing how to do this, but many require special tools that may or may not still work. Below I will walk you through a method to create a bootable Windows installer USB flash drive that requires nothing more than another working Windows machine, the Windows install disk, and a USB drive large enough for the install files.

  1. Copy the files off of the Windows install disk or .iso to a known location on your hard drive. The contents of a .iso file can be extracted using any program that can read the file format, such as PowerISO, WinRAR, or equivalent.
  2. Insert your USB thumb drive into your Windows machine. Your thumb drive will need to be at least 4GB in size to hold all of the files required for a Windows installation.
  3. Open an Administrator-level command prompt.
  4. Run "diskpart". This is the Windows command line disk partitioning tool.
  5. Once inside the diskpart shell, enter "list disk". This will return a list of all available disks on your system.
  6. After identifying which disk is your USB drive, enter "select disk <disk number of your USB drive>" to operate on that disk.
  7. Run the command "clean" to wipe any existing partitioning information off of the USB drive. THIS WILL WIPE ALL OF THE DATA ON YOUR DRIVE. Back it up first.
  8. Run "create partition primary" to create a new primary partition on the USB drive that is the full size of the drive
  9. Run "select partition 1" to verify future operations are on partition 1 (the one we just made).
  10. Set the partition as active (bootable) by running the "active" command
  11. Format the partition as a new NTFS partition by running "format fs=ntfs quick". This may take some time depending on the size of your USB drive.
  12. Enter "assign" to force Windows to assign your newly formatted USB drive a drive letter and mount it.
  13. Exit diskpart ("exit") and move your command prompt session to the "boot" subdirectory of the directory to which you extracted your Windows install disk files to in step 1. This can be done by entering "cd /d <path to root of extracted files>\boot".
  14. To prepare the USB drive to boot the Windows installer, run the command "bootsect.exe /nt60 <drive letter of USB drive>". This tells the partition on the USB flash drive that it will be booting using the NT 6.0 bootloader.
  15. Finally, copy all of the files from the Windows install disk onto the USB flash drive. Voila! You now have a working Windows 8 USB install disk.


Installing Windows on the Device

Okay, by now you should have yourself a Chromebook Pixel in developer mode with legacy and USB boot enabled, as well as a Windows 8 install USB drive. To install Windows on your Pixel, follow these steps:

  1. Grab your USB hub and insert your Windows USB install drive, a USB mouse, and a USB keyboard. The Windows installer does not detect the Pixel’s keyboard or touchpad, necessitating the use of the latter two devices.
  2. Completely power off your Pixel.
  3. Power on your Pixel. When the warning screen is shown, press Ctrl+L to boot into the legacy BIOS.
  4. When prompted, press ESC on the keyboard to bring up the boot device selection list.
  5. Select your USB thumb drive from the list.
  6. The Windows installer will now load. A new thing with Windows 8 is that you have to enter your product key in order to actually proceed with the installation, so have yours ready. If you do not have yours handy, or are too lazy to make it handy, here is my Windows 8 Pro product key: CBCD4-FDGYM-HKHP9-N8M6D-M7RDH. This will get you through the installer, but will not allow you to activate, as apparently even though I bought it from the Microsoft Redmond campus employee store, it’s not actually legit. But again, it will allow you to at least install Windows, so you’re welcome.
  7. When you arrive at the step asking the drive on which you would like to install Windows 8, select “Advanced options”. You will now see that there are a TON of partitions on your Pixel’s drive already. If you want to install Windows, you will need to delete ALL of them. THIS WILL WIPE ALL OF THE DATA ON YOUR DRIVE. Back it up first.
  8. From there it’s just a standard Windows install. You can do it! I believe in you!


First Boot

After the Windows installer has completed, your system will reboot. When once again greeted with the scary Google warning screen, press Ctrl+L to boot via the BIOS and into Windows. YOU MUST DO THIS EVERY TIME FROM NOW ON.

Windows will boot and you will be greeted with a friendly blue… what? A friendly blue rectangle on the left hand side of your screen. This can’t be right!

This friendly blue rectangle is actually the first boot welcome screen for Windows 8. The reason that it is smashed into the left ¼ of your screen is because although Windows 8 comes with a driver for your HD 4000 graphics, and correctly detects your display resolution of 2560x1700, Intel did not test the driver for such crazy display densities before they released it and it is buggy!

In order to be able to actually get into Windows to do anything, we need to work around this. Follow these steps:

  1. Reboot your machine with your install disk, keyboard, and mouse combo connected once again.
  2. Press Ctrl+L to boot via the BIOS.
  3. Press ESC when prompted to bring up the boot device selection list.
  4. Select and boot from your Windows USB install device.
  5. When the installer loads, instead of selecting "Install now", choose "Repair your computer".
  6. From here, select "Troubleshoot", then "Advanced Options", then "Command Prompt". You will be dropped into an Administrator command prompt.
  7. In order to allow us to get into Windows without any display issues, we are going to have to force Windows to boot with the default graphics driver at 800x600 resolution. To accomplish this, run the command "bcdedit /set {default} vga on".
  8. Reboot your Pixel and boot into your Windows 8 install. You will now find that you can see what is going on and walk through the first boot wizard. Go ahead and set everything up all the way to your desktop.


Installing Drivers

Now that you have finally made it to the Windows desktop, don’t forget to input your personal, legit product key and activate it – otherwise all of your attempts at running Windows Update will fail (I spent far too long wondering why nothing would update when I first started messing with Windows 8).

As with any new Windows install, we now need to go and get all of our updated drivers, especially the one for the HD 4000 graphics so it can drive the display properly. Let me save you some time, though! Windows Update will get most of your drivers for you automatically, so just focus on getting one driver – the one for your wireless card.

This can be done fairly easily. Go into device manager and get the hardware ID of your wireless card (PCI\VEN_168C&DEV_0034) and search it on the Microsoft Update Catalog. This should return you a list of Microsoft verified drivers for that device. Just so you know, it’s an Atheros AR5BMD222 Wireless Network adapter.

Download the .cab file from the site containing the driver you want, extract the files from it, and transfer them to the Pixel. You can then update the device drivers of the unknown Networking device by using Computer Management.

After you have your wireless card up and running, and are connected to a wireless network, go ahead and run Windows Update. It should pull down your new Intel HD 4000 Graphics driver, which can push the native resolution of your display just fine! I would suggest 200% scaling, though, because everything in desktop mode will now be incredibly tiny. Don't forget to disable Windows from booting in 800x600 resolution by running "bcdedit /deletevalue {default} vga" from an Administrative command prompt.


Caveats

Having reached this point, you are probably starting to realize there are a few caveats with using Windows 8 on the Pixel right now:

  1. Your keyboard won’t work.
  2. Your touchpad won’t work.
  3. Your touchscreen won’t work.
  4. The system sometimes powers off instead of going into standby.
  5. You have no battery indicator.
  6. You cannot adjust screen brightness.
  7. You cannot adjust the audio level.

Issues 1, 2, and 3 stem from the fact that all input methods on the device are hanging off of the proprietary (only in Chromebooks) Google embedded controller (or GoogleEC for short). In Device Management, this would be the Unknown device with hardware ID "ACPI\VEN_GGL&DEV_0002". There is currently NO DRIVER available for Windows that will allow it to interface correctly with this device.

Issue 4 stems from the unique way in which Google handles their Trusted Platform Module (TPM) on the Pixel. There is a known fix for this on Linux, but I have yet to determine an equivalent operation on Windows.

Issues 5, 6, and 7 stem from what I’m assuming are non-standard hardware interfaces used by the Pixel.


Future Work

Solve the issues in the caveats section.

For issues 1, 2, and 3, I have begun to petition developers at Google for resources related to the GoogleEC in order to perhaps develop a Windows Kernel Mode driver to interface with the device. You can follow all the progress, petition for more help, or ask your own questions in this thread on Google Groups.

Issue 4 seems to be related to how the Chromebook handles power management. If I can simply find a way to make the software ignore shutdown requests from the firmware, then I believe this would cease to be an issue. The equivalent fix for Linux is mentioned here.

Issue 5, 6, and 7 will need to be addressed, but likely after the previous 4, so I haven’t put much thought into them yet. The audio problem seems to stem from the fact that there is no specific driver install for the audio controller. Although the audio controller identifies as being as being a Creative SoundBlaster card, none of the drivers I have yet tried have worked correctly.

If you have any questions, comments, feedback, suggestions or otherwise, please post it either in this thread or in the one on Google Groups. Your help and insight could one day lead to the Pixel playing perfectly with Windows!


About the Author

The author of this tutorial has a Bachelors of Science in Computer Engineering from the University of Pittsburgh, where he is currently pursuing his Ph.D. in the same field. The author also holds a number of Microsoft certifications, including Microsoft Certified Systems Engineer, Microsoft Certified Systems Administrator, and Microsoft Certified Technology Specialist for Windows 7, as well as the CompTIA Network+ certification.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,309
Trophies
4
Location
Space
XP
13,889
Country
Norway
Not bad, but you should've gone with Windows 7. I'm not sure if there's an advantage to getting this chromebook rather than an ultrabook though. Is it cheaper than comparable laptops?
 

PityOnU

Well-Known Member
OP
Member
Joined
Jul 5, 2012
Messages
1,183
Trophies
1
XP
1,616
Country
United States
Not bad, but you should've gone with Windows 7.

The Chromebook has a multi-touch screen, so Windows 8 was a no-brainer.

I'm not sure if there's an advantage to getting this chromebook rather than an ultrabook though. Is it cheaper than comparable laptops?

From the tut

This guide will also allow you to take a device that was previously only able to browse the web and turn it into a high-end ultrabook capable of running desktop applications and light games. As the top end Pixel is selling for $750 new on eBay at the time of writing, this is significant for consumers who want a nice and portable piece of equipment while still sticking to a budget.

Granted, you can pick up decent ultrabooks in this price range right now, so no, buying this Chromebook is not a good idea. 5000 people got one of these at Google I/O, though (probably the majority of people who own one), so this would be useful for them.

Still need someone who is able to program Windows drivers to get this running well.

Some of the other issues can be solved by compiling a flashing a new version of SeaBIOS to the device (the one it comes with is buggy). I will have to mess with this some in the future and post my findings here for everyone else.
 
  • Like
Reactions: Margen67

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,309
Trophies
4
Location
Space
XP
13,889
Country
Norway
The Chromebook has a multi-touch screen, so Windows 8 was a no-brainer.



From the tut



Granted, you can pick up decent ultrabooks in this price range right now, so no, buying this Chromebook is not a good idea. 5000 people got one of these at Google I/O, though (probably the majority of people who own one), so this would be useful for them.

Still need someone who is able to program Windows drivers to get this running well.

Some of the other issues can be solved by compiling a flashing a new version of SeaBIOS to the device (the one it comes with is buggy). I will have to mess with this some in the future and post my findings here for everyone else.
Drivers could be a big problem. I suppose the OEM Intel HD graphics drivers will work but not so sure about everything else.
Also, on the touchscreen thing, I checked specs and didn't see the touchscreen part so I thought it didn't have one :P
The 2,560 × 1,700 resolution is definitely one reason this thing would still be worth getting though. I hardly ever see laptops/ultrabooks with that kind of screen resolution, and when I do it's normally a Macbook.
 

PityOnU

Well-Known Member
OP
Member
Joined
Jul 5, 2012
Messages
1,183
Trophies
1
XP
1,616
Country
United States
Drivers could be a big problem. I suppose the OEM Intel HD graphics drivers will work but not so sure about everything else.
Also, on the touchscreen thing, I checked specs and didn't see the touchscreen part so I thought it didn't have one :P
The 2,560 × 1,700 resolution is definitely one reason this thing would still be worth getting though. I hardly ever see laptops/ultrabooks with that kind of screen resolution, and when I do it's normally a Macbook.

If you read the tut (you probably should before commenting on it), you will see that the vast majority of the hardware used in this thing is not bespoke and is already in use in other places - meaning driver support is already there for everything... short of the embedded controller (EC).

The EC is used by all of the input methods on the device as the main bus for communicating with the rest of the system. Unfortunately, Windows does not know how to handle the EC, so it can't enumerate any of the attached devices, leaving you with a cute little brick of a system.

Unfortunately, I'm not sure where I would go to find people who are good at writing Windows drivers, and it's unlikely that any will step forward without some prodding due to the fairly limited numbers of this device out there. I could potentially learn how to do it and mess with it myself, but I simply don't have the free time in my life anymore.
 
Joined
Apr 12, 2009
Messages
379
Trophies
1
Age
28
XP
540
Country
United States
Most Chromebooks are standard x86-based platforms. There is no reason that you shouldn't be able to install whatever the hell you want on them.

Truth of the matter is that Google locks the platform down to stop you from doing that. Total BS.

Maybe I'm just not understanding. Do you want to dualboot Windows + ChromeOS? Because that defeats the purpose of Google even making the thing. If you want to install an OS on something, get another computer for that purpose. I'm pretty sure with the money required to buy a chromebook you could make a desktop 3x faster and better or a laptop 3x more useful.

Then I saw a post after your reply to my comment and I still don't see it as a viable reason. Even though its touchscreen, still doesn't mean put windows on it. Whatever, I think this thread is a joke. No further replies from here on out.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,309
Trophies
4
Location
Space
XP
13,889
Country
Norway
If you read the tut (you probably should before commenting on it), you will see that the vast majority of the hardware used in this thing is not bespoke and is already in use in other places - meaning driver support is already there for everything... short of the embedded controller (EC).

The EC is used by all of the input methods on the device as the main bus for communicating with the rest of the system. Unfortunately, Windows does not know how to handle the EC, so it can't enumerate any of the attached devices, leaving you with a cute little brick of a system.

Unfortunately, I'm not sure where I would go to find people who are good at writing Windows drivers, and it's unlikely that any will step forward without some prodding due to the fairly limited numbers of this device out there. I could potentially learn how to do it and mess with it myself, but I simply don't have the free time in my life anymore.
Don't even know what tutorial you were mentioning to be honest. I read the first post and that was pretty much it.
But that does sound pretty sucky. I'm sure someone will figure it out in time though.
 

PityOnU

Well-Known Member
OP
Member
Joined
Jul 5, 2012
Messages
1,183
Trophies
1
XP
1,616
Country
United States
Maybe I'm just not understanding. Do you want to dualboot Windows + ChromeOS? Because that defeats the purpose of Google even making the thing.

What Google has made is a generic x86 ultrabook with a single bespoke piece: the embedded controller. The system comes with an Intel i5 processor, which with ChromeOS, is used exclusively for web browsing. That's it. Browsing the web. That is a huge waste of processing power.

Google should be applauded for making ChromeOS - it's a very cool idea. But making a machine as powerful as the Pixel for the exclusive purpose of browsing the web? No, that's pretty stupid.

If you want to install an OS on something, get another computer for that purpose. I'm pretty sure with the money required to buy a chromebook you could make a desktop 3x faster and better or a laptop 3x more useful.

This thread is not me telling you to buy a Pixel. The Pixel is a totally shit product.

This thread is for people who already own a Pixel because they wanted to play with it, or for people (like me) who got one FOR FREE.

I already have another laptop running Windows 8, and as such, I never use my Pixel because of it's limitations. If, however, it was a Windows ultrabook, I would actually use it fairly regularly because it is much more portable than my other devices.

Then I saw a post after your reply to my comment and I still don't see it as a viable reason. Even though its touchscreen, still doesn't mean put windows on it.

Again: for me, putting Windows on the Pixel actually makes it a useful product. Otherwise, it is not.

Whatever, I think this thread is a joke. No further replies from here on out.

Well, thanks for calling all of the time I invested into this, and then the time it took to write and publish a guide here, a complete joke.

I find it odd that you feel that way considering you are currently on a forum dedicated pretty much exclusively to getting third-party, unverified code running on various devices (derp). If it was Microsoft limiting the OS you could run on your devices, you would probably be upset.

Also, your mom's a joke.
 

minnus

New Member
Newbie
Joined
Aug 22, 2013
Messages
1
Trophies
0
Age
36
XP
41
Country
United States
Thanks for this ~ I appreciate that you put so much effort to create this tutorial - I can't wait for someone to overcome the driver issue!
 

Dixon

New Member
Newbie
Joined
Oct 13, 2013
Messages
1
Trophies
0
Age
44
XP
51
Country
Venezuela
Good afternoon, I have done everything it says the post but when I restart the computer and give CTRL L does nothing, I would like to know what is the problem
 

Konstantinos

New Member
Newbie
Joined
Jul 16, 2014
Messages
1
Trophies
0
Age
43
XP
52
Country
Why all this trouble? You can have Windows running in parallel with all drivers,touchscreen, keyboard etc working very easily!

Just do this:
1) Install Linux with Crouton (then you have both OSs running in parallel and you can switch with a shortcut).
2) Install QEMU on linux for x86 system emulation.
3) Install whatever flavour of windows on QEMU with the KVM enabled (i5 supports CPU virtualization) and enjoy Windows running at full native speed IN PARALLEL with Chrome!

So simple :-)
 
  • Like
Reactions: artemisu

The Catboy

GBAtemp Official Catboy™: Boywife
Member
Joined
Sep 13, 2009
Messages
27,951
Trophies
4
Location
Making a non-binary fuss
XP
39,372
Country
Antarctica
Why all this trouble? You can have Windows running in parallel with all drivers,touchscreen, keyboard etc working very easily!

Just do this:
1) Install Linux with Crouton (then you have both OSs running in parallel and you can switch with a shortcut).
2) Install QEMU on linux for x86 system emulation.
3) Install whatever flavour of windows on QEMU with the KVM enabled (i5 supports CPU virtualization) and enjoy Windows running at full native speed IN PARALLEL with Chrome!

So simple :-)

Crouton actually isn't all that good honestly that would take up a lot of space. Verses just flashing using this rom to just remove ChromeOS all together and allow installing of pretty much any OS.
I actually use that ROM myself on my Acer C7 and I have been able to install pretty much every Linux Distro I threw at it and my old roommate was able to get Windows 8 running, but still required a Wired Keyboard and Mouse.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,850
Country
Poland
Not bad, but you should've gone with Windows 7.
Switched to Windows 8.1 last week - never going back. Faster boot time, less RAM usage, better stability and better performance. Windows 8 flopped, this much I'm willing to admit, but 8.1 is excellent - there's no reason to stay on 7 at all unless you're unlucky enough to be unable to find compatible drivers.
 
  • Like
Reactions: Margen67

artemisu

New Member
Newbie
Joined
Feb 20, 2015
Messages
3
Trophies
0
Age
29
XP
52
Country
United States
Why all this trouble? You can have Windows running in parallel with all drivers,touchscreen, keyboard etc working very easily!

Just do this:
1) Install Linux with Crouton (then you have both OSs running in parallel and you can switch with a shortcut).
2) Install QEMU on linux for x86 system emulation.
3) Install whatever flavour of windows on QEMU with the KVM enabled (i5 supports CPU virtualization) and enjoy Windows running at full native speed IN PARALLEL with Chrome!

So simple :-)

help me out here haha i am installing xfce unless thats not the standard anymore
 

PityOnU

Well-Known Member
OP
Member
Joined
Jul 5, 2012
Messages
1,183
Trophies
1
XP
1,616
Country
United States
I'm surprised by how often this thread keeps getting resurrected. That being said, it is the only guide online on getting (broken) Windows onto the Pixel.

I've recently been using Fedora on the Pixel. Works pretty well out of the box. Problem is, the latest kernel patches break support for keyboard, pointer, and touchscreen, making it exactly like Windows. :P

Apparently, installing the upstream rawhide kernels fixes the issue, though.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Playing the Judge Dredd arcade game prototype lol I can see why they didn't finish it but at the...