Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
Here’s a tip for people who buy and set up business computers.
Dell sells almost all of its business desktop computers with Windows 7 pre-installed. That continues to strike me as wrong in many ways, especially now that Windows 8.1 has been significantly retooled for keyboard and mouse users, but perhaps it suits conservative enterprise buyers. Or perhaps the PC industry deserves its constantly declining sales after years of poor choices and the manufacturers’ obsessive focus on delivering underpowered, underpriced, crapware-laden computers and laptops to consumers and businesses.
But I digress.
Dell’s description of the operating system on its Windows 7 computers says: “Windows 7 Professional English/French 64bit (Includes Windows 8.1 Pro license)”.
I got a batch of new Dell Optiplex PCs for clients this week and decided to reformat the hard drives and install Windows 8.1 immediately, without ever starting Windows 7. That led me to hunt for the Windows 8.1 Pro license, with a surprising result.
For years we have found the Windows product key on a sticker permanently attached to the CPU case. The new Optiplex computers don’t have a Certificate of Authenticity or license sticker.
A Dell DVD is included with the computers, labeled: “Operating System Already Installed On Your Computer – Windows 8.1 Recovery Media.” There’s no Microsoft license key on the DVD or its paper sleeve.
Where’s the license? Windows 8 can’t be installed without a valid license key; it’s the first thing that comes up during installation. Windows 7 can be installed without entering a key but Windows 8 does not allow you past the license screen during installation without a valid key.
PC manufacturers embed the Windows 8 product key into the BIOS/UEFI firmware on the motherboard. The license is locked to a fingerprint of the hardware. Although Belarc Advisor or other utilities might be able to retrieve the product key, it doesn’t really matter – you don’t need it to install Windows 8 on that computer and the license cannot be transferred to another computer.
When Windows 8 is installed, it automatically checks the BIOS and loads the product key during installation. When Windows 8 goes online for the first time, it checks the license and Windows is activated.
I used the Dell DVD to do a clean install of Windows 8.1 on a new Optiplex 7020. That included removing all existing partitions to reformat the hard drive from scratch. Windows 8.1 is marvelously fast to install. There was no prompt for a license key and Windows was already activated when I looked. It’s unclear whether Dell has included drivers on the DVD, since all hardware was correctly identified during the install. My guess is that the DVD contains a standard version of Windows 8.1 and it’s just very good at installing drivers.
There are suggestions online that any Windows 8.0 or 8.1 install source will check the BIOS and use the embedded license if present – but the media has to match the version expected by the license. If the BIOS has a Windows 8.0 license, you have to install Windows 8.0, then upgrade to Windows 8.1. If the BIOS has a Windows 8.1 license, you can’t use a Windows 8.0 install source.
This is only important in this limited case, where a computer with a Windows 8 OEM license is being rebuilt from scratch. Once Windows 8 has been installed there will almost never be a reason to rely on the BIOS license; instead, we’ll use the Windows 8 recovery tools that can be accessed from within the system if it’s running, or by booting from an install disk and using the already-licensed bits on a hidden system partition. The tools to refresh or reset Windows 8 work like a charm.
It makes it easier to relax about Dell’s insistence on shipping Windows 7. Blowing out the hard drive and installing Windows 8.1 takes about 20 minutes. Yes, updates then have to be installed but it still winds up being faster than the glacial experience of setting up a new Windows 7 PC.
This should not be so hard. Dell did something with their USB hardware that is not built into USB installation media for Windows. I tried 7 and 10 installation media, USB and optical, with no joy. This literally took me two full man-days (on the clock, thanks) but I got it finally.
The NVME M2 hard drive is a separate ball of worms. Deal with those drivers and cloning disks and whatnot, if you want, after Windows is installed. The procedure described below required the use of a SATA hard drive I was glad to have sitting on the shelf. The new Windows installation may not have the networking drivers so you won’t be able to get online to download the rest of the things you need – get those drivers from Dell Support online, on another computer, and transfer them via USB after you get Windows up and running on your troublesome 7040.
The BIOS was set to UEFI, SATA to AHCI, boot to USB first.
You will need a separate, working computer with internet access. You will need a USB stick big enough, 8GB at least, 16 or 32 would be better. Use Rufus* to prepare your USB drive as an ISO with a GPT file system for UEFI boot. FAT32 is important, UEFI won’t boot from NTFS! Use your favorite Windows installation ISO to make your bootable drive. Boot from it in one of the USB2.0 ports on your 7040 and notice that it calls for drivers during the process of installing Windows – and it won’t find any. From any drive on any port. Suck.
You need to get the driver pack for the chipset from dell directly. In my case it took only this USB3 driver https://www.dell.com/support/home/Drivers/DriversDetails?driverId=CWGRX&fileId=3588430725&osCode=W764&productCode=optiplex-7040-desktop&languageCode=en&categoryId=CS found at this very simple 10-page explanation that has a wrong step and oh by the way I literally wasted an entire day trying to make it work even when i got all the steps right. Various failures including crashes. Very bad.
https://www.dell.com/support/kbdoc/en-us/000179740/how-to-install-windows-7-on-optiplex-7040-and-other-skylake-systems-using-mdt-2013-update-1
Anyway, insert the drivers into the boot.wim on your new USB installation media using DISM. The steps here are pretty clearly spelled out: https://www.msprofessionals.org/cloud/how-to-add-winpe-drivers-to-a-boot-wim-via-dism/
assuming you have installed the latest Windows Assessment and Deployment Kit (ADK)
Assuming a your windows installer file is located in windowsmedia\sources\ (i.e., if your installation files are on a drive called G, then G:\sources will have an install.wim inside; in this case the author used a directory of C:\WindowsMedia for their example location)
Assuming a test/working directory of \mount\boot (make a new directory e.g. C:\Mount\Boot to work in). I was on my last nerve and went ahead and worked with the boot.wim right on the installation disk and it worked.
The elevated command prompt commands you will use, copied here in case the msprofessionals web page disappears:
……
DISM /Mount-Image /ImageFile:”C:\WindowsMedia\sources\boot.wim” /index:1 /MountDir:”C:\Mount\Boot”
DISM /Image:C:\Mount\Boot /Add-Driver /Driver:C:\WindowsSources\10\1909\Drivers\winpe /recurse
N.B.: you may need to additionally use a /forceunsigned option in there, in case you get an error in the WinPE installation environment about unsigned drivers. Probably not. Hopefully not.
DISM /UnMount-Image /MountDir:”C:\Mount\Boot” /Commit
DISM /Mount-Image /ImageFile:”C:\WindowsMedia\sources\boot.wim” /index:2 /MountDir:”C:\Mount\Boot”
DISM /Image:C:\Mount\Boot /Add-Driver /Driver:C:\WindowsSources\10\1909\Drivers\winpe /recurse
DISM /UnMount-Image /MountDir:”C:\Mount\Boot” /Commit
Then you can go on and install windows as usual. If you don’t know how to do that, you are probably lost anyway after looking through the foregoing. Sorry.
Cautionary note: I tried to dism install all the drivers from the other two driver links on the dell explanation page and the windows installation errored out pretty hard. So maybe just brooming them all into the boot.wim was a bad idea.
*Rufus can be found here: http://rufus.akeo.ie/
Update: this has now come back and saved my bacon as I had to install Windows on a Dell 3620 tower. The 10 installation media worked ok on this model, but the 7 installer couldn’t find drivers again. I wanted 7 on this box though, so I had to retrace my own steps. The text has been updated a bit for clarity.
Recently I was able to pick up some Dell Optiplex 5050 Micros for $60 on eBay. These are tiny machines, with an Intel i5-7500T (4 core/4 Thread) CPU, 8GB of ram, and a 256GB SSD. For $60 they needed a power supply, but those are easy to come by. My plan was to replace my aging Intel NUC that is the core domain services for the house (AD, Radius, CA) and perhaps the aging firewall, if I can figure out how to get a second NIC into the system, more on that later.
My philosophy when running a standalone network (even with internet access) is to have at least 1 of your Domain Controllers (DCs) be a physical box at all times. An alternative is a dedicated hypervisor with local disks, but anyone who has tried to start a VM manually on VMWare knows how painful it can be without any interface to the system other than the command line. In addition, these days it’s easy to make all the DCs virtual, but if you ever have to cold boot your environment; then you run into not having DNS. Following not having DNS, things like vCenter and vSAN can’t come up cleanly, and there are more and more chain on effects. Having a physical machine allows you to bring DNS and core services up first, then start all other services that rely on your domain.
The first task I had was to get one of the Optiplex 5050s ready for Windows Server. I started with upgrading the ram to 16GB, because I had it laying around. After that, since this is an eBay purchase, I updated the firmware/BIOS and ran diagnostics before it touched the home network. The seller was nice enough to install Windows 10 Pro on the machine, which has a license in the BIOS; but I formatted the drive before starting that instance. People are generally nice, but who knows what was in that image. After getting Windows Server 2022 installed I hit my first issue. Server 2022 does not have a driver for the Intel i219-V that is in this chassis.
I tried getting the drivers from the Dell site, but Windows refused to use them because they were for Windows 10, and not Server edition. My current fix for this was going to select the driver, telling it to “Browse my computer for drivers”, letting me pick, then manually selecting the “Intel” “Intel(R) Ethernet Connection (2) I219-V” driver. I had a USB ethernet dongle that worked for me to get online and at least be able to see that driver. Now the box is happily online. The main issue with this technique is that I keep getting an “Optional” Windows Update for an updated driver that seems to never install. I think that is because I installed the Dell driver, but it never runs correctly.
Another thing I try to do with most systems, especially the systems in charge of security is get Virtualization Based Security running. This is a newer Windows feature, where core elements that need to maintain secrets are run in tiny Hyper-V containers. The user never sees it, but this gives added protection to the system. If you run “msinfo32”, you can get an output of its status. Most of the time, you need to enable chipset virtualization support; then add the system feature of “Host Guardian Hyper-V Support”. On older systems (Windows Server 2019) and desktops, I think it’s just called “Hyper-V”, then you get these features enabled.
On paper this machine is 78% faster than the Intel i5-3427U, and that makes a world of difference. The old system took a while to boot, and a while to backup, which is what spurred me to upgrade. This system feels amazingly fast for a $60 system. Keep in mind that it cost less than the Raspberry Pi 4, has Intel, and didn’t have to wait the years Raspberry Pis take right now!
I have the main DC run domain services, DNS, Network Policy Service (RADIUS), and certificate services. For the first two, I just had to install Domain Services and DNS and the system started acting in that role. For NPS I exported the config from the old DC, and then installed the service and imported onto the new one. As a reminder, Domain Services has to be installed first, or if you have NPS/Certificate Services installed, then try to do Domain Services, it will tell you it can’t install. Certificate Services, I added a new CA, stopped the old one’s service, and removed it as an enrollment agent in ADSI. My 802.1x and other certs given out by GPO are short lived, around 90 days; I will wait for the old ones to expire and systems to naturally get newer certs.
The second system I got; I thought I would try to do some hardware hacking. My hope was to repurpose it as a firewall for my aging Dell Optiplex 990 from 2011. To do this I would want to add at least 1 more NIC to the system. I ordered a 1gb ethernet NIC that goes where the WLAN chip goes. At first it did not show up in Linux and I was worried. Turns out the system bios had “wlan” disabled, and by enabling that, it turned on that PCIe channel. Then the card would show up. Having mounted the ethernet port in the extra serial blank this system has did make it look very clean and easy. I had to tuck the wire away as it came from the front of the unit to the back and had the sata drive siting on it. After playing with it a good amount, removing the card, reseating, putting electrical tape under it, I was able to get the line up, but not reliably at 1gb/s, it tended to go down to 100mb/s a lot in coming up. While things like loosening the screw holding it down, and putting electrical tape under it helped, the system was not reliable enough for me to feel comfortable using it for homelab-production. I shaved down the connectors at the end of the card, with them being that large, the screw couldn’t easily get between them. That did not help that much.
In the end I am enjoying the one system as a new DC. And eventually will figure out what I want to do with the other one. With having a NVMe slot, and SATA internally, in addition to being able to go up to 32GB of ram on a low power budget they are very capable little machines.
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности — ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика — тотальный контроль над каждым совершённым тактом, а значит — безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .