The goal of the AME project is to provide a stable and non-intrusive build of Windows 10, without sacrificing usability and Win32 compatibility for the majority of mainstream applications. This includes the avoidance and riddance of privacy infringing automated data collection services, central to Microsoft’s strategy for the Windows 10 operating system.
This page provides a complete step-by-step description of how AME images are mastered based on Windows 10 build 1809 with minor proceeding updates, defining a complete documentation of this project.
While large portions of this process have been automated using various scripts and Linux command line utilities, a large majority requires manual effort, with many of the steps often producing differing and sometimes non-predictable results from instance to instance, increasing the difficulty of this procedure. As such, sections where abnormal behavior may occur have been appropriately highlighted.
Firstly, you will need to grab a clean ISO of Windows 10 build 18.09. This can be done from Microsoft’s website directly, or via the use of third party tools, such as the Microsoft Windows and Office ISO Download Tool.
During the installation, you will be asked to provide a product key.
Simply use 2B87N-8KFHP-DKV6R-Y2C8J-PKCKT, which is a Generic License key for Windows 10 Pro N RTM. If your hardware has already been activated with a legitimate key, or you have acquired one, please enter your key instead, as this generic key is does not activate Windows; it only allows for the installation and use under a 30 day trial period.
During installation, particularly the next few steps, it is necessary to disconnect your target machine from the Internet. Burn the image to a USB flash drive or attach it in your VM manager to boot the installation medium. A partition size of at least 32GB is required.
The installation and initial setup proceeds mostly normally, with the arguably placebo-trier toggles for privacy being disabled for good measure. It is again very vital to mention that no internet connection be established during the entire installation!
Before further changing the operating system, we recommend to install Microsoft’s security updates. Both the Servicing Stack Update (SSU) and Cumulative Update are required to properly install updates. The SSU can be found here and the Cumulative Update here. The Cumulative Update includes all updates released since for the initial release of 1809, this means that only the latest Cumulative Update is required to obtain updates included in prior Cumulative Updates. For a full list of update options, as well as updates proceeding this guide, Microsoft’s website has a complete and updated list.
To install an update, use Microsoft’s Deployment Image Servicing and Management (DISM) tool.
Firstly, extract the desired .cab file from the .msu files:
The SSU will need to be installed prior to the cumulative update, but the dism command structure is identical, just point to the correct .cab file.
Copy the Windows10.0-KB4493510-x64.cab and Windows10.0-KB4490481-x64_PSFX.cab files to the root of the C: drive, or a location of your choice:
Reboot before installing the Cumulative Update
Continue by installing the cumulative update
Once the Cumulative Update has finished installing, it will prompt for a reboot, reboot a second time after Windows boots up. The last step concerning updates is to clear the Windows Update cache:
Adding the Media Feature Pack allows for the playback of some embedded HTML5 web videos. Firefox, for example, will misbehave if this particular content is attempted to be played, and will indicate to the user, that the pack needed to be installed. Other media intensive applications are also affected.
Download the Media Feature Pack from the Microsoft Software Download Service
Firstly, extract the desired .cab file from the .msu file:
Copy the resulting .cab file to the root of the C: drive, or a location of your choice, then install offline update:
Given that simplifying the UI and removing extraneous visual features is one of the critical aspects of the amelioration process, as well as ensuring that certain subsequently damaged and/or non-responsive features are pulled from the interface, the following tasks need to be undertaken before the amelioration or SnD scripts are executed. Given the various extraneous and difficult to describe UI elements to be navigated for these procedures, videos have also been added to help document these basic tasks.
Windows 10 ships with very confusing and misguided functionality and features implemented by default in the taskbar. These can and should be removed manually, aiding in simplifying the UI. Note that most of these features will be unavailable once the amelioration script is executed. The Start Menu tiles (application links) are being removed now, for this very reason. Attempting to remove them later may actually not work.
Build 1809 of Windows 10 allows for native integration of an OpenSSH server, sanctioned by Microsoft, with the OpenSSH client coming pre-installed on Pro editions of the software. Installation of the server will be accomplished offline, using the manual steps described on the official project's github page:
Download the latest build of OpenSSH. For a list of the latest releases follow this link.
(We used v184.108.40.206p1-Beta at the time of this guide)
Extract contents of the latest build to C:\Program Files\OpenSSH
In an elevated Powershell console, run the following:
Open the firewall for sshd.exe to allow inbound SSH connections:
Start sshd in an elevated command prompt:
The sshd service should also be configured to auto-start at boot. In an elevated powershell window type:
At this stage we are ready to begin the amelioration process, which is sctructured into various phases due to the nature of Windows 10's self-updating and healing capabilities. The amelioration script, the Windows-side component of the AME process, is responsible for disabling services, applying individual registry hacks, modifying various configuration files, and installing software. Consequently, this script has both options to be executed before and after the proceeding deletion process.
The script has been heavily commented to reasonably document each operation.
Download the script:
Windows 10 amelioration script
Windows-side component for the amelioration process, heavily commented for documentation purposes.
Run the amelioration_2018-12-11.bat as Administrator and enable internet access.
Once opened, run option 1 Pre-Amelioration from the main menu. This may take several minutes to complete.
After this completes, run option 3 to install .NET 3.5 which cannot be done in post after the SnD script has been executed.Run option 4 Manual User Permission Adjustment which will open the netplwiz GUI for configuring Windows user permissions:
After logging back in, change the password of the default user.
In an elevated command prompt, type the following:
To assure that our changes are permanent, we need to remove Windows Update and its self-healing ability. This cannot be done within the running system because of Windows file permissions and repair operations. Another operating system, preferably a Linux distribution, is required for this step.
The Search and Destroy, or SnD, script makes heavy use of filesystem fuzzing search operations to effectively find and remove all files classified under specific naming conventions by Microsoft and pipes these paths to delete commands. As noted above, modifying the Windows filesystem from Linux allows us the luxury of ignoring filesystem permissions and ensures that Windows cannot re-patch these files before we reboot. This process enables the complete deletion of all relevant binaries from the system.
The script is written in bash, and commented to reasonably document various deleted components.
Download the script:
Linux Search and Destroy script
Linux-side component for the amelioration process, commented for documentation purposes.
Boot into Linux and mount your Windows drive.
Place SnD.sh in the root directory of your Windows drive, and execute it with root permissions:
Due to the deletion process, at this stage, Windows 10 lacks even basic software, such as a web browser or media player. This process installs the chocolatey package manager and a selection of basic sensible software.
Once again, run the amelioration_2018-12-11.bat as Administrator and enable internet access.
Run option 2 Post-amelioration from the main menu, and install programs
The amelioration process, with respect to the disabling and/or outright deletion of certain binaries, such as Cortana, cripples some Windows functionality which needs to be replaced. The Start Menu is left handicapped with disabled search functionality and a few non-functional app links. Thankfully there are open-source projects such as classic-shell, aiming to not only replace the Start Menu with a separate executable, but also to be more functionally similar to the Start Menu from Windows 7 or earlier.
The following describes the steps to configure classic-shell to the state used in AME:
Enable: Show all settings, go to the Skin tab:
Go to the Main Menu tab:
Go to the Menu Look tab:
Microsoft has opted to ship an arguably very poorly designed UI, in terms of ease of access and clarity, with Windows 10. The lack of any defined contrasts and the burying of useful elements, which have been obscured by a confusing ribbon system, is especially apparent in Windows Explorer, a very frequented application.
In light of this OldNewExplorer is an excellent project to integrate.
Old New Explorer
Windows 10 shell extension which can undo "improvements" to file browsing made in newer Windows version.
Use the following settings:
Get Cygwin, "a Unix-like environment and command-line interface for Microsoft Windows" from their website and install at least lynx or wget with it, so that apt-cyg can be used to get additional packages for Cygwin. Since the Windows Subsystem for Linux (WSL) will be unavailable in AME, Cygwin is a great addition to the Windows desktop. It allows us to use bash natively, as well as various other ported Unix and Linux tools.
During the install, select all the default options until the Select Packages dialog is reached.
Search for each of the following applications and mark them to be installed. Searching does not display a list of packages; instead, it shows the category that each application is in. To see the packages, you need to expand the category by clicking the plus symbol: lynx nano wget
Follow through the rest of the installation wizard normally.
Move the provided .bashrc to C:\cygwinx64\home\user\ Create the user folder if it does not exist already. The provided bashrc file does not have the dot in front of it. You will have to rename it with cygwin:
To install apt-cyg type the following commands in an elevated Cygwin shell:
Due to Windows 10's ongoing security fiasco and surfacing issues, not to mention AME's commitment to basic levels of security, certain functionality needs to be modified and/or accommodated for along those lines. In addition to the adjustments made by the amelioration script, Hardentools, an open-source project from Security Without Borders, provides an optimal inclusion.
Run the latest executable with administrator privileges:
The application defaults for the newly installed programs need to be set manually, as functionality pertaining this, usually applied automatically by the given program, has been disabled or otherwise broken in newer 1809 releases of Windows 10.
Setting the default browser is a one-off change, which needs to be done using the Windows Settings App. Open the Windows Settings App, click Apps, then under "Web browser" select Firefox.
For the rest of the defaults start by making empty files with the desired file type. For example for gif files, create an empty text file then rename that file sample.gif. Right click that file, click Properties, click the Change button next to "Opens with:", then navigate to the executable that you would like to handle that file type.
The goal of this section is to demonstrate how to modify the default wallpaper on a system level, replacing and/or adding the default GUI selection.
First take basic permission ownership over the wallpaper you want to replace:
Modify access control for the default wallpaper:
Replace the wallpaper with your own specified file:
After this, reboot, and go to Settings => Personalization and select your wallpaper.
The goal of this section is to demonstrate how to modify the default lockscreen image on a system level, replacing and/or adding the default GUI selection.
First enable the lock screen with a reg add command:
Run to enable the lock screen image on the sign-in window:
Take basic permission ownership over the image you want to replace:
Modify access control for the default lock screen image:
Replace the lock screen image with your own specified file:
After this, go to Personalization => lockscreen and select your image. It should now show your personal wallpaper as the first image from the selection (far left).