OS and hardware interchangeability and installation process

  • Hi there,
    Since i often Sysprep M$ Windoze and often image the ready images and sometimes over slightly different hardware.
    Sometimes more for the sake of experiment. And sometimes it actually even works. Sometimes you have to add some drivers.
    And also a few times i moved an HDD with my Linux system across different hardware. And it just worked.
    But then i wonder how does actually Sysprep works. And/or how does the Installation process works on Linux/Windoze.
    So i would like to study the process of what actually happens when the system is installed.
    Like for example how different is the installation process on a hardware A to a hardware B.
    Lets say as i see it every piece of hardware needs a certain driver/kernel module. And is it then so that when you install a certain set of the hardware is recognized and those (lets start with Linux) kernel modules are loaded and/or copied then to the hard disk to manage this hardware after installation as the part of the OS. But then how about when you put this HDD into another computer for example. How does comes that it mostly works?
    For example when i last researched this subject in relation to Windoze a few years ago already i think. The thing was that as long as the HAL (processor architecture related?) was the same the system would boot at least and be mostly working. You might need to add/install some missing drivers and it would be mostly fine. (If you add some other hardware to an existing PC itsnt it nearly the same?)
    But then i wonder how is the hardware detection is different between when you add hardware to an existing system and when you install the system or when you move the drive to other hardware.
    Are there different set of kernel modules copied then you install the system on different harwares? or not?
    I suppose i might start around the Anaconda working process.
    But then what is Linuxes HAL alternative? And/or how is Sysprep different from the installation process?

    Thanks in advance,

  • Senior Developer

    The purpose in any OS (as they all have a kernel).

    The Kernel loads all the relevant drivers and hardware for the system. That’s the basic construct of the kernel is to be the “middleman” between the interface(s) and the rest of the computer.

    The Kernel’s job, essentially, is to pass the information to and from the relevant needed components whether it be Sound, RAM, HDD, CPU, or otherwise.

    It’s what get’s loaded to RAM as the system is booting.

    The way linux handles devices is during load up of the kernel it’s detecting the systems components and making the relevant connections between those devices on how to interpret and work with those items.

    Once the OS is loaded, it already knows about the rest of the system because it was detected at load out. Those connections (in the linux world) are created as nodes or devices in /proc, /sys, and/or /dev. These items are linked (in a different manner but similar) to as “files” as everything in a *nix system is related to as a file object.

    Windows operates similarly. Except everything is done, usually, from the registry and RAM. The “devices” and “registers” are loaded into the Registry. In the case of SYSPREP, it removes all the non-relevant and possibly changing aspects of the registry and places it in a point where the first boot loads all the devices and items into the Registry during the bootup process.

    This is where Windows and Linux varies (I think) in the most dramatic of ways.

    While a linux system can have the hdd moved around from one system to a another, and typically still operate with little to no issues, a Windows system cannot do this because the components recognized vs. the components actually available may not match.

    Having the drivers embedded in a Windows system can help, but won’t work 100% of the time. This is kind of the point behind sysprep though. Clean out the registry and system so it can readily receive new item.

    Hopefully this will help clarify things.

    Am I 100% correct? Probably not, this is just a means to express the simple differences.

  • Senior Developer


    What problem are you referring to, and why would we post to an external link?

  • I am also facing the same problem and I don’t have any idea what to do next. If any one knows how to deal with the problem then please post it here.

  • Sysprep is normally for used in when you know a computer will be added to a domain due to it resets the Security Identifier, Driver Cache, and Computer Name for example. If you want to create a universal image check out http://www.fogproject.org/wiki/index.php/Create_a_windows_7_image_for_many_different_hardware

    Fog uses kernels basically as an interface to pass commands or pull information off of a computer. It doesn’t install the kernel to the computer you are imaging

    Hope this helps

Log in to reply





Looks like your connection to FOG Project was lost, please wait while we try to reconnect.