Strategic Informatics

A blog about the strategic application of technology

By

Recovering a hard driving using SpinRite on a Mac using VMWare Fusion

I recently found myself faced with a 2.5″ NTFS formatted laptop hard drive from a 5 year old laptop that wouldn’t cooperate and would constantly fail so I decided to try and recover what I could from the drive by running SpinRite, a great application from Steve Gibson of Gibson Research that I have used successfully many times in the past to recover damaged or unreadable magnetic based media.  The last time I actually used it was about 12 years ago over the course of several days to recover a failing HD.  Computing and hard drive technology has changed a lot since then but they are still very much part of our day-to-day IT lives.  When I encounter a problem that needs extensive evaluation I would just run SpinRite on the x86 based PC from which the hard drive came.  However, after creating a bootable CD and USB key with SpinRite for use on the 5 yo laptop neither one would work so I decided to take a different route.  Without another PC handy I decided to assess my options…  My daily laptop is a MacBook Pro, doesn’t (thankfully) have an internal 2.5″ SATA bay and is sealed tighter than the sub in the Hunt for Red October…  So what’s a Mac user to do with an NTFS formatted magnetic HD that can’t be read, an old Laptop that won’t boot SpinRite, and no other PC’s within easy reach?  Try to run SpinRite from a Virtual Machine on a Mac of course….

Now for those of you who don’t know SpinRite was written in assembly and does very low level reads and writes against a computers magnetic mass storage drives.  FreeDOS has been incorporated into SpinRite distribution to allow it to boot to a bare-metal PC and mount any connected drives so you can exercise the individual bits of 1’s and 0’s stored on the drive, exercising it enough to get a magnetic drive in as good a working condition as the physical hardware will allow.  With any luck it will operate just well enough to get your information to a readable state and backed up before you have complete hardware failure…   Running SpinRite from a VM was a bit more involved to configure via VMWare Fusion on a Mac and I wasn’t completely sure it would work… so I thought I would share my experiences.

 

I created a spinrite.iso file from another Windows VM I use.  I then created a new MS-DOS based VM mounting the SpinRite.iso created from the SpinRite.exe file.  It booted to a familiar screen without any issues.

SpinRite_and_Blank_website__Blank_site__Nothing_to_see_here_

SpinRite_and_Blank_website__Blank_site__Nothing_to_see_here_

Now the challenge was to get the physical hard drive mounted to the VM…  Looking through the settings there was no way to get RAW access to a physical HD.  I used a SATA to USB adapter and had to connect the drive to my Macbook Pro ensuring it was mounted to the Mac not the VM.

I needed to create a Raw Disk vmdk to make the RawDisk accessible to the VM so I did the following:

From a Mac terminal (I prefer iTerm) type:

diskutil list

In my case the 160GB HD came up as /dev/disk2 but your particular configuration may be different.

1__bash

 

Next from the terminal run the following command to list the partitions that rawdiskCreator can see:

/Applications/VMware Fusion.app/Contents/Library/vmware-rawdiskCreator print /dev/disk#

Note: Ensure that the last entry /dev/disk# is changed to the drive you are targeting for raw access.  In my case it was /dev/disk2

1__bash

What you should see next is your drive partitions…  My particular drive was split into two partitions (#1 was very small and #2 made up the bulk of my 160G HD)

With your partitions known and visible by the rawdiskCreator tool you can create the vmdk file that refers to the physical hard disk you are trying to mount and make it available to the existing SpinRite VM you created earlier.  You will need to know the location of the Disk and the partitions you want to mount from the previous command, which in my case is /dev/disk2 1,2 which says it’s disk2 and both partitions 1 & 2.  You will also need the path to the actual SpinRite .vmwarevm Virtual Machine that you created earlier (in my case ~/Documents/Virtual Machines/SpinRite.vmwarevm/rawDiskFile).  Now I used rawDiskfile but this is the name of your vmdk file and can be called whatever you like.  Make sure to include the ide designator at the end so the VM knows how to mount the drive.

/Applications/VMware Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk2 1,2 ~/Documents/Virtual Machines/SpinRite.vmwarevm/rawDiskFile ide

After you execute this command successfully you can option click the SpinRite.vmwarevm file and choose Show Contents.  Here you should see the files that makeup the .vmwarevm file including the new .vmdk file (if that’s what you named it) for each partition you listed above (1,2).  In my case it was rawDiskFile.vmdk & rawDiskFile-pt.vmdk

If you boot the VM now you won’t see the additional drive so you have to manually edit the configuration file for the VM to recognize the drive.  With the VMWare file contents still being displayed in finder you need to edit the .vmx virtual machine configuration file.  In my case it was called SpinRite.vmx because SpinRite is what I named my VM…  You should probably back up this file incase there is a problem and you need to start over.  Use your favorite editor (BBEdit, TextWranger, TextEdit, etc…) to edit the .vmx configuration file.  You want to insert the following lines to your configuration file being careful not to duplicate an existing ide#:# entry:

ide0:1.present = “TRUE”
ide0:1.fileName = “rawDiskFile.vmdk”
ide0:1.deviceType = “rawDisk”
suspend.disabled = “TRUE”

If the VM already has in its .vmx configuration ide0:1, use another port such as ide1:1.  It is also possible to use scsi#:# or sata#:# if the VM is somehow configured to use a SATA or SCSI controller.   The suspend.disabled=”TRUE” entry prevents the VM from suspending and being out of sync with the attached HD.  Important since most of SpinRite’s scans can take a long time to run.

The last step is to power on the VM and select your HD…  You may be prompted to enter your administrators password to get RAW access to the HD as the VM powers up.

Screenshot_4_30_15__4_12_PM

If you run into trouble it may be necessary to unmount the HD from your Mac by ejecting or un-mounting from Disk Utility prior to turning the VM on.

I won’t go into detail on how to use SpinRite as the tool is pretty self explanatory but the 160GB HD partition did appear in the interface ready to begin SpinRite’s operations.

SpinRite

SpinRite_and_Blank_website__Blank_site__Nothing_to_see_here_

SpinRite

 

Again this certainly isn’t an ideal setup as SMART access to the HD wasn’t available from within SpinRite menu options because, and I’m guessing here, of the SATA to USB setup but it might work in a pinch.  Hopefully it proves useful to your IT Toolkit and helps you extend the life of your SpinRite license which is worth every penny…

Update:  I tried a couple of drives and while it worked for one drive there was an error that completely stopped SpinRite and the VM in it’s tracks…   It only occurred on a specific section of the hard drive where there was clearly an issue…

SpinRite

SpinRite

By

Synergy How To For Mac and PC

Working in an environment with multiple OS’s can be challenging when you have to shuffle between multiple keyboards and mice. A KVM only offers a single view of one device at a time, which is challenging when you need to switch between them frequently. I’m a huge advocate of virtual machines but you are still often limited by the available screen real estate of a single workstation. I’ve toyed with the idea of using the open source application Synergy for a while but have never taken the plunge until recently. What is Synergy? Synergy is an application that allows you to setup individual workstations, either Mac, PC, or Linux with their own dedicated monitors and utilize a single workstation’s keyboard and mouse to move among as many different Operating Systems as you need. You still need dedicated monitors for each of your individuals PC’s but a single mouse and keyboard will allow you to easily operate each OS on their respective monitor(s).

Synergy consists of a client application that runs on the workstations you want to control and an application that functions as a server to which you have a keyboard and mouse you want to use. In the scenario I’m going to present I have a MacBook Pro and and a Desktop PC running Vista. I will show how you can use the keyboard and mouse of the Mac to control the PC. I’ve also configured the Vista as a server which required a little additional effort. If you are interested in seeing this configuration then leave a note in the comments.

Using the Mac to Control the PC.

On the PC
You need to install Synergy on the Windows workstation you want to control.  You can get a copy from Sourceforge.net.  When you start Synergy just make sure you select “Use another computers’ shared keyboard and mouse (client)”, and in the “Other Computer’s Host Name” field enter in the IP address of Mac which we will configure as the server in the next step. Note if you need to find the IP address of your Mac click on the Apple icon in the upper right corer of your screen and select System Preferences…

Note: if you need to find the IP address of your Mac click on the Apple icon in the upper right corer of your screen and select System Preferences… Select the network card from the list on the left and you will see the IP address listed under “Status:”

On the Mac
You can download the latest SynergyKM binaries (.dmg) file for the Mac from Sourceforge.net. The one used here is 1.0 Beta 6.

The installation installs a configuration icon in your System Preferences folder. Open your System Preferences folder and select “Share my keyboard and mouse” radio button.

Now we need to configure the clients that will connect to the Mac’s keyboard and mouse. Click the + button to add another client to the list. In the Name: field enter the actual name of the workstation that will be connecting to your Mac. In my case, my Vista workstation was aptly called “VistaDesktop”. If you have other PC’s in your configuration you simply repeat this process. Now the beauty of the SynergyKM on the Mac is the ability to move the icons of the clients you have added to mimic the physical location of the monitors on your desk. If you have a monitor with one on top of another then you simply arrange the icons in the Server Configuration tool in a similar fashion. In my simple configuration my laptop was to the left of my Windows monitor.

Select the General Tab again and select the “Turn Synergy On” button.

When you start the Synergy server on your Mac you will see an Green and Blue circular Synergy Icon appear in the Menu Bar.


Now you should be able to control use your mouse to switch between both desktops in the order you configured them. If this was helpful then leave a comment or if you are interested in using Vista as a server then leave a comment.


By

Hamachi Personal VPN for OS X

Hamachi is the original name for the VPN client application for Linux, Windows, and Macs that allows for a virutual network to be created by simply joining with a Network name and a secure shared key. A virutal network adapter is installed and operates in the background tranfering traffic through a private (publically non-routable) IP address space. I’ve used this successfully on Windows and Linux and more recently Mac OS X. Windows installation is pretty straight forward. In this post I’ll review how to install the Hamachi client on the Mac. First, go to www.logmein.com and click to download the Hamachi client for Mac OS X. This is a command line installation so download the latest .tar.gz file to your Mac’s HD. Double-click on it to extract the Hamachi installation and configuraiton files.

Open up terminal, or my favorite iTerm, and navigate to the hamachi-x.x.x.x-x-osx folder you just downloaded. You will need to run the following commands as root so you will need to prepend sudo to your commands as follows.

Install hamachi:

sudo ./install

You will also need to install the tunneling adapter by issuing the tuncfg command.

sudo ./tuncfg/tuncfg

Now you can continue to utilize the command line interface or the easiest way to impelement this is to download the GUI interface HamachiX. This provides a visual interface much like the windows version that comes directly from the LogMeIn Hamachi Windows executable. Installing this in OS X will allow you to complete the remaining configuration.

You can click on the + Add button at the top of the HamachiX window


to add a network or create a new one.


Just don’t forget the Network name and password as you will need this for other Hamachi installation to access your virutalized network.

By the way for Linux users there is a similar but less feature rich Gnome GUI front end called ghamachi and can be downloaded here.


By

Virtualization on the Mac with VMware Beta 2

I am a big proponent of virtualization in the enterprise and it has come in quite handy on my primary PC for virtualizing development environments for some of my .Net development as well as hosting several LAMP stacks running atop of Linux.  VMware is my application of choice on the desktop and on the server.  I’ve run VMWare for well over 6 years now on XP, Windows Servers, Linux, and now OS X and have had solid performance with consistent updates from what is now a property of EMC.

The first release of VMware fusion left a bit to be desired but I jumped on it none-the-less because of the portability of existing VMware appliances and machines.  Within a few months another point release was issued that made it an almost daily utility for me.  Now with the upcoming release of 2.0 VMware has added several features I think feature-for-feature will give other competitors, even the open source Zen, a run for it’s money.

Here is a snapshot of what is anticipated in the 2.0 release:

  • Multiple Snapshots
    • Save your virtual machine in any number of states, and return to those states at any time
    • Automatically take snapshots at regular intervals with AutoProtect
  • File and URL Sharing
    • Share applications between your Mac and your virtual machines
    • Finder can now open your Mac’s files directly in Windows applications like Microsoft Word and Windows Media Player
    • VMware Fusion can configure virtual machines to open their files in Mac applications like Preview and iTunes
    • Click on a URL in a virtual machine and open it in your favorite Mac browser, or configure your Mac to open its links in a virtual machine
    • Map key folders in Windows Vista and Windows XP (Desktop, My Documents, My Music, My Pictures) to their corresponding Mac folders (Desktop, Documents, Music, and Pictures)
    • Greatly improved reliability of shared folders—now compatible with Microsoft Office and Visual Studio
  • Experimental Support for Mac OS X Server Virtual Machines
    • You can create Mac OS X Server 10.5 virtual machines (experimental support). Due to Apple licensing restrictions, the standard edition of Mac OS X 10.5 is not supported in a virtual machine
  • Display Improvement
    • Improved 3D support
    • Use 1080p full high definition video in Windows XP or Windows Vista
    • Freely resize your virtual machine’s window and enter and exit Full Screen view while playing games
    • Run Linux applications directly on your Mac’s desktop under Unity view
  • UI Improvements
    • The New Virtual Machine Assistant has Linux Easy Install in addition to Windows Easy Install
    • Cut and paste files up to 4 MB, including graphics and styled text
    • Status icons glow when there is activity
    • A screen shot of the last suspended state of a virtual machine is displayed in Quick Look and Cover Flow
    • You can remap keyboard and mouse input
    • Keyboard compatibility between the Mac and the virtual machine is improved
    • The vmrun command line interface is available for scripting
  • Broader Hardware and Software Support
    • VMware Fusion supports Ubuntu 8.04 Hardy Heron
    • VMware Fusion supports 64-bit Vista Boot Camp; handles activation for Microsoft Office 2003 and Office 2007
    • Experimental support for 4-way SMP (note: Windows Vista and Windows XP limit themselves to two CPUs)
  • Support for Virtual Hard Disks
    • You can mount the virtual disk of a powered-off Windows virtual machine using VMDKMounter (Mac OS X 10.5 or higher)
    • You now have the ability to re-size virtual disks

All of these features are worthy of an upgrade in and of itself but VMware is offering this as a free upgrade to current Fusion customers – even better.

Source: VMware

By

Here comes the Mac hackers…


New Trojan Leverages Unpatched Mac Flaw. A tool for exploiting an unpatched security hole in Mac OS X systems has been developed and until earlier today was being distributed through an online forum that caters to Mac hackers, Security Fix has learned.

read more


By

Why my next PC will be a Mac

The new features in the upcoming release of Apple’s Leopard is just one of the many reasons why my next PC will be a Mac. Coupled with a lightning fast Intel processor that supports virtualization of my other most used OS’s Windows Vista and Linux there is little reason for me not to take advantage of the native Unix capabilities built into OS X.

Apple has been making some very good strategic decision with respects to their entire line of products and software. Steve was right on the money when he said if you are going to make top quality software then you must make the hardware. Microsoft has steadily, and mush to my dismay, driven their core OS in a direction that makes it difficult to be all things to all people. Microsoft has a daunting challenge to support of the vast amounts of legacy hardware in the PC market making each subsequent OS release more and more challenging to support much less upgrade. Having taken my three year old laptop which is a pretty capable beast and gotten beat up by lack of support for the most basic of things has almost driven me to the edge. Our company’s infrastructure is driven entirely by Linux based servers so each day that passes or years between expected OS releases makes it more appealing to search for what other options are out there. The worker bees at Apple offer come compelling reasons to switch with their next OS iteration.

OS X based on BSD is a very capable and flexible OS. For starters you don’t have five flavors of workstation OS’s to choose from you just have one tweaked slightly for server based operations or workstation class performance. You also have solid releases with useful features such as the historical backup utility “Time Machine”. I’ve been a fan of multiple desktops for years on the Linux desktop and glad to see it take on some useful functionality on the Mac OSX platform with “Spaces”. Hands down though Compbiz fusion on Linux is a clear winner on the OS eye candy front. The clear winner for me and reason why I will be making a switch with my next PC purchase is Apple’s choice to use Intel processors with support for native virtualization. The ability to leverage OS X’s native Unix environment to manage my servers or switch between Windows and Linux at will without a significant loss in speed using the dual core processors built into the latest Mac’s is wonderful. We live in a primarly Windows world so leveraging Apples’ bootcamp to boot natively into OSX or Windows is perfect for me. The limited hardware on the Macs, which is already top notch, means that Apple can focus on developing drivers that work with the underlying OS and not rely on 16 different vendors to release updated drivers for your workstation. OEM’s such as HP and Dell have gotten a lot better about how frequently they update their products but it is certainly not as seamless as Apple makes it. Apple decision to open boot camp support to virtualization vendors Paralle’s and VMWare was pure genius. Not only can I boot natively into Windows or OS X but I can run my Windows partition as a virtual machine in OSX as needed without having to reboot or store files in a specific shared partition. Brilliant!!!!!