Windows Setup, Boot Manager, And Multiple Disks

Article

Although Windows Setup has evolved since the days of Windows 95, it sometimes is still a real pain in the ass.

Today, I spent the whole morning figuring out why Windows Setup always placed the Windows boot manager on a separate drive – and not on the drive I was installing Windows onto.

The “easiest” solution would be to unplug all other drives, install Windows, and then replug all drives. But since I’m a engineer I wanted to find out the real cause of the problem.

Turns out, the root problem is the BIOS’ boot order (a.k.a. boot sequence). A computer’s BIOS has a boot order list which basically defines from which device (hard disk, CD drive) to boot. If the BIOS can’t boot from the first device, it tries the second one, and so on.

The BIOS usually lets you define this order. Either all devices are in one big list, or each device type (CD drives, hard disks) has its own list.

Example of a boot order menu item in a BIOS

Now, when you install Windows, the setup asks the BIOS for this list. And no matter what you do, Windows Setup will always install the boot manager on the first hard disk in this boot order list.

In particular, the disk on which you want to install Windows has no influence on where the boot manager is being installed.

So, the only way to influence the location of the boot manager is to change to boot order in the BIOS.

Side note: New devices are usually added to the end of the boot order list. So if you have multiple hard drives and replace one (e.g. because the old one was broken or too small), the new drive may end up at the end of the list – and not at the position where the replaced drive was before; thus messing up the boot order.

Determining the Boot Manager Partition

So, how can one determine the location of where boot manager is installed?

From Windows Setup

Determining on which drive Windows Setup will install the boot manager onto is almost impossible from Windows Setup itself.

The only hint you get, is if:

  • your installation disk has no partitions (i.e. is empty) …
  • .. and then you can create a partition on this disk.

In this case Windows Setup will show you a dialog reading:

To ensure that all Windows features work correctly, Windows might create additional partitions for system files.

If this happens and you click on “OK”, Windows Setup will automatically create a partition called “System Reserved” where it’ll install the boot manager.

boot-manager-in-windows-setup.jpg

If this doesn’t happen the boot manager may or may not be installed in the correct location. If this is the case, you can only check the location after Windows has been installed.

From Windows

To determine the partition where the boot manager is installed, go to:

Control Panel > Administrative Tools > Computer Management > Disk Management

The partition where the boot manager is installed has the word System in its status.

sytem-partition.jpg

Windows Update Progress Bar Fail

If you have some progress you can use a progress bar to show this progress.

So, if you copy some files and have already copied about 60%, you may see something like this:

Progress bar showing copy progress of some files

Knowing this, what’s wrong with this image?

Indeterminate progress bar on download progress in Windows Update

Why the heck do I get an indeterminate progress bar for a download progress. Hell, there’s even a percentage displayed for the download.

Hunting DLL loading errors

Article

Today I tried the software I’ve been writing on another computer – and it immediately crashed. I got this error message:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly ‘TrackerInterface-Mixed-Full.dll’ or one of its dependencies. The specified module could not be found.

Here, it tells me that my DLL “TrackerInterface-Mixed-Full.dll” could not be loaded. The first thing I thought was that the application couldn’t locate this DLL – because of the FileNotFoundException. Unfortunately this wasn’t the problem.

So I figured “or one of its dependencies” was the real problem. However, the error message doesn’t tell you what dependency (DLL) is actually missing – even when debugging.

So, I did some searching and found the Assembly Binding Log Viewer (or “Fusion Log Viewer”) which comes with Visual Studio. Unfortunately it didn’t do what I needed. It seems that this is actually more for .NET assemblies rather than native DLLs. (You need to run it with Adminstrator rights; otherwise it won’t work. Just in case you’ll ever need it.)

After some more searching I found a tool called Dependency Walker. And that’s exactly what did the trick. So I opened “TrackerInterface-Mixed-Full.dll” with it and got the following result:

Dependency Walker output with missing DLLs

Here you have my “TrackerInterface-Mixed-Full.dll” at the top of the tree and its dependencies listed below it. For one, you can see immediately that the file “QTCORED4.DLL” is missing. But you can also see that one dependency (“MAPPARSERD1.DLL”) is missing some dependencies as well. (Fortunately, Dependency Walker automatically expands all dependencies that again have missing dependencies.)

I hope this helps in case you’re running into this problem yourself.

Note: The part “The specified module could not be found.” of the error message indicates some missing DLLs. There can be other reasons for getting a “Could not load file or assembly ‘Assembly.dll’ or one of its dependencies.” which then have other texts after this one.

Note 2: This only seems to happen when using native DLLs from .NET applications/assemblies.

Schriftarten nur für Photoshop

Article

Wer, wie ich, viel mit Photoshop arbeitet und damit Grafiken entwirft, der wird immer mal wieder auf die verschiedensten Schriftarten zurückgreifen. Häufig braucht man diese Schriftarten aber nur in Photoshop und nicht in Windows selbst. Für dieses Problem habe ich heute endlich eine Lösung gefunden:

Schriftarten, die nur in Photoshop (und anderen Adobe Produkten) zur Verfügung stehen sollen, kopiert man einfach in folgendes Verzeichnis:

%CommonProgramFiles%\\Adobe\\Fonts

Zwei nützliche Tools

Article

Im Laufe der Jahre habe ich die Möglichkeit gehabt, viele verschiedene Tools, die im Internet so umherschwirren, zu testen. Heute werde ich einmal zwei von ihnen vorstellen. Der Vorteil an diesen Tools: Es sind die besten, die ich finden konnte – und sie sind kostenlos. Es handelt sich dabei um:

Read more →