What you'll need:
- An Eee PC, completely unmodified (4GB version, 512MB RAM)
- A SDCARD (you'll need this, 2GB minimum, the bigger the better. I'm using 8GB, which are nice and cheap now)
- A Vista DVD
- A 1GB USB stick
Here's what I did!
- Download vLite from http://www.vlite.net/, and use to create a custom ISO with bits of Vista removed you don't need, the edition you want (I used Home Premium), such that it'll fit on your USB stick.
- Format USB stick with a single FAT32 partition, and set active. I did it in Vista, with the following commands from a command prompt (with admin rights):
LIST DISK (note the number of your USB DRIVE at this point)
SELECT DISK 1 (or the appropriate number from the command above)
CREATE PARTITION PRIMARY
SELECT PARTITION 1
- Copy contents of your newly created ISO to the stick (you can extract the ISO with Winrar, burn it to CD mount it with Daemon Tools etc. etc.)
- Insert USB stick into Eee
- Turn on Eee, pressing escape at startup to select the USB stick as the boot device
- Install Vista, configuring 1 single 4GB partition.
- You should now have Vista, but chances are there isn't much space left. Ensure your SD card is in the slot at this point, and showing as drive D:.
- You need to download PendMoves and MoveFile to your machine from http://www.microsoft.com/technet/sysintern.../PendMoves.mspx. Put them in \Windows\System32
Right, now the clever stuff. The thing that stops Vista playing ball on the Eee is it's HUGE side by side directory, \Windows\winsxs. I mean huge... on my machine it was 1.5GB. The real problem is that it's huge AND very difficult to move. We're gonna put it on SD however
- Navigate to the \Windows\WinSXS directory, and view the security properties. You need to first give yourself ownership of the directory, and then give yourself full access (i'd use the administrator account to do this stuff).
- Now run a command prompt, and create a dummy directory. Type 'mkdir c:\windows\winsxs.moved'
- Now that's done, we're gonna create a junction (like a Symbolic link for Vista). Type 'mklink /J c:\windows\winsxs.link winsxs.moved'
- Good, now delete the winsxs.moved directory. Trust me on this one. Type 'rmdir c:\windows\winsxs.moved'
That's the preperation done. Now we need to use MoveFile to schedule renaming of the winsxs at reboot.This is the magic that will give us control over that nightmare directory.
- From the command prompt, run 'movefile c:\windows\winsxs c:\windows\winsxs.moved'. As you can see, this is renaming the winsxs directory before anything can get a hold on it.
- From the command prompt, run 'movefile c:\windows\winsxs.link c:\windows\winsxs'. This puts a winsxs directory back (as far as the OS is concerned), so everything doesn't collapse in a heap.
- Now type 'pendmoves'. It should show the 2 pending moves you've entered above, with NO ERRORS. If it all looks good, REBOOT!
On reboot the critical renames / moves will happen, and we'll be free of the shackles that stopped us messing with that pesky winsxs directory.
- When your PC is booted, again open a command prompt, and 'dir c:\windows\winsxs*'. If it's all gone well, you'll see a winsxs.moved real directory, and the winsxs junction. If it HASN'T worked, repeat the above steps!
If it's all good, then we're nearly home and dry. All we need to do is relocate WinSXS and amend the junction.
- Using Windows Explorer, COPY the whole winsxs.moved directory to a \Windows directory on your SD card. As it's HUGE, it'll take ages, and is often quicker using a USB card reader than the internal card reader.
- When this has finished, rename the directory on the SD card from winsxs.moved to winsxs. Go to a command prompt (again!) and type 'rmdir c:\windows\winsxs'. Then, type 'mklink /J c:\windows\winsxs d:\windows\winsxs'.
- To be sure everything is happy, in explorer browse to c:\windows\winsxs. You should see a ton of files. They're really on your SD card
After reboot, you should be able to delete c:\windows\winsxs.moved and FINALLY liberate all that disk space. Now you're at the point where you need to tweak your system. This means reducing / moving the page file, disabling hibernation and so on and so forth. To disable hibernation on Vista, drop to a command prompt and type 'powercfg -h off'.
There's one last thing you should do. When you download Windows Updates etc., the files get put into C:\Windows\SoftwareDistribution, and this will quickly become huge. I recommend moving this to the SD too. It's easier though... stop Windows Update service, move directory, create junction, restart service, DONE!
It goes without saying that when you install apps (e.g. i'm gonna put Office 2007 on), you should install them to D:\Program Files - your SD - where appropriate!
Job done, you have Vista on your EEE
Saturday, December 1, 2007
Posted by Nick at 2:25 AM