def create
      return false unless new_record?
      raise Exceptions::ValidationFailedException.new(errors) if !valid?

      # Create the new Hard Disk medium
      new_medium = create_hard_disk_medium(location, format)

      # Create the storage on the host system
      new_medium.create_base_storage(logical_size, :standard).wait_for_completion(-1)

      # Update the current Hard Drive instance with the uuid and
      # other attributes assigned after storage was written
      write_attribute(:interface, new_medium)
      initialize_attributes(new_medium)

      # If the uuid is present, then everything worked
      uuid && !uuid.to_s.empty?
    end
def create
      return false unless new_record?
      raise Exceptions::ValidationFailedException.new(errors) if !valid?

      # Create the new Hard Disk medium
      new_medium = create_hard_disk_medium(location, format)

      # Create the storage on the host system
      new_medium.create_base_storage(logical_size, :standard).wait_for_completion(-1)

      # Update the current Hard Drive instance with the uuid and
      # other attributes assigned after storage was written
      write_attribute(:interface, new_medium)
      initialize_attributes(new_medium)

      # If the uuid is present, then everything worked
      uuid && !uuid.to_s.empty?
    end
Clone hard drive, possibly also converting formats. All formats
 supported by your local VirtualBox installation are supported
 here. If no format is specified, the systems default will be used.

 @param [String] outputfile The output file. This can be a full path
   or just a filename. If its just a filename, it will be placed in
   the default hard drives directory. Should not be present already.
 @param [String] format The format to convert to. If not present, the
   systems default will be used.
 @return [HardDrive] The new, cloned hard drive, or nil on failure.
 Creates a new hard drive.

 **This method should NEVER be called. Call {#save} instead.**

 @return [Boolean] True if command was successful, false otherwise.