Feature, Limitations and details

Features
PXE and mapped shares work as expected so per-user versions of Nano can be delivered. One of the instant advantages is the ability to roll out Nano-based clients which is an easy way to increase effiency and reduce downtimes: a reboot fixes every software problem, always.
Privacy is inherent in Nano, Imagine you have a work laptop and your kid wants to play on some website. You can reboot into Nano and know that your work drive isn’t even accessed and even if the save nfunction is used it does not affect your work OS/files.
The save functionality saves your user folder, programdata and user registry settings excluding the microsoft section of the registry. This is stored in the Nano folder and restored transparently on startup. The sync files are in Rar format (might switch to 7z) so can be edited manually.
Zero-trace operation, The profile and cache are generated in the ramdisk and so are gone when the machine reboots or the “clean ramdisk” option is used. A persistent profile option is available which uses a profile within the Nano folder (C:\Nano).
A software called peerblock is used as a system-wide firewall, with preset lists amounting to over 1.1 billion IP4 addresses. By default it also stops HTTP requests, basically your machine is on high privacy mode. It’s easy to turn these protections off and add a whitelist.
Every time you boot Nano it is effectively installing a version of Windows in Ram and booting from it. Since it’s Windows PE it isn’t designed to write to the drive but sets up a ramdisk instead. It then loads the compressed “live” windows PE image into the ramdisk and boots it.
Within one boot the system has to have everything in place so getting some applications or drivers fully working took a lot of work. Many scripts were created to perform actions such as enabling a pagefile, saving your settings, getting everything running and tidied every boot, etc.
PrimoRamdisk and Primocache (pro) are integrated as are ASIO for audio, Sandboxie (pro), Process Hacker, qBittorrent, Winamp, Media player classic (with high-performance hevc codec installed on nanocore), Aeroadmin, Chrome, irfanview, CPU Emulator (pro), Winrar and more.

 

Nano Pro’s Nvidia suite supports (Nano Core could support them too).
OpenCL, OpenGL, Vulkan, Cuda, Flex, Apex, PhysX, DX11, NVenc, DXVA
Some example apps/games tested and working: Photoshop, Premiere Pro, Audition, Lightwave 3D, Tor browser, Nvidia Flex Demo, Blender, Firefox, Luxmark, Cinebench, CLBenchmark, Steam, Doom (Vulkan and DX11), Eve Online, Battlefield One, Mass Effect Andromeda, No Man’s Sky (with CPU emulator), Chrome apps/games with full WebGL, Renoise, Cubase, Traktor DJ, Neatvideo, XNALara.
Known Limitations
Windows PE lacks AVX or better instruction sets meaning some apps won’t work, however I integrated intels CPU emulator into Nano pro so you can run those apps. They run emulated, so advanced instructions slow things down rather than speed things up.
Current builds run as the system user meaning that teamviewer does not work. The chrome extension of teamviewer works, there is a free alternative called Aeroadmin built into 0.8. Skype also works through the chrome extension, with the desktop version not working with 0.8.
At this early stage there are some applications that are either untested or more difficult to get working on Nano. This is often to do with the way that some applications/games work or their related DRM. Luckily though, the majority of software already works very well.
For apps/games that use complex DRM or launchers, sometimes the only way to get them work is to apply a crack to remove the software protection. If you own the software this isn’t actually illegal.

NOTE: DX12 and AVX are working in the newer versions (This article is dated Sep 2017)

 

 

Core advantages

  • Very low system footprint
  • Runs entirely from RAM and doesn’t need a storage medium
  • Completely resets to default (or most recent save) at every reboot
  • Does not accumulate junk
  • Is delivered as a ~600MB file, updating is as simple as replacing it with a new one
  • Ultra fast on any hardware
  • High performance and low power
  • The majority of spyware/malware is unable to penetrate Nano beyond a simple reboot
  • Pro (extends application compatibility, 4GB minimum RAM and Nvidia GPU recommended)
  • near-complete Nvidia GPU support
  • Workstation-class platform supporting all Windows 10586 standards
  • Full .NET support, (Java possible but not currently included)
  • Full X86+x64 support (not sure what the maximum RAM is, I’ve been testing with 24)
  • Integrated, optional Sandbox increases compatibility with difficult apps such as Cubase
  • CPU Emulation for AVX upwards (these instructions are not supported by Windows PE)

Usage Scenarios

  • Anywhere where a portable Windows OS would be useful
  • Portable Isolated Steam/Kids browser
    Feel free to play games or apps on any computer
  • Portable Chrome-OS
    Chrome setup with clean and persistent profiles
  • Kiosk
  • An ATM or information system
  • Internet Cafe
  • Fault-free super-fast browsing
  • Automotive
    Runs NVidia Automotive AI
  • Portable DJ setup
    Everything just set up the way you want it, tunes, drivers, setups
  • Workstations
    You want your machine to run Photoshop all day long
  • Staff Installations
    I need our enterprise software or a browser, with my own profile.
  • Engineering Installations
    Preconfigured OS and Apps for computer management
  • Privacy conscious portable TOR browsing
    A USB-stick private browser using a portable, randomised, zero-trace Windows setup
  • Virtual Machines
    Private, clean and sandboxed virtual OS for internetting on a workstation
  • Safe browsing session
    In a public place or to safeguard your current PC from harm

 

 

Modes of operation

  • Normal

Runs using the C drive as the medium for the Nano profile

  • Isolated

Runs without access to the computer drive, using USB/RAM for the Nano profile

  • Network

Runs using a mapped network drive for the Nano profile
All modes

  • Create a nano folder with subfolders if a storage medium is available
  • Run from RAM by default
  • Can save/restore if a storage medium is available

Early Scope

Nano is a portable OS and for the most part, any portable app has the potential to work with it. The default suite of built-in applications is not refined yet but already “just works”. Like the old-skool computers – your default Operating system has a suite of preferable apps.
But since it’s based on Windows PE and built up from scratch, we can build Windows PE apps, that are basically just a computer that boots into that one application and literally does nothing else. If it’s necessary to run the program , it’s in there but if it’s not – we strip it away.
Imagine for example that any computer can become any specific application. Say a video editing console, dj booth or an audio workstation are simply a boot-menu item. Your DJ stick turns any computer into your traktor setup, your tunes – without any messing around.
Various builds can be made from different versions of Windows, however the current ideal source version is Windows 10 10586.162. This has shown to be a good basis and everything is working, including the TOR browser. Nano Pro uses the x64 version of 10586.162.
Currently we’re testing its performance and features such as PXE-boot and VM editions and everything is working as expected. Nano differs from standard Windows in a number of ways but if your needs are met then the advantages of using it are game-changing.
One of our goals is to create a drop-in business package that is centrally managed by one console and OS-related errors would be practically eliminated. Preconfigured-systems with an “idiot-proof” approach should be a market we can innovate in.
Diskless devices work without any preset data, but contains chrome and other default applications that can run entirely in ram or store the profile persistently on the storage device. This could be a network drive, usb stick, SSD.
In august 2017 full VMware compatibility was added, along with a mapped network-drive that acts as the C drive, nano save/restore working. This means a thin client or VM can start from PXE, have a unique network folder on the server and store everything on the server.
Companies can assign custom builds of nano to each employee with their own shared folder on the server. Profiles can be applied to each user, so their entire OS is focused on their task only. No complex Windows management, everything automated out of one machine.
Our Enterprise hardware can be based on this process, having a drydock server and multiple hardware thin clients. Each client is activated by a custom OS booted from the user’s device using local or network storage depending on the situation.
These services need to be developed but I know what is needed and I believe we can make good deals with organisations we ally with. Our overall goal is to make computing better and easier, packaging up some software and solutions, opening up a new area of exploration.

Early Build Process

The Build process I started by taking a pre-built Windows PE x64 “Live CD” – by Gandalf. I spent the first month modding this disk extensively – a total conversion to Nano Pro. The first goal was to expand on the working Nvidia/AMD drivers in the Build of PE I was customising.
Within the first week I had the Nvidia suite working, including Cuda, OpenCL/GL, NVEnc, PhysX, Apex etc working. Meaning many modern games ran perfectly, modern apps such as Premiere and Photoshop, Chrome or Specviewperf ran with all advanced GPU features working.
Then a save/restore script needed to be developed to capture the relevant changes and restore them transparently on every boot. It’s important that this process doesn’t save any unnecessary files otherwise it would bloat the process, also it has to avoid allowing changes to the system.
The next month was spent getting everything working, exploring what could be removed/changed with the source build of Gandalfs PE (32 and 64bit) and solving 100s of issues, much of which I couldn’t find any information even within the online community.
I had to go way deeper into Windows than I ever had before and for the first time I really felt like I’d covered some really new territory in the world of Computing. I knew how life-changing this mini-OS could be for people all over the world.
At this stage we had recognised that there was a lot more benefit and further potential for this project. I decided to find the software Gandalf had used to create his build of PE and build my own. For the next two weeks I learned how to make a stable, simple and effective Windows PE.
It’s not as easy as it sounds, to get the balance right and not break anything. Since I had created my own application and registry suite I opted to avoid the majority of the Windows PE builder software options and focus purely on building a PE that is as compatible as possible.
Then for the next 6 weeks I rebuilt the previous version of Nano with the benefit of having a stable and specifically built clean Windows PE that I knew exactly what was there or not. I never needed to use Windows to develop Nano, I would go for weeks without ever using windows.
It was very fast because I would boot nano, check my last changes worked and if not then revert and reboot. I could explore with changes on my live Nano system and if they work, I put them into the Nano image and reboot. With trial and error I ended up getting a lot of stuff working.
At some point with this approach you also need to start from scratch again sometimes. Half way in I started to save out the registry and file changes so they could simply be applied to a clean image to produce nano. This happened about a dozen times to create 0.8 – my first clean nano.
One aspect I wanted to explore with this version was that when you run this system – you are the system user itself. You’re given full access to the computer within, because this build is still a test version – the System user gives us unhindered access which is useful for development.
During this initial 3 month period, around 3500 builds of Nano were created

The Initial Idea

Originally, while dabbling with custom Windows builds, I started modding Windows PE quite a lot. I also experimented with customising Windows PE and had the idea that it would be great to create a static and therefore bulletproof OS with PE as the basis.
Before I ever got around to building anything substantial, I had learned that the Boot image for Windows install is also Windows PE and I had known this was loaded entirely into memory at startup. This led me to realise that any PE build would also sit compressed in RAM.
Gandalfs Windows PE disk showed a working video driver that in very basic terms supported various Nvidia, Intel, AMD or S3 chipsets. I used those as a template to create custom drivers by combining the PE drivers with files and registry sweeps of Nvidia drivers in standard windows.
After a lot of customisation and problem-solving there was a basic working platform that went beyond the limitations most people are accustomed to. As of the time of writing, most of the PE hobbyist community don’t understand the need for an x64 Windows PE build.
So from this initial “breakthrough”, layers were added into nano including default applications, files/registy extracted from a full windows installation using the same version (10586.162). Some visual design and a lot of bug-fixing later – a functional, all-in-ram windows/chrome OS.
Like Windows Embedded, this OS would run from RAM once loaded from the disk/usb/network. Unlike Windows Embedded, this OS was built from a community-developed Windows PE software that’s designed to create custom PE builds.

 

 

The optimisations can go a lot further when creating defaults for Nano. A vastly minimalist OS that uses less than a tenth of 1% of your CPU to run whilst maintaining Windows 10 compatability (except Windows store functionality, which explicitly excluded).
The main thing is it plays games as well as the most finely tuned Windows gaming PC – except you never need to tune it, since it just works like that already. Everything from Flex, Cuda and OpenCL to Steam streaming, Vulkan, DX11 (12 doesn’t work currently).

 

You could think of it as similar to Windows 7 in functionality except it runs like lightening even on old or low-powered PCs. Everything about it is designed to take a more efficient approach, using years of system optimisation experience into the default Nano system.
The entire Chrome system works perfectly on Nano Pro everything works as it should across the whole chrome-extensions, webgl, html5 and so on. Making this a chrome-os-like system with Windows 7 compatibility, that runs entirely in memory and can be run from a USB stick.

Introduction to the Nano OS

Nano is a product I’ve developed to answer the need for a “miniOS” that runs exceptionally well on lowpowered/old hardware. It’s based on extensive research into custom building Windows starting with a full build, but takes the opposite approach of building it up from the minimum.
The resulting Operating System behaves much as Windows does, with limitations in some areas and great benefits in others. Effectively this OS solves a wide variety of issues across the entire platform, but isn’t designed to replace Windows entirely, at least not for everyone.
I had a hunch that a Mini OS is an invaluable upgrade for the world, which has turned out true as Microsoft themselves are going to launch their Windows S product. Luckily for us, they force you to move to the Windows Store whilst Nano is fully compatible with Windows apps/games.
It radically improves in many key areas over a typical Windows installation and has the opportunity to be game-changing to real-world situations by mitigating a number of very time-consuming problems. In its current state it already works as an incredibly stable and useable system.
During my time developing Nano I was truly shocked at some of the benefits and capabilities that I made possible. It’s been a true outlet for my interest custom Windows and an opportunity to try and create something minimal and compatible maintaining usability and good defaults.
For the majority of the core three-month development of 0.8 – there was rarely any need to go into “normal” Windows. I got used to using Nano as my core operating system and had the opportunity to spot problems just by using it.
The advantage here is when I fix anything in Nano, it’s fixed for anyone else that uses that updated build. So after a while the project became a combination of patches and hacks to get things running, combined with a minimal and fairly fixed approach towards getting things done.
The stability of operation doesn’t just sit in the functionality of the software layers but also in the user interface and approach towards updating or configuring software. The way that everything Nano does is centered around a “nano” folder with everything within constituting the user.
Here we draft the story of how Nano came to be, whilst shedding some light over the features and concepts that make it work. For more information about the performance of Nano vs Standard Windows, please see the performance category for early test results.