# Background

Cloning a hard drive means making an exact copy of a disks contents so that you can either backup or migrate your disk. This post is about cloning a windows partition so that you can run it from a different PC with different hardware on it. There is a useful section at the end, which will help you get into windows if you’ve forgotten to sysprep.

## Overview

An easy piece of software to use is Ultrasoft Snapshot. Then use Microsoft sysprep utility to prepare the system for cloning. Use ‘snapshot’ to clone the partition to a backup hard drive. Restore the backup to a new disk.

If you haven’t run sysprep, and you no longer have access to the old machine, there’s some help to get you going in the trouble shooting section.

## Microsoft sysprep

Microsoft have a page on sysprep. I forgot to use sysprep (hence this post) so you’ll have to google this section. Good Luck.

## Ultrasoft Drive Snapshot

Use the ‘snapshot’ software from a startup disk in your original machine (eg bartpe) or by installing the original hard drive in another pc (let’s call it the host pc) and running ‘snapshot’ on the host machine. This is required because snapshot needs exclusive access to the source hard drive partition (the one you’re cloning), so you can’t be running windows off the drive you’re cloning whilst cloning.

You need the same amount of space free on your target hard drive partition as the source partition. If you have alot of free space on the source partition, it might help to resize it, eg using Partition Magic.

Use the ‘snapshot’ program to extract the cloned partition to the target hard drive. You can then boot into your target machine and finish. If you have trouble booting, mark the partition as active (can be done from boot cds, or installing drive in different machine and using the computer manager from the windows control panel.) Make sure the MBR has a working boot loader (eg use fixmbr from windows installation cd restore mode to reinstall bootloader.)

## Troubleshooting ie forgetting to sysprep

If you cloned the partition and tried to boot it without sysprep’ing before cloning you will probably get problems starting the computer. It either restarts endlessly, or you get a blue screen (STOP 0x0000007B messages indicating problem with boot drive).

This usually happens because windows has problems starting in the new machine, as it is still setup for the old machine. One way to solve this problem is to install windows on your target machine in a new & empty partition. Then you need to copy over the system/sam/ security files from C:\windows\system32\config over to the problematic install. This will effectively overwrite the data windows keeps about the system hardware. I already had a windows installation on my target machine, so I copied these files over, and in my case this allowed me to boot into the cloned windows partition!

The only problem then remaining is that you might have registry entries in your old config files that are required by the software you had installed. These have to be manually sorted out by mounting the hives in regedit and copying the required data out. This is possible for a few registry entries (eg Windows Services entries etc.) but it’s probably too much hassle otherwise.

### TODO

My problems were solved after copying over the configuration files, and fixing a few registry entries.

If you have time, instead of overwriting the entire SAM/SECURITY/SYSTEM hives, only overwrite the sections containing hardware information. Which sections are those? No idea, you’ll need to find out. Copy out enough registry entries to get it to boot (may only be those regarding chipset/graphics card/hd.)

Otherwise, find a guide on sysprep’ing after cloning and try that. Oh and let me know if that works.

# Using mplayer/mencoder to convert to an MPEG

MEncoder is a useful media encoder that comes with MPlayer The Movie Player

To use, you’ll need to download and install MPLAYER as well as the extra plugins. You may also need Real Player, Quicktime, Windows Media Player installed (or an alternative.)

OK I’m always having to lookup the mencoder flags for encoding video files, so heres a useful example:

c:\mplayer\>mencoder.exe input.file -of mpeg -ovc lavc -oac lavc
-lavcopts vcodec=mpeg2video:acodec:mp2 -o output.file

of = Output File ovc = Output Video Codec

The rest of the options can be looked up.

# Cannot delete AVI/MPEG Video Files

This problem occurs when windows is trying to show you a preview picture of your video, whilst you are trying to delete the file. So then you get a message telling you the file is still in use and the delete operation fails. Solution? Stop windows from showing you thumbnail images of your videos.

Start -> Run -> regedit
Edit -> Find

In the search box type this:

{87D62D94-71B3-4b9a-9489-5FE6850DC73E}

Tick the box titled ‘Keys’ and untick the others. It should find the key for ‘AVI Properties handler.’ Right click the key from the left window pane (with the folder tree view) and click export. Choose a file name to export the key to, and click OK. Now you can delete the key you just exported. If anything goes wrong, you can double click the .reg file you just created to restore the key.

You can also delete the following keys:

{40C3D757-D6E4-4b49-BB41-0E5BBEA28817}
Video Media Properties Handler

{c5a40261-cd64-4ccf-84cb-c394da41d590}
Video thumbnail extractor

# Working with Microsoft SQL Server MDF LDF Files

The files I had originated from a Microsoft SQL Desktop Edition 2000 (MSDE) server. I’m assuming these instructions will work for other versions as well.

You can download the 42MB MSDE 2000 Release A file from here:

# Install MSDE2000

If you run the file you saved it will ask you to choose a folder to extract the setup files to. Please select a folder, or just click next. The files will unpack.

Open a command prompt from Start ->All Programs -> Accessories -> Command Prompt

It will show you something like this:

Microsoft Windows XP [Version 5.1]

C:\Documents and Settings\username>

Type the following in and press enter:

C:\Documents and Settings\username> cd C:\the\folder\you\extracted\your\files\to\goes\here
C:\the\folder\i\extracted\my\files\to> setup.exe SAPWD=YOUR_PASSWORD_GOES_HERE

Setup will commence, and you should have your server installed.

I tried this, but couldn’t get it to work. I wasn’t using IIS. Good luck.

## Command Line Administration using OSQL

OK back to basics. osql.exe is in this folder:

%ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\

By default this is:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn\

Open a command prompt and cd into that directory:

C:\SQL Server\80\Tools\Binn\>osql /?
etc

Read the stuff that it prints out here.

The -E’ switch means trusted connection, so we’ll use that to login

C:\SQL Server\80\Tools\Binn\>osql -E

1> sp_help
1> go

A whole load of text will fly by. This is the output of the sp_help command. As you see, you use ‘go’ to execute the commands you type in at the prompt.

## Attaching the MDF/LDF Files:

To view your MDF/LDF files  you need to attach the database files to the server. The commands are as follows:

1>EXEC sp_attach_db @dbname = N'CHOOSE_DATABASE_NAME_AND_TYPE_IT_HERE',
1>   @filename1 = N'C:\YOUR_FILE.mdf',
1>   @filename2 = N'C:\YOUR_FILE.ldf'
1>go

To view info on the databases currently attached, you can use these commands:

1>select * from sysdatabases
1>go
1>select * from INFORMATION_SCHEMA.TABLES
1>go

You can now use SQL statements as follows:

1>USE YOUR_DATABASE_NAME
1>select * from YOUR_TABLE_NAME
1>go

If you want to output the result of your SQL query in a file use:

C:\...\Binn>osql /E /d YOUR_DB_NAME /Q "select * from YOUR_TABLE_NAME" -o outputfile.txt

C:\...\Binn>osql /U sa /P YOUR_PASSWORD /d YOUR_DB_NAME /S your.server.name.or.ip.address /Q "select * from YOUR_TABLE" -o outputfile.txt

Some more useful commands:

1>sp_helpdb mydb
1>go

1>EXEC sp_grantdbaccess ‘Test’, ‘database_name’