Friday, September 2, 2011

VirtualBox Mac OS X 10.6.8 EFI

I come to find a better way to virtualize Mac OS X 10.6.8 Snow Leopard on VirtualBox. Apparently, you don't need a boot CD (Empire EFI on the last VirtualBox Mac OS X post) to run before the installer and as a booter to boot into. I found elsewhere that Snow Leopard can be installed onto VirtualBox directly with Enable EFI checked and a change to the vbox settings file. Again, this source's instructions said to buy Snow Leopard on retail. AMD or Intel virtualization needs to be enabled on the host (VT-x or AMD-V).
1) Download and install VirtualBox from http://www.virtualbox.org. Open VirtualBox.
2) Click New, give it a name like OSX86-64, choose Maco OS X for Operating System and Mac OS X Server (64 bit) and click Next
3) Give it memory. 1 GB is sufficient for Snow Leopard but 2 GB is needed for Lion by default. Click Next.
4) With Startup Disk checked and Create new hard disk selected, click Next
5) With VDI (Virtual Box Image) selected, click Next.
6) Dynamically allocated may save space (only takes space as needed but doesn't automatically give it back). Fixed size may run faster but takes up all the space you specify. Dynamically allocated is sufficient.
7) Give it a name for location, like OSX86-64, default size 20 GB is ok, and click Next. Click Create, click Create.
8) Close VirtualBox
9) Edit the VirtualBox settings file, by default in %userprofile%\VirtualBox VMs\OSX86-64\OSX86-64.vbox. In the ExtraData section (in between and ), add . Save and close the file. Open VirtualBox. (If you want to see the Apple logo boot screen, add
10) Start the Virtual Machine. It starts to a first run wizard. Click OK, Next, pick the OS X Snow Leopard media, click Next, and click Start.
11) Run through the setup process:
(English, Continue. From the Utilities menu, click Disk Utility, click the 21.47 GB VBOX HARDDISK Media, and click Partition. From Volume scheme, select 1 Partition, name: Macintosh HD, click Apply and click Partition. When done, click Quit Disk Utility from the Disk Utility Menu. Click Continue, click Agree, select Macintosh HD and click Install. Restart when done.)
12) Run through the first setup steps.
13) Download and install the Mac OS X 10.6.8 Update Combo from Apple.com. Restart. Download and install the other updates.

I find it interesting that the Apple switch to Intel processors combined with the popularity of virtualization technology has opened this door. This would be more difficult to do were Apple still using only Power processors. It makes me wonder if Apple plans to port their ARM processor (Apple A4/5) "back to the Mac." I'm most familiar with Windows operating systems, and I'm interested in learning more about other operating systems. However, I am more interested in BSD (FreeBSD), which is used in Mac OS X. I'd also interested in Linux. It is said that Apple's iOS is a walled garden, and I kind of view Mac OS X in the same light.

Friday, July 29, 2011

No Repair Install in Windows Vista, Windows 7?

Is there a way to perform a repair installation on Windows Vista or Windows 7? In Windows XP, you could boot from the installation media, press enter to install, accept the license agreement, and press R to repair your installation (some would call this a dirty install or an upgrade install). This option does not appear to exist in Windows Vista and Windows 7. From what I've read, the reason the repair installation option doesn't exist is that Windows Vista and Windows 7 deploy from a Windows Image (install.wim), so now you don't really install Windows, you image Windows down to your computer.

Watching the Windows XP repair process, I notice it deletes files then recopies them. Could you in effect perform a repair install by copying certain files (like the registry files) to another directory, have the Windows install write over them, then copy them back or merge the difference? Has someone created a repair installation tool?

There are some repair tools that can be run in Windows Vista and Windows 7, but they don't appear to be analogous to the repair install. You can boot to the installation media, choose Repair My Computer, pull up a command prompt and type the following commands, but neither the Offline System File Checker nor Startup Repair have fixed the issues I have tried to fix:
sfc /scannow /offbootdir=d: /offwindir=d:\windows
x:\sources\recovery\startrep.exe

Thursday, July 7, 2011

Directory Services Restore from Physical to Hyper-V Virtual Windows Server 2003

I ran across a strange issue when trying to recover a Windows Server 2003 Active Directory system state backup from a physical server to a Hyper-V Virtual Server. I had to install the Hyper-V Integration Services, uninstall Hyper-V Integration Services before I restored, then reinstall Integration Services. I don't think this would occur in Windows Server 2008 or 2008 R2.

I did the following:
1) Backup the system state of a physical server using ntbackup (replaced by Windows Server Backup or wbadmin in Windows Server 2008 and above).
2) Install Windows Server 2003 with Service Pack 2 on the destination virtual machine.
3) Install Hyper-V Integration Services on the virtual machine.
4) Make sure the Virtual Machine is NOT on the production network (Internal/Private Virtual Network).
5) Click add role, choose Directory Services (Active Directory) as the first server using the same domain name being restored (also same computer name and static IP address).
6) Add other used roles (we had installed WINS).
7) Remove Integration Services .
8) Restart in Directory Services Recovery Mode (Press F8 between the boot screen and before the Windows boot screen and select DSRM).
9) Restore the system state using ntbackup
10) Restart into Safe Mode (to allow Windows to detect the hardware changes).
11) Insert the Windows Server 2003 install CD and repair Windows.
12) Reinstall Hyper-V Integration Services.

These steps reflect my own experiences. I'm just experimenting. Do not use or rely upon it. Instead, refer to Microsoft's documentation (knowledge base, MSDN, or TechNet artiles) and professionals for the correct policies and procedures. There are better ways to go from a physical server to a virtual server (like Microsoft System Center Virtual Machine Manager 2008 R2).

Saturday, May 21, 2011

Active Directory Transfer, Demote, and Disjoin

To continue from yesterday, I wasn't comfortable with a domain controller that had been restored from system state from different hardware (that was then repaired), so I brought up another virtual Windows Server 2003 machine to replicate Active Directory and transfer operations masters roles to. Then I wanted to demote the original virtual server and disjoin the domain. When transferring roles, you have to connect the tools to the domain controller you want to transfer the operations masters to and click Change:

1) Open Active Directory Domains and Trusts and connect to destination DC (Right-click Active Directory Domains and Trusts icon in the top of the tree, click Connect to Domain Controller, choose the destination domain controller and click OK). Right-click Active Directory Domains and Trusts and click Operations Master. Click Change, click Yes, and click OK

2) Open Active Directory Sites and Services. Expand Active Directory Sites and Services - Sites - - Servers - - NTDS Settings and make sure the DC is a Global Catalog server (GC is checked).

3) Open Active Directory Users and Computers and connect to destination DC. Expand Active Directory Users and Computers, right-click domain.local, and click Operations Master. In the RID tab, Click Change, click Yes, click OK. In the PDC tab, Click Change, click Yes, click OK
In the Infrastructure tab, Click Change, click Yes, click OK

4) Click Start - Run, type regsvr32 schmmgmt.dll and click OK. Click Start - Run, type mmc and click OK. Click File - Add/Remove Snap-in. Click Add, select Active Directory Schema, click Add and click OK. Click OK. Right-click Active Directory Schema, click Change Domain Controller and change to the destination DC. Right-click Active Directory Schema, click Operations Master
Click Change, click Yes, click OK.

5) Demote DC. Run DCPROMO. Click Next (welcome), click OK to the warning (gc), click Next, type in the new local administrator password and click Next, click Next,

6) Disjoin the Domain (Right-click My Computer and click Properties, click the Computer Name tab, click Change, change domain to workgroup, pick a workgroup name and click OK, OK. Restart.

Friday, May 20, 2011

Directory Services Restore to Virtual from Physical

I've restored Windows Server 2003 Active Directory Directory Services from a physical to a virtual server lately probably more times than is reasonable, four successful, one unsuccessful (see note about cavalier deletion of network registry keys below). I've been playing with Domain Rename operations in Windows Server 2008 (R2 in this case) and the hiccups. Unfortunately, it doesn't sound like my company will be changing our .local domain to .com any time soon as Microsoft does not support domain name changes in Microsoft Exchange 2007 or 2010 (http://technet.microsoft.com/en-us/library/cc816848%28WS.10%29.aspx). I found that three of our more important server applications can handle it, it seems. Earlier, I elucidated steps to backup physical/restore virtual Active Directory involving 3 virtual machines and a bunch of tools. I think now I'm doing it more streamlined:

1) Backup the system state of the Domain Controller (or Active Directory Server or Directory Services server) using NTBackup (in Advanced Mode to select only the System State) on Windows Server 2003 (we're moving to 2008 soon though).
2) Create the Windows Server 2003 virtual server (up to date, with the virtual machine additions) and copy over the backed up system state.
3) Move the virtual server off the production network to prevent interfering with the production environment.

4) Give the network adapter of the virtual server a static address. I matched the address of the physical server and also added the Domain Controller (Active Directory) role to match the configuration I was restoring. As I was restoring the system state, this step might be unnecessary.
5) Restart in Directory Services Restore Mode by pressing F8 after the BIOS screen before the Windows screen, selecting the option and pressing enter.
6) Log in to Windows, run NTBackup in Wizard Mode, select the backup file, and restore the system state. After completing the restoration, clicking Close prompts a restart. Restart.
7) Pressing F8 after the BIOS but before the Windows splash screen, selecting Safe Mode, and pressing enter allowed Windows to detect the new hardware (trying to boot into Windows in normal mode would hang in my case), but because I was restoring an OEM copy, I had to repair Windows.

8) After restoring the system state, I was left with (not strictly necessary) services that no longer started that I could delete. I used sc delete to delete them. I also changed the mfevtp and mfehidk services to manual start. Not necessary if you don't mind seeing "One or more services failed to start..." on startup.
9) Give the presumably new network adapter a static IP address. Again, I matched the restored configuration.
10) Open DNS from Start -> Administrative Tools. Expand to the forward lookup zone(s), right-click the zone and click Properties. Click the Name Servers tab, select, and remove the Name Servers not being restored. Do the same for the reverse lookup zone(s), if applicable.
11) Open Active Directory Sites and Services from Start -> Administrative Tools. Make sure for the server(s) that remains, that GC is checked by right-clicking its NTDS Settings and clicking Properties. Delete the servers that won't be restored from under its NTDS Settings. For each server not restored under Sites - - Servers, expand NTDS Settings and remove the other servers. Delete NTDS Settings, choose "This domain controller is permanently offline and can no longer be demoted using Active Directory Installation Wizard (DCPROMO)", and click Delete. Delete the Server as well.
12) Open Active Directory Domains and Trusts from Start -> Administrative Tools. Right-click Active Directory Domains and Trusts and click operations Master. A restored server should be Domain Naming Operations master. If not, change the role by seizing it.
13) Open Active Directory Users and Computers from Start -> Administrative Tools. Right-click Active Directory Users and Computers, click All Tasks - Operations Masters...
Make sure a restored server is Operations master for RID, PDC, and Infrastructure roles. If not, change the roles by seizing them.
14) If not installed, install the Windows Server Support Tools from the installation media ( \SUPPORT\TOOLS\SUPTOOLS.MSI). Click Start->Run, type regsvr32 schmmgmt.dll and click OK, OK. Click Start -> Run MMC and click OK. Click Console Root and click Add/Remove Snap-In..., click Add, select Active Directory Schema, click Add, Close, and OK. Right-click Active Directory Schema and click Operations Master
Make sure a restored server is Operations master.
15) Open Active Directory Users and Computers from Start -> Administrative Tools. Expand the Domain and click Domain Controllers. Press delete for the domain controllers not being restored, select "This domain controller is permanently offline and can no longer be demoted using Active Directory Installation Wizard (DCPROMO)" and click Delete and Yes.
16) Open DNS from Start -> Administrative Tools. Delete (Same as parent folder) entries for other DCs in domain.local forward lookup zones for domain controllers not being restored. Double-click DomainDnsZones and delete (Same as parent folder) entries for other DCs
Expand DomainDnsZones - _sites - Default-First-Site-Name - _tcp and delete entries for domain controllers not being restored. Expand DomainDnsZones - _tcp and delete entries for domain controllers not being restored. Double-click ForestDnsZones and delete (Same as parent folder) entries for domain controllers not being restored. Expand ForestDnsZones - _sites - Default-First-Site-Name - _tcp and delete entries for domain controllers not being restored. Expand ForestDnsZones - _tcp and delete entries for domain controllers not being restored. Expand _msdcs - gc and delete entries for domain controllers not being restored.
17) Make sure SYSVOL and NETLOGON are being shared (browse \\HOSTNAME or \\localhost). The most recent time I did this, I saw a folder called NtFrs_Preexisting___See_EventLog under c:\Windows\Sysvol\Sysvol\Domain.local\, so I made a copy, moved the scripts and policies out of the folder and under the domain.local folder and deleted the NtFrs_... folder. Then I opened regedit (Start -> Run -> regedit OK), changed BurFlags to d4 under HKLM\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Processes and restarted the NtFrs service to get Sysvol (c:\Windows\Sysvol\Sysvol) and Netlogon (c:\Windows\Sysvol\Sysvol\Domain.local\scripts) shared.
18) At this point, I have a domain controller that can be joined to. Unfortunately, in my cases, this domain controller now has Registry entries, Add\Remove Program entries, and files that may be suspect, so at this point, I preferred to join to it a clean virtual server, promote that server to a domain controller with DNS, and transfer operations master roles to it then demote and disjoin the "dirty" server from that domain.

Thursday, May 19, 2011

...Or don't. Network Adapters in Windows Registry

Let's say you learned where Windows stores network card/adapter information in the registry, and you were playing with recovering a backup of Windows Server 2003 Active Directory to different, virtual hardware. Don't decide it a good idea to clean out the network adapters in the registry by uninstalling the virtual adapter and deleting all adapters in the registry. It's a bad idea.

I have been playing around with a few things: recovering Active Directory to different hardware (to a virtual PC/server), seizing FSMO (Flexible Single Master of Operations or operations master) roles, transferring operations master roles, a Windows Server 2008 R2 domain controller and adprep, and Domain Rename. I've done this three times successfully and once unsuccessfully.

During the unsuccessful attempt, I backed up the system state of our first production domain controller running Windows Server 2003 R2. I created a virtual machine running Windows Server 2003, placed it on a virtual switch not paired to a physical network card, and promoted it to a domain controller. I restarted in Active Directory Recovery Mode, restored the backup, and rebooted to Safe Mode. I had to repair Windows because I had restored an OEM copy of Windows Server 2003 R2 onto a volume license copy of Windows Server 2003. I uninstalled the network adapter from Device Manager and went into the registry and removed the network adapters. All I can say for certain is after restarting, Windows could not start the virtual network adapter. It said one or more files could not be found. I tried using the installation media and the local drive as the source for updated drivers and tried reinstalling the virtual machine additions, but it didn't help. My thought is that Active Directory is bound to network adapters. I notice domain controllers take longer to start up than other Windows Servers at the Preparing network connections phase of startup.

In some cases, this sort of difficulty would have me digging into the situation. In this case, my reaction was I'm not doing that again.

Sunday, March 6, 2011

Finding Microsoft KBs afterwards

This happens frequently enough to warrant comment. I hate when I find Microsoft Knowledge Base articles detailing the solution after I'd already stammered and stumbled into a solution on my own. Case in point, although this applies to Windows 2000 Server, there is a Microsoft Knowledge Base article called "How to perform a disaster recovery restoration of Active Directory on a computer with a different hardware configuration", KB263532 - http://support.microsoft.com/kb/263532, explaining what I blogged about. Maybe those missing registry keys were the source of my problems. I haven't found a more up to date KB article but have found a related one: "How to move a Windows installation to different hardware", KB249694, http://support.microsoft.com/kb/249694. I guess it's part of learning.