Raspberry Pi Emulator for Windows 10




About: I'm a YouTube Maker and Creator who loves to find ways outside of the box to create and use things. My primary mission is to teach what I have learnt in the simplest way possible to all human kind. Follow me...

In this article, you are going to learn how to run Raspbian on your Windows 10 PC.

If you really enjoy this article, consider checking out my TechWizTime YouTube Channel.

And for an awesome source of Raspberry Pi Accessories, check out my Raspberry Pi Amazon List.

Let’s get started!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: What You'll Need

  1. QEMU
  2. Compatible Kernel
  3. Raspbian
  4. Windows 10
  5. Keyboard
  6. 7Zip

Step 2: Download QEMU

Go to http://qemu.weilnetz.de/w32/

Select the 32-bit folder.

Click on the version with the most recent modify date.

When it downloads, use 7zip to extract it’s contents into a folder.

Step 3: Download the Kernel

Go to https://github.com/dhruvvyas90/qemu-rpi-kernel

Select the most recent file.

Click on the “Download” at the left of “History”

After it downloads, place the file inside the folder where you extracted the QEMU.

Step 4: Download Raspbian

Go to http://downloads.raspberrypi.org/

Click on “Downloads” Select “Raspbian”

Download the Pixel desktop version.

After it downloads, extract the contents on the same folder where you extracted QEMU.

Step 5: Set Up the Emulator

Get inside the folder where you extracted Raspbian, QEMU and placed the Kernel.

Create a new text file and name it “start.bat”

Right click on it and press “Edit”

Type in “qemu-system-arm -kernel kernel-qemu-4.4.34-jessie -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append “root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash” -drive “file=2017-03-02-raspbian-jessie.img,index=0,media=disk,format=raw” -redir tcp:2222::22″

Save the file and close it.

Type “cmd” on the address bar to start up the command prompt.

In the command prompt, type “start.bat”

Type in “sudo nano /etc/udev/rules.d/90-qemu.rules” Press “Enter” Type in “KERNEL==”sda”, SYMLINK+=”mmcblk0″ KERNEL==”sda?”, SYMLINK+=”mmcblk0p%n” KERNEL==”sda2″, SYMLINK+=”root””

Press “Ctrl X” “Y” “Enter”

Close the emulator.

Go to the “start.bat” file.

Delete the line “init=/bin/bash””

Save and close the file.

In the cmd, type in “qemu-img.exe resize 2017-03-02-raspbian-jessie.img +4G”

Press “Enter”

A small error will appear, but the resizing will take effect.

Type in “start.bat”

Press “Enter”

Step 6: Optimize the Emulator

Once it loads, open up the Terminal.

Type in “sudo fdisk/dev/sda”

Press “Enter”

Type “P”

Press “Enter”

Type “D”

Press “Enter”

Type “2”

Press “Enter”

Type “N”

Press “Enter”

Type “P”

Press “Enter”

You’ll be asked for the first sector of the partition, type in the number you see on the first partition +1. IE: 20298 + 1 = 20299

Press “Enter”

When it ask for the last sector, press “Enter” to use the whole ammount of the image.

Type “W”

Press “Enter”

You’ll get a message stating that the creation of the partition failed, shut down the emulator for the changes to take effect.

In the cmd, start the emulator by starting the “start.bat” file.

Get inside the Terminal of Raspbian once it loads.

Type in “sudo resize2fs /dev/sda2”

Press “Enter”

A message will appear saying that the partition rezise was successful.

Type in “sudo nano /etc/dphys-swapfile”

Press “Enter”

Go down to where it says “conf_swapsize=100” and change the “100” to “1024”

Press “Ctrl X” “Y” and “Enter”

Type in “sudo /etc/init.d/dphys-swapfile stop”

Press “Enter”

Type in “sudo /etc/init.d/dphys-swapfile start”

Go to “Raspberry Pi Configuration”

Click on “Enabled”

Locate “SSH” and press “Enable”

Click on “Performance”

On “Overclock”, select “Tubo (1000GHz)”

EXTRA: You can go to Localization and select your country of residence or the country you prefer and then click on “Keyboard” to change your keyboard settings.

Press “OK” to save all of your changes.

Shut down the Emulator.

Open it again via cmd using the “start.bat”

If you turned on SSH, you’ll see a warning, click on “Yes”

Congratulations, you’ve just installed Raspbian on your Windows 10 PC via QEMU, configured it, optimized it and that’s it for this Instructable.

If you enjoy this Instructable, consider checking out my TechWizTime YouTube Channel.

And for a good source of Raspberry Pi products, check out my Raspberry Pi Amazon List.



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Make It Fly Challenge

      Make It Fly Challenge
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    13 Discussions


    8 months ago

    Regarding “sudo fdisk /dev/sda”
    After doing this part I get
    "No filesystem could mount root, tried: ext4
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)"

    Does anyone know how to get out of that hole, and even better, what to do instead?


    8 months ago

    The post is very outdated ...


    1 year ago

    I needed to do this emulation so many times, I created a small program to do it in one click! I also thought that other people would find it useful so I put on a website for it. You can find it here:


    2 replies

    Reply 1 year ago

    Hey mate, your program is working fine for me. Thanks for that! Your next coffee is on me ;-). Cheers.

    P.S.: Unfortunately, I wasn't able to use this instruction here with "2017-11-29-raspbian-stretch-lite.img". Only VladivariusV script did the trick.

    Pavan Kumar VarmaG

    1 year ago

    this is the error i get when i execute start.bat file

    qemu-system-arm -kernel kernel-qemu-4.4.34-jessie -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append ôroot=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bashö -drive ôfile=2017-03-02-raspbian-jessie.img,index=0,media=disk,format=rawö -redir tcp:2222::22

    qemu-system-arm: -redir tcp:2222::22: The -redir option is deprecated. Please use '-netdev user,hostfwd=...' instead.

    qemu-system-arm: -append ⌠root=/dev/sda2: Could not open 'panic=1': The system cannot find the file specified.

    1 reply
    TseboLPavan Kumar VarmaG

    Reply 1 year ago

    Might be late: I tried this and it works. Retype all the quotation marks white editing the file in a text editor (notepad etc)


    1 year ago

    After 4 failed attempts at this I think the op might want to review the content for usability. I get the machine spun up ok, but it all goes downhill from there. Particularly the stage in resizing the partition.


    You’ll be asked for the first sector of the partition, type in the number you see on the first partition +1. IE: 20298 + 1 = 20299


    There are 3 numbers on the first partition. Which one do you mean? I was guessing the end of the partition, but again there are 2 numbers for that. I tried both and hosed the machine on both occasions.

    So on my fourth and final try, I used gparted to resize sda2, made the changes to the swapfile, set the pi config options for turbo mode and now my machine is toast again.

    Says it can't mount the kernel file system.

    It's a great article, and has been fun to try but frustrating to not have anything to show for my efforts after around 6 hrs of tinkering.


    1 year ago

    Thanks for creating this tutorial but something is wrong... I too am running into the same problem as the other commenters. I've tried several things. First, I tried installing QEMU using the installer and I tried just extracting it to a folder like you did in the video. No difference between the two (apart from having to push windows to allow me to move the various other files into a program files (x86) subfolder). Then I tried it with the current version of Raspbian (09-07 stretch) and with the version that was available when you created the tutorial (03-02 jessie available at http://downloads.raspberrypi.org/raspbian/images/raspbian-2017-03-03/) and no change there. I too could not get the batch file to run so I had to manually type the line into the command prompt. That allowed me to launch the emulator, but it reboots and then closes. Looking at the screen grab (attached) just before reboot, I wonder if that line, "kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)" is the culprit. Any thoughts on how one might fix this? Thanks!

    screen capture.png

    1 year ago

    Hi, I have reached half way after typing start.bat its showing'qemu-system-arm' is not recognized as an internal or external command,

    operable program or batch file. what should I do..Plz help.


    2 years ago

    Hi TechWiz , I followed your instructions, reached half way. but after doing a partition and shutting it down. The emulator runs and says "rebooting 1 second" then goes away. Please help


    Reply 2 years ago

    The problem with making videos so late at night is occasionally I make a slip up. But at least it is a funny one :) Thanks for the feedback too :)