6

Weird one.

I have a domain controller with Server 2008 R2. It is a hack job but is reliable.

AMD system. AM2 6000+ Asus Crosshair MB.

The server is utilizing 5 Sata ports for Hard disks of assorted size. No raid is configured. This is mostly for random storage and backup DC

When we attempted to upgrade 1 of the drives upon reboot we got a "No Operating System Detected Insert System disk and press ENTER" error. Fiddling around enough to find out the computer would only boot if the System disk and one of the storage disks (the one we removed to upgade...) were connected on boot.

What is going on here? How do I repair this issue? I would like to be able to remove that drive.

Ran BCDEDIT

I see the issue. Recomendations on the command to best resolve it. We want everything on C:.

C:\Windows\system32>bcdedit

Windows Boot Manager -------------------- identifier {bootmgr} device
partition=H: description
Windows Boot Manager locale
en-US inherit
{globalsettings} default
{current} resumeobject
{c7cb3484-5288-11e0-a6a3-b7c0d75655a0} displayorder {current} toolsdisplayorder {memdiag} timeout 30

Windows Boot Loader ------------------- identifier {current} device
partition=C: path
\Windows\system32\winload.exe description Windows Server 2008 R2 locale en-US inherit
{bootloadersettings} recoverysequence {c7cb3486-5288-11e0-a6a3-b7c0d75655a0} recoveryenabled Yes osdevice
partition=C: systemroot
\Windows resumeobject
{c7cb3484-5288-11e0-a6a3-b7c0d75655a0} nx OptOut

C:\Windows\system32>

Here is a screenshot of the situation. Drive 7 is of no concern its external did not feel the need to grab the sceenshot a second time to fit it in. enter image description here

UPDATE

Boot\BCD is not on H: any ideas Here is my output

H:\Boot>xcopy /e h:\boot c:
H:\boot\memtest.exe
H:\boot\cs-CZ\bootmgr.exe.mui
H:\boot\da-DK\bootmgr.exe.mui
H:\boot\de-DE\bootmgr.exe.mui
H:\boot\el-GR\bootmgr.exe.mui
H:\boot\en-US\bootmgr.exe.mui
H:\boot\en-US\memtest.exe.mui
H:\boot\es-ES\bootmgr.exe.mui
H:\boot\fi-FI\bootmgr.exe.mui
H:\boot\Fonts\chs_boot.ttf
H:\boot\Fonts\cht_boot.ttf
H:\boot\Fonts\jpn_boot.ttf
H:\boot\Fonts\kor_boot.ttf
H:\boot\Fonts\wgl4_boot.ttf
H:\boot\fr-FR\bootmgr.exe.mui
H:\boot\hu-HU\bootmgr.exe.mui
H:\boot\it-IT\bootmgr.exe.mui
H:\boot\ja-JP\bootmgr.exe.mui
H:\boot\ko-KR\bootmgr.exe.mui
H:\boot\nb-NO\bootmgr.exe.mui
H:\boot\nl-NL\bootmgr.exe.mui
H:\boot\pl-PL\bootmgr.exe.mui
H:\boot\pt-BR\bootmgr.exe.mui
H:\boot\pt-PT\bootmgr.exe.mui
H:\boot\ru-RU\bootmgr.exe.mui
H:\boot\sv-SE\bootmgr.exe.mui
H:\boot\tr-TR\bootmgr.exe.mui
H:\boot\zh-CN\bootmgr.exe.mui
H:\boot\zh-HK\bootmgr.exe.mui
H:\boot\zh-TW\bootmgr.exe.mui
30 File(s) copied

H:\Boot>bcdedit -store C:\boot\BCD -enum all
The boot configuration data store could not be opened.
The system cannot find the file specified.

H:\Boot>dir

 Directory of H:\Boot

03/19/2011  11:28 PM    <DIR>          cs-CZ
03/19/2011  11:28 PM    <DIR>          da-DK
03/19/2011  11:28 PM    <DIR>          de-DE
03/19/2011  11:28 PM    <DIR>          el-GR
03/19/2011  11:28 PM    <DIR>          en-US
03/19/2011  11:28 PM    <DIR>          es-ES
03/19/2011  11:28 PM    <DIR>          fi-FI
03/19/2011  11:28 PM    <DIR>          Fonts
03/19/2011  11:28 PM    <DIR>          fr-FR
03/19/2011  11:28 PM    <DIR>          hu-HU
03/19/2011  11:28 PM    <DIR>          it-IT
03/19/2011  11:28 PM    <DIR>          ja-JP
03/19/2011  11:28 PM    <DIR>          ko-KR
11/20/2010  11:24 PM           485,760 memtest.exe
03/19/2011  11:28 PM    <DIR>          nb-NO
03/19/2011  11:28 PM    <DIR>          nl-NL
03/19/2011  11:28 PM    <DIR>          pl-PL
03/19/2011  11:28 PM    <DIR>          pt-BR
03/19/2011  11:28 PM    <DIR>          pt-PT
03/19/2011  11:28 PM    <DIR>          ru-RU
03/19/2011  11:28 PM    <DIR>          sv-SE
03/19/2011  11:28 PM    <DIR>          tr-TR
03/19/2011  11:28 PM    <DIR>          zh-CN
03/19/2011  11:28 PM    <DIR>          zh-HK
03/19/2011  11:28 PM    <DIR>          zh-TW
               1 File(s)        485,760 bytes
              24 Dir(s)  177,605,242,880 bytes free
Campo
  • 1,609
  • 17
  • 33
  • 2
    Your question needs a list of the drives and, at the very least, an indication of which drive holds the [boot volume](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/boot-and-system-volumes.html) and which the [system volume](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/boot-and-system-volumes.html). The output of the `list disk` command in `diskpart` is the bare minimum. The `detail partition` command will tell you system/boot information about each partition. – JdeBP Jun 05 '11 at 22:41
  • 1
    Well, because you use `bcdedit`, I would say your "System Reserved" partition is on a separate partition, which can or cannot be on the same drive. This is done, for the same reasons Linux recommends `/boot` on a separate partition: so when the OS *or* bootloader is hosed, both do not go down with the ship. In the past, I just backed up my BCD store, relocated the H:\Boot files (in your case whatever is on H:, they will probably be hidden, so `attrib -H H:\*` to see) onto C:, and then used manually reconfigured with `bcdedit`. You need `bootrec` or a fancy BCD GUI editor if you're asking this. – songei2f Jun 07 '11 at 18:42

4 Answers4

8

The computer was booting off one of those disks you removed, and starting the OS from the Operating System disk (which is apparently a separate disk). This is what happens when someone carelessly installs an OS.

You need to get the BCD on the OS disk and corrected for it's new location. You may be able to boot the Installation Disk and Repair the installation into booting again.

Update - To Fix:

  • First a backup: run bcdedit -export C:\bcd.backup, should probably copy this to another computer or thumbdrive.
  • Open Drive Management, mount the boot partition (should be 100 or 300 MB) to a drive letter, note the letter.
  • mkdir C:\boot
  • xcopy /e x:\boot c:\boot (where x: is the drive you just mounted)
  • bcdedit -export C:\boot\BCD
  • bcdedit -store C:\boot\BCD -enum all
    Note the entry identifier and property of any lines where the second column says partition=x:

    For example:

    Windows Boot Loader
    -------------------
    identifier          {current}
    osdevice            partition=x:
    
  • For each occurrence noted execute the following; be extremely careful to not screw this up!
    bcdedit -store c:\boot\BCD -set {current} osdevice partition=c:

    Note: change {current} to whatever the identifier of the section was for the property you're changing. Then just follow it with the property and new value. Also note the new c: value instead of x:. Also, the identifiers may/will be GUIDs.

  • Once that looks all good, fire up Drive Management again, remove the drive letter from that other drive so it's back the way it was. Mark the C: partition Active.

You should now be able to remove the other disk and boot off the system partition. If this doesn't work you haven't messed up the other disk and can put it back in.

Update 2:
Looks like you've got that other partition mounted as h: already, so ignore that mount and unmount stuff, just jump into the copy, edit, yada yada.

Chris S
  • 77,945
  • 11
  • 124
  • 216
  • 4
    Not always carelessly, our first Win NT 3.51 Server machine was an Alpha and had to have the HAL on a small FAT partition. – Ward - Trying Codidact Jun 05 '11 at 02:03
  • Repairs did not work... unless I am missing something. Only replacing the removed disk did.... – Campo Jun 05 '11 at 02:33
  • A point to Ward. [Separating the boot volume from the system volume](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/boot-and-system-volumes.html#Separation) is not necessarily even the abnormal case, let alone _anything at all_ to do with carelessness. – JdeBP Jun 05 '11 at 22:34
  • 3
    @Ward & @JdeBP, putting the critical boot information on what is otherwise an ancilary storage volume, without extradorinarily good reason and documentation, is careless at best. Server 2008 R2 installation will force you to have separate boot and system volumes unless you manually deploy the image. This isn't a question of requirements or best practices, this is simply not paying attention to what you're doing. – Chris S Jun 06 '11 at 00:13
  • You are building a house of cards founded upon simply making things up. The questioner hasn't told us enough information to determine whether this _is_ an "ancillary storage volume". It could well be that the boot and system volumes are intentionally located where they are located, and that the idea of "ancillary storage volumes" simply doesn't enter into things. It is _not_ "careless" to put boot and system volumes on separate discs, you know. You've no idea that this isn't entirely intentional, since we haven't been told the `diskpart` output. – JdeBP Jun 06 '11 at 10:16
  • 2
    @JdeBP, you best read the question again. He specifically states the server is "mostly for random storage" and "I would like to be able to remove that drive". I would certainly think it is careless to separate the Boot and System drives in a Windows Server 2008 deployment. I can't think of a single reason to do it; I can think of several reason not to, this situation included. I have reason to suspect this is not intentional (the fact that this question even came up for one); you have no reason to think this is intentional (or do you??); Occam's razor would agree with my assumption. – Chris S Jun 06 '11 at 12:29
  • You're still building that house of cards. The simple fact remains that the questioner hasn't told us enough. What a server _overall_ is "mostly" for doesn't cut the mustard as a statement of what each individual disk and volume is for. Again, that's just pulling assumptions out of thin air on your part. That you go on to classify things that you "cannot think of" as "careless", and try to misuse poor William of Ockham instead of yourself providing justification for your unsupported assumptions from zero data for which _you bear the burden of proof_, not us, is also a poor show. – JdeBP Jun 06 '11 at 13:49
  • 3
    @JdeBP, using metaphors about "that house of cards" instead of making a logical and concise argument "doesn't cut the mustard". My assumptions aren't from this air, as I have previously stated, they're based on the question. While my assumptions are far from irrefutable fact, they're based on something more than your assumption that the situation is more complicated than it appears on the surface. I don't see how William's oath of poverty has any bearing on this either. – Chris S Jun 06 '11 at 13:59
  • Did not intend to spark a debate ;). @Chris S you stated "Server 2008 R2 installation will force you to have separate boot and system volumes unless you manually deploy the image" is there documentation on this? The instal was performed via a default instal not deployed. I am unsure of the thought that went into this as I was not around for that. I am only trying to remove the ancillary storage device that contains the boot partition and move it back to HD0. So plain and simple I am looking for a step by step to resolve this issue. Thanks. Nonetheless the debate above has some good info in it. – Campo Jun 07 '11 at 18:07
  • @Campo, documentation for deploying an image, or regarding the two partitions? – Chris S Jun 07 '11 at 18:20
  • Sorry. Documents regarding your quote "Server 2008 R2 installation will force you to have separate boot and system volumes..." I am familiar with deploying images. Thanks for clearing that up. Did you take a look at my BCDEdit I posted in my question? I am sure its a single command to resolve I would rather not have any mistakes. Thanks @Chris S – Campo Jun 07 '11 at 18:33
  • Thanks @Chris S for the update. I am remote now so when I get onsite around 6PM I will give it a go. I will mark correct once resolved. Much appreciated. – Campo Jun 07 '11 at 19:17
  • @Campo, you're welcome. I'm hoping there wasn't something else funky with the server which prevents it from booting from the first hard disk. I couldn't find anything good regarding the boot and system partition separation (sorry). – Chris S Jun 07 '11 at 19:22
  • Not to worry. Such an odd error to be honest. I understand the system partition fine. But what was done here really is very odd indeed. I see what you are saying but it does seem as though someone did not double and triple check how the partitions were made upon instal. Really appreciate your time today! I will follow up. – Campo Jun 07 '11 at 19:24
  • Update in my post – Campo Jun 08 '11 at 00:47
  • If you created the backup as I mentioned, you can restore it to the C: drive with `bcdedit -store C:\boot\BCD -import C:\bcd.backup` – Chris S Jun 08 '11 at 01:35
  • Command is invalid.. H:\Boot>bcdedit -store C:\boot -import C:\bcd.backup The store import command is invalid. Run "bcdedit /?" for command line assistance. The parameter is incorrect. SO I tried... H:\Boot>bcdedit -import C:\bcd.backup The operation completed successfully. Still no \BCD... :( – Campo Jun 08 '11 at 01:43
  • Made a big mess in the C: drive as well – Campo Jun 08 '11 at 01:47
  • 2
    @Campo, my apologies, tested the commands this time around... Should have started with `mkdir C:\boot` then `xcopy /e H:\boot C:\boot` and `bcdedit -export C:\boot\BCD`. Will update my answer with that. – Chris S Jun 08 '11 at 02:00
  • No worries. I will test tonight and let you know. Thanks for this! – Campo Jun 09 '11 at 13:56
  • When I do: C:\Windows\system32>bcdedit -store c:\boot\BCD -set {bootmgr} osdevice partition =c: I get this output The element data type specified is not recognized, or does not apply to the specified entry. – Campo Jun 12 '11 at 21:00
  • There shouldn't be a space between the `partition` and `=c:` – Chris S Jun 13 '11 at 01:03
  • Tried a whole bunch of modifications to that line and I am still getting the same error :( – Campo Jun 13 '11 at 14:44
  • 1
    You aren't running these in PowerShell, right? And it's the exact guid as `bcdenum -store C:\boot\BCD -enum all` shows? – Chris S Jun 13 '11 at 15:28
  • No i am running in a CMD. There is not GUID its just Identifier {bootmgr} I do see ones that show the GUID but those are already C:... Any Ideas what I am doing wrong? I can give screenshots if you feel it would help. Thanks for the help @Chris S – Campo Jun 13 '11 at 17:28
  • Any ideas @Chris S? Would you like a screenshot? Really feel we are so close and its a tiny typo causing the error but tried to modify the line many different ways with no success :( – Campo Jun 14 '11 at 15:18
  • 1
    @Campo, the `{bootmgr}` entry doesn't have a `osdevice` property, it only has a `device` property. That's why you're getting the error. – Chris S Jun 14 '11 at 15:49
  • THAT WAS IT! Thanks! Just completed successfully in a remote session. Gota get on site to test if when we remove the drive this all boots up again normally. I will mark correct when that happens. Thanks for this! – Campo Jun 14 '11 at 16:13
2

If this is just a secondary DC (no such thing as a backup DC), why not just dcpromo it out, blow away the OS and start over?

HostBits
  • 11,796
  • 1
  • 25
  • 39
  • 2
    Because (for one thing) that way they won't learn what they did the first time around that got them into the situation that they are in now, and will possibly just repeat the problem. – JdeBP Jun 05 '11 at 22:31
1

First, a little history since it will make clear what is going on.

In the past with Server 2003 and before for NT-based OS'es (not the 9x OS'es), you had a boot.ini, which had a line similar to this: default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS . This told the NT loader where to find the OS to boot from.

So if you had a boot.ini that booted from partition(2), but you remove partition(1) because it is on a different disk (or even change the boot order of your disks in the BIOS), when you boot, it is still looking for partition(2), but it has, in effect, been moved and renamed partition(1) so it won't boot since the required files are not in that location. The same goes for changing of disk numbers.

In Server 2008, the boot.ini has been replaced with the BCD (Boot configuration data), and needs to be edited using the BCDEdit tool. Here is a good tutorial on how to use it: http://www.computerperformance.co.uk/Longhorn/server_2008_bcdedit.htm

When you removed that disk, you changed your partitions and/or disks, and your server is not looking at the right partition/disk to boot from. When you fix the boot configuration data to look at the right disk and partition, it will boot.

KCotreau
  • 3,381
  • 3
  • 20
  • 24
1

Windows 2008 R2 (every Windows since Vista, actually) has taken the Linux approach of separating the boot loader from the operating system, by storing it in a separate partition; if you take an empty disk and tell the Windows setup to create a single big partition in it and install Windows there, it will automatically create a small (~100 MB) partition at the beginning of the drive to hold the boot manager, and then it will actually install Windows in a second partition filling the rest of the disk. This will happen automatically, and you can't even avoid it: Windows can have the boot manager and the operating system on the same disk, but the only way to achieve this is to install it in a disk which has already been partitioned.

Ok, this was a little digression; anyway, looks like in your case the partition holding the boot manager somewhat ended up on a different drive than the one holding the operating system; but we don't know the actual disk layout from your question: we only know the boot manager is stored on H: and the O.S. is on C:, and from your description of the problem, looks like H: resides on the disk you were trying to remove.

You should post some output from the diskpart command, or, even better, a screenshot from the Disk Management snap-in.

As for moving the boot manager, yes, that can be done, but it's somewhat tricky, so please post more informations about your actual disk layout before we can provide you with a solution.

Massimo
  • 70,200
  • 57
  • 200
  • 323