1

When moving a disk containing Windows to another computer, it always takes a long time on first boot with a screen like this:

enter image description here

On Linux there is no such thing. The drivers are part of Linux kernel, and the kernel detects the hardware changes and loads the corresponding drivers if it has.

So what is Windows doing at this stage? Are there any side effects to the OS (both Windows and Linux) if I move the disk or change the motherboard frequently?

Livy
  • 1,066
  • 3
  • 14
  • 24
  • 2
    Windows driver instances are persistent. On Linux, they are not. – Daniel B Aug 04 '23 at 08:14
  • 1
    Windows isn't intended to be shared between machines - it's a bad idea to do so. Correct way is to run [`SysPrep /Generalize`](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation) prior to moving it _(capture a [WIM](https://superuser.com/a/1581804/529800) of the OS beforehand)_; once the machine shuts down after `SysPrep`, but before it boots again, move the drive to the new machine, where the [Generalize](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/generalize) pass of Windows Setup will run at boot. – JW0914 Aug 04 '23 at 11:33
  • 1
    _(Cont'd...)_ @DanielB's comment is the reason why this is occurring, but to determine specifically what's happening, Microsoft Docs would need to be consulted _(it's definitely processing OEM hardware drivers and it's likely taking time due to the amount of `oem###.inf` files)_ - even then, it may not provide a specific answer for this use case because Windows isn't intended be moved to a different machine without first running `SysPrep /Generalize` _(this is the only way Windows can be safely moved to another machine, unless that machine is identical in hardware to the originating machine)_. – JW0914 Aug 04 '23 at 11:33
  • Motherboard change "side effects" might include the unactivation of Windows. – harrymc Aug 04 '23 at 12:32
  • @JW0914 `Sysprep` is not designed for such purpose -- it is for creating an image before deploying to multiple machines. It deletes all the driver (from what I know) and generate a new SID for the Windows instance. It also force the user to create a new Windows local account on next boot, which is not what I want. I want to move the disk to another machine and use it as nothing is changed. – Livy Aug 05 '23 at 06:16
  • 1
    @Livy That is exactly what `SysPrep` is for - please refer to the Microsoft Docs links I provided, as the very first sentence of the first link says it all: "_Before you can deploy a Windows image to new PCs, you have to first generalize the image._" Windows is not, and has never been, intended to be moved as-is from one machine to another without first running `SysPrep`. From the _SysPrep Overview_ within that same link: "_Sysprep can remove PC-specific information from a Windows installation (generalizing) **so it can be installed on different PCs**... This is known as generalizing the PC."_ – JW0914 Aug 05 '23 at 12:43
  • @Livy To transfer users and user data, first run [USMT](https://learn.microsoft.com/en-us/windows/deployment/usmt/usmt-overview) [User State Migration Tool] before `SysPrep`, which is a part of the [ADK](https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install). This is the only correct method for transferring Windows between machines _(referred to as PCs in Microsoft Docs)_, and AFAIK, no third-party software exists to do this because it's natively supported by Windows with software provided by Microsoft. – JW0914 Aug 05 '23 at 12:52
  • @Livy I can't point to any specific whitepaper, but I've always suspected the reasoning why this requires `SysPrep` is because there's no easy way for someone to uninstall OEM hardware drivers because there's no uninstallation program for them that resides within the OS, and each one is named `oem###.inf`, so there's no sane way of even identifying them in an efficient manner _(it would literally be quicker [more efficient] to clean install the OS and reinstall all software since it takes ~2.5hrs at most to do so; user data should always reside on a partition other than `C:`)_ – JW0914 Aug 05 '23 at 13:07

0 Answers0