1

I have been working with a few tools like Acronis TIEWS and CloneZilla, and have a question with respect to deploying backups for the two of them. In both cases, I could use a disk cloning/imaging tool like Acronis to do a sector based backup, including a transfer of the partition table, and so on.

In the case of just a Linux OS, I can make a tarball of the entire root file system (ie: tar -zcvf / /mnt/someFile.tar.gz), partition and format a new disk, extract the tarball directly to the file system root on the new disk, update my bootloader (ie: sudo update-grub) and I'm all set to go. The new hardware is detected, drivers are swapped out at boot, and everything is great.

On a Windows (ie: Windows 7) installation, this never works. First, I need to have Windows be the first OS installed on the empty (partition-free) disk, so it can create it's 100MB boot partition. Then I need to worry about licensing authentication, and finally, if I get past all the nuisances along the way, the system is almost certain to crash due to drastically different hardware. I could always attempt a repair installation over top of this, but that seldom succeeds, and the system is typically unstable.

Why is it that Windows requires that it be the first OS installed on a disk, and why is restoring the OS such a convoluted nightmare (ie: can't just detect new hardware on first boot after a bare metal restore, and work with it)? Is there a legitimate technical reason for this, or is it some sort of legacy support, or is it something else entirely?

Thank you.

1
  • I have never had problems with loading an Acronis image to different hardware. The typical way I do it is to clone the system, restore the image, then manually change the license to an unactivated license key. At this point I am able to activate the new license on the new system which is an exact duplicate of the old system except new hardware without a problem 99-100% of the time.
    – Ramhound
    May 19, 2014 at 18:08

1 Answer 1

3

There are a few reasons this happens. First off, both systems try to detect all the hardware during boot. Whether or not that's successful is another story. Both handle changes differently.

In Linux, everything is "essentially" a file. This makes it easier to just copy files, and have items "just work". In Windows, part of the reason they speed up the boot process is that it only loads the drivers it knows it needs (i.e. the motherboard drivers, hard drive controller, video card, etc) to get you to the Desktop. Once there, it can start detecting any new hardware. If the hardware changes too much for Windows, it won't boot, as it doesn't know at that point how to load the new hardware. (I realize this is an over simplification, as I don't know the full mechanics behind it, just the theory of operation).

Next, money. Linux is Free (as in beer), while Windows costs most people $100 or more per license, per PC (OEM edition, Windows 7 Home Premium, from when it was new). Linux doesn't care, or want to care, what you install it on. Windows is owned by a corporation (which people tend to forget, are in it for the money, not the people). If Microsoft can get money from their customers, they'll likely do it.

As for doing the actual restoring? I have not recovered a full Linux system yet, so I can't speak completely to that. I have restored Windows installations, even to new hardware. Depending how the backup works, depends on how to recover, and why.

If your Windows system boots fine on the old hardware and you simply want to move it to new hardware, you would install the new drivers (so they're available at boot time), then run the sysprep command to "reseal" it, and force Windows to detect new drivers. Move the hard drive over, and it should boot up just fine.

If Windows doesn't boot properly, you would need to have taken an image with a tool that offers a "bare metal" restore feature to remove the system specific hardware references from the image, and essentially make Windows believe it's a new installation... With your current files. I do not know the exact wizardry that accomplishes this, but it's how it does it.

4
  • One of the wizardr tools that accomplishes this is sysprep. Next boot windows will re-detect most hardware. The downside is that you need it to run before the OS crashes. (e.g. an proactive backup of the OS partition).
    – Hennes
    May 19, 2014 at 17:25
  • 1
    @Hennes - The more expensive version of Acronis supports the restoration of a system image to different hardware. I have never had problems using it, of course, it basically does sysprep for you in an automatic way.
    – Ramhound
    May 19, 2014 at 18:10
  • @Ramhound Yep, there is an optional plugin called Acronis True Image Universal Restore which allows a bare metal restore to completely different hardware. I recall using it to offload an ancient rack server to a laptop temporarily while we overhauled an office. I was curious why this is even required, and the OS doesn't inherently possess this ability (ie: to just swap a drive between machines).
    – Cloud
    May 20, 2014 at 17:52
  • @Dogbert - Its more from the legacy design of Windows I would imagine. Windows is licensed to specific hardware. Its not often you need to migrate it and there is a mechanic to do so ( SysPrep ) but thats more to create an image to install the same image on multiple instances of similar hardware.
    – Ramhound
    May 20, 2014 at 18:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .