Thursday, January 06, 2005 4:46 PM
bart
RIS problem - restore image to smaller harddisk
Yesterday I had a problem with RIS (remote installation services), something that's categorized as "by design". The problem is this: when you create an image using riprep.exe it takes an image of your harddisk (of course it does) but it also stores characteristics of your partition on the server (e.g. partition of 40 GB). When you try to 'download' the image (using PXE-boot) to another smaller harddisk (which has enough capacity to hold the complete image however, e.g. 4GB used of the 40 GB) it won't work (nice little error message, see http://support.microsoft.com/default.aspx?scid=kb;en-us;320982 for the official description and solution). Yeah great :-)
So, I came to the conclusion that RIS has to store somewhere on the server the size of the partition that was used to make the image (what a deductive brain, wow). The file in question is Imirror.dat (in the i386\Mirror1 directory). It's a binary file, but using a tool like WinHex you can clearly see that it holds the partition data (as well as the used HAL, OS version, directory for the OS installation, file system type, drive letter). Luckily we had another Imirror.dat file that was created by running riprep.exe on a computer with a smaller harddisk size. In fact only 15 bytes in the two files were different. If I find some time, I'll try to find out where the partition size is kept, but for now replacing the file of the image that was too big by the other one (created by riprep on the computer with the smaller harddisk size) worked like a charm.
For people who don't have an image of a smaller harddisk yet, the following procedure can help:
- Use the computer with the smallest harddisk that needs to be RIS-ed.
- If it already has an OS on it, start riprep.exe (via the UNC path \\server\reminst\); otherwise install an OS first (just the core is enough) and start riprep.exe.
- While running riprep.exe on the computer with the smaller harddisk, watch the Images folder on the server, in particular the Mirror1 directory of the new image; the Imirror.dat file is made very early in the riprep.exe process (before the files of the harddisk are copied to the server).
- Grab that Imirror.dat file and copy it to the Mirror1 folder of the image to-be-fixed (but make sure you keep the original file by renaming it).
Hopefully this information is helpful for other people struggling with this as well. Please note that this is not a supported solution (refer to KB article).
Del.icio.us |
Digg It |
Technorati |
Blinklist |
Furl |
reddit |
DotNetKicks
Filed under: Microsoft