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

Performance issues with VMWare Fusion 6.01

I’ve had relatively great success with running Apple’s OS X Maverick since I installed a developer release on a second generation MacBook Air in June while at WWDC 2013.  No issues.  None.  Never-the-less, I hesitated updating my primary Mac with developer pre-release software.

When VMWare announced during this beta that VMWare Fusion for OS X was upgraded to version 6 with specific focus on compatibility with Mavericks and Windows 8 I promptly upgraded.  Running Windows on OS X 10.8 was every bit as fast as if it was running on native hardware.  No complaints…

When Apple announced the general release of OS X Maverick’s I upgraded my primary machine a 2 monitor setup to which I was looking forward to with the additional options available.  I upgraded, again, without issue.  When I started to run Windows 8 VM inside of VMWare Fusion I noticed a performance hit…  Ugh…  I knew it was too good to be true.  I can accommodate a lot in order to help satisfy my inquisitive mind however when it comes to daily workflow I have much smaller levels of tolerance.  I knew the performance issue probably had something to do with Maverick’s so I dug a little deeper and looked at the newly  refreshed Activity Monitor in OS X.  Nothing exceptional in the CPU and Memory tabs.   CPU was at a reasonable level before and after running a virtual machine in VMWare Fusion and I have plenty of room with 16GB of memory.  Nothing seemed to be pegging either metric.  I looked at Disk and Network… again nothing out of the ordinary.  Knowing that Energy was a new tab I haven’t seen before in Activity Monitor I selected it and noticed the “App Nap” column was listed and indicated “Yes” in the row defining VMWare Fusion.   App Nap is the new feature in Mavericks that allows users, thankfully, to allow OSX to put to sleep applications consuming excessive amounts of your limited battery power.  A great feature for laptop users but I’m using a desktop and plugged into AC.  Not as big of an issue at my desk.  Activity_Monitor__Applications_in_last_8_hours_

 

 

A quick scan of Apple’s support site led me to how to disable this feature on an app-by-app basis…  Here’s what I did:

1.  Open a Finder window and navigate to your Applications Folder

2.  Locate VMware Fusion, right click and select “Get Info”

3.  In the “General:” section of the dialog box you will see a checkbox for “Prevent App Nap”.  Make sure this is unchecked.

VMware Fusion

 

 

I terminated and restarted VMWare Fusion and launched my Windows 8 virtual machine and so far so good.  Performance picked up and I’m back to my original daily workflow.   Hope this helps other VMWare fusion users who might have similar issues.

By

WWDC… The long, long, wait

Waiting in line is one of the many memorable events at WWDC. I’ve met several people from all over the world.

20130610-083512.jpg

20130610-083528.jpg

20130610-083548.jpg

20130610-083602.jpg

By

Apple World Wide Developer Conference 2013

BMWShxnCEAEFKJJ

 

In less than 24 hours, the first Apple event in at least 6 months will be underway.  There are a lot of eyes on Apple given their incremental product releases.  Rumors abound about what will be unveiled however it seems a safe bet given the signs that are posted in the Moscone center that Apple will focus heavily on the OS X and iOS.  Apple has released the innovative MacBook Pro with Retina Display and manufacturers have yet to really catch up with the design or hardware specs of this product so it makes sense Apple innovates in the software in their portfolio.

Follow-me on Twitter @cary_brown for updates…

By

Doctors embracing iPads as a clinical tool

Wendy Rigby with KENS 5 News San Antonio just finished an article on iPad use in clinical settings and focused on the effort of our WellMed physicians.

Credit: Wendy Rigby / KENS 5
Dr. Robin Eickhoff of WellMed uses an iPad as she consults with her patient

The article highlighted our EMR and Care Delivery Platform development efforts and our President, Dr. Carlos Hernandez, mentioned something quite profound during the video interview this afternoon that wasn’t captured in the article or on the video and that is the “need to develop tools built around care delivery not delivering care around a tool” which is precisely what our application development efforts have focused around.

Our Service Oriented Architecture has enabled us to quickly embrace change in the mobile space.  The iPads have not been out an entire year yet we are able to quickly consume the core secure EMR services built into our flagship Care Delivery Platform and push data into the hands of providers using a very connected, very mobile device with a fundamentally different user interface.  By taking the time to develop and invest in a service oriented architecture we’ve prototyped this iPad app in a fraction of the time it has taken to develop our RIA (Rich Internet Application) EMR.  This has been a long and often exhausting journey to leverage and get to a state of reusable services but the goals of being more agile and leveraging on top of what is already built is a refreshing feeling and enabling WellMed Medical Management with opportunities to remain agile in our ability to deliver on strategic decisions and changes that benefit care for our seniors.

To check out the article and photos of physicians using the iPads within the clinic check out the link on KENS5:

http://www.kens5.com/news/Doctors-embracing-iPads-as-a-clinical-tool-115957794.html

By

What makes a successful mobile device?

I typically don’t title my posts with a question but it begs to be answered with the imminent release of Apple’s iPad.  Frankly… I’m frustrated with all the media fanfare around how tablet based computing is “now” going to revolutionize the industry.  Tablet PC’s have been around for for 10-15 years.  It’s not the hardware in as much as it is the software running on these devices that have been the problem with adoption.  Software also being inclusive of the operating systems that power the devices.  Initial incarnations of the slate based devices tried to take a desktop OS like Windows, and with the help of some task bar utilities (and who doesn’t love more of those cluttering your interface) would create a platform for mobile professionals.  The result was that year over year software vendors continued to make their mouse and keyboard driven desktop applications function in the confines of a cumbersome keyboard and mouse driven OS by pecking at a temperamental resistive touch screen display on a mobile device.  And we wonder why software solution have a hard time getting used by providers and clinicians.

What was needed was a truly mobile and touch driven OS and SDK like Apple provided in their iPhone to help developers conform to building applications that did not rely on technologies that didn’t exist on the hardware like a mouse.  This was needed because no one had stepped up to the challenge in a market dominated almost exclusively by Microsoft.  Linux was in its infancy in the mobile space back then but today the Android OS has certainly stepped up to the challenge the iPhone has presented in the mobile device space and is providing a competitive platform against which Apple may have a hard time competing if the innovations in the open source world continue to leapfrog apple.

My issues with mobile computing in healthcare revolve around technologies that get in the way of providers and clinicians doing their core job which is attending to patients and not fumbling through hundreds of check boxes and interfaces designed to be used on a desktop.  Vendors need to realize just because you can run your application on a tablet PC doesn’t mean you should.  Let me repeat….Just because you CAN run your application on a tablet based device DOESN’T mean you should.  If an application is architected properly then there should always be a layer of abstraction between the interface and the underlying core enterprise services that drive that interface.  I’m not hating on Microsoft for providing Windows Tablet OS as I think they have considerably innovated in this area to help vendors use their legacy applications on mobile slate and convertible based platforms.  Multiple modalities for inputting data such as handwriting, voice, and predictive text recognition are all very good tools.  I think they were smart to merge these functions into the standard Windows 7 build and not offer a separate OS as they have in the past.

More interesting is the total rewrite of their mobile platform with Windows Mobile 7.  This ground-up initiative from Redmond is akin to becoming more like iPhone and Android operating systems but paves the way for more svelte hardware with mobile chip sets that can extend battery life without sacrificing performance.  Microsoft is bringing XAML to the mobile platform and leveraging their gaming SDK for development which eliminates any backward compatibility with pre-Windows Mobile 7 apps but I don’t view this as a bad thing.  New platform new apps…  Microsoft has long since reached the breaking point at which they need to support legacy applications and this new direction and outlook toward supporting the mobile user should be a refreshing change for developers.  A lot of our new development revolves around innovating in the user interface with Rich Internet Application (RIA) technologies such as Silverlight.  It makes us think differently about how applications are used and more importantly how it enables our users (physicians and clinical staff)  to do their job more effectively not insert yet another technology that gets in their way.

It has been a while since I posted an entry but my entire team and I have been hard at work maintaining existing applications and plugging away at UI and WCF service development.   Stay tuned…as we plug through our iterations and get ready to deploy our app I’ll share with you some of what WellMed is doing to “change the face of healthcare for seniors…”

By

Installing Windows 7 on a Mac OSX Bootcamp Partition


So I’ve been running Windows 7 since early September when the release to production copy was opened up for MSDN subscribers.  I can honestly attest that this is by far the best relese of Windows to come out of Redmond to-date.  The ugly duckling known as Vista has shed its skin and what has emerged is an efficient and capable operating system that performs well on relatively underpowered hardware.  I’ve created a few posts in the past that outline how to install Vista on a MacbookPro via bootcamp and also how to install at 500GB hard drive and maintain both partitions.  I’ve done all of this including the initial Leopard upgrade from Tiger without a total rebuild.  This is an amazing feat considering the number of trips to Apples Genius Bar desk to replace faulty video controllers for my now aging and out of warrantee Macbook Pro.  So I decided since I had been testing Windows 7 for a while now on a Dell XT and XT2 that I would tempt fate and perform an upgrade to the Bootcamp partition currently running Vista.  The other installations of Windows 7 on Intel hardware have been clean installs so this would be my first upgrade.  An upgrade, mind you, that has a significant amount of software installed. 

The process was actually fairly straight forward but I thought I would share none-the-less since the how-to posts seem to get the most attention. 

Step 1:  From either OS X or Windows open up the bootcamp manager and select the Windows partition. 

 bootcamp

Step 2:  Reboot to ensure that the default setting loads windows

Step 3:  Insert USB or Windows 7 CD into drive (I’ll post how to create a USB version of the Windows 7 Install Disk in a separate post)

Step 4:  Run the setup.exe from the Auto Run dialog box or manually via Windows Explorer.   From the initial setup dialog box run the compatibility testing tool (not shown in the image below) to ensure you meet all the minimum requirements and your software is compatible.  I had an issue with Windows OneCare to which I had to uninstall prior to installing.  Ironically it states there is an issue with the bootcamp software loaded on the Vista OS along with iTunes.   I proceeded none-the-less with the installation by clicking Next>after the check was complete.

windows7setup

Step 5: Setup of the OS is about as straight forward as it can possibly get.  Nothing special to do here just follow the instructions for an upgrade and enter in your key when prompted.

Step 6:  You will eventually reboot your system at which time you get the initial boot screen for windows indicating which Windows OS you want to boot into.  Keep the default Windows or Windows 7 (not Vista) and proceed with allowing setup to configure your system.

Step 7 (Optional):  Open up bootcamp setup and configure your default boot OS.  Either Windows or OS X

The setup depending on the software you have installed will take quite a while but for the most part it is a hands-off process.  Enjoy…

By

iPhone Development

Curiosity got the best of me this evening so I signed up for the iPhone Developer Program.  Being a person who has lived through several horrible user interfaces, Apples approach is refreshingly simple and with many more capabilities in the 3.0 release of the iPhone firmware I think there are many more unique applicaitons to be built.  I have more than an idle curiousity with developing an application utilizing some of the  initiatives we currently have going on at work but time will tell what direction our mobile strategy moves in.  In the mean time I’ll test the waters to see what new API’s Apple has released with their new 3.0 SDK.  Bluetooth communications, dock connector API’s, all have some interesting possiblities.

 

By

Apple’s Tablet iBook?

aaplnetbookmock

If we are to believe Apple then there is no intent on offering a slate based tablet platform.  However as evidenced by recent Chinese-language financial newspapers this week it is claimed that Wintek has been selected to manufacture touchscreens for a device targeted at the netbook category.  I’ll be the first to admit that I think Apple is poised to offer a device that picks up where Microsoft’s third-party device manufacturers left off.  It is clear to me that the capacitive touch screen on the iPhone/iPod is a great interface to a large screen slate based device.  While the above picture is surely a fake it does draw my attention to the fact that Apple’s recent Beta release of Safari has some very “Touch Friendly” features including the “Top Sites” at-a-glance preview of your favorite websites and Google Chromesque tab management which is uncharactaristic of Apples typicaly UI design within OSX. 

Safari 4 web browser demonstrating Top Sites feature
I became the recent receipient of Dell’s capacitive touch 12″ tablet and can assure you it does not compare to the iPhone’s interface.  Time will tell what Apple does in the coming months and if this rumor has any traction but for my work in developing applications I would love to see some well crafted UI’s sitting atop Apple’s hardware.  As novel as it may sound…”Flicking” through medical records using cover flow would be a pretty neat feature for managing a stack of patient medical records.

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.