Sha256: 190dd00ee6d945b0d4686e447081b3eee845430d99ce37a8351f40675bf93b51

Contents?: true

Size: 1.85 KB

Versions: 9

Compression:

Stored size: 1.85 KB

Contents

begin
  require 'log4r'
  require 'ostruct'
  require 'disk/MiqDisk'

  #
  # Formatter to output log messages to the console.
  #
  class ConsoleFormatter < Log4r::Formatter
    def format(event)
      (event.data.kind_of?(String) ? event.data : event.data.inspect) + "\n"
    end
  end
  $log = Log4r::Logger.new 'toplog'
  $log.level = Log4r::DEBUG
  Log4r::StderrOutputter.new('err_console', :formatter => ConsoleFormatter)
  $log.add 'err_console'

  diskInfo = OpenStruct.new
  diskInfo.rawDisk = true
  # diskInfo.fileName = File.join(File. dirname(__FILE__), "dos_mbr.img")
  # diskInfo.fileName = "/Users/rpo/vmware/Win2K3-EE/Windows Server 2003 Enterprise Edition-flat.vmdk"
  # diskInfo.fileName = "/Users/rpo/vmware/knoppixDVM/knoppixDVM.vmdk"
  # diskInfo.fileName = "/volumes/SCRATCH/VMs/VirtualPC/VHDFixedFAT32TwoPart/VHDFixedFAT32.vhd"

  diskInfo.fileName = "/dev/xvdf"
  # diskInfo.fileName = "./Win2k3R2EE.vhd"
  # diskInfo.fileName = "./Windows XP Pro 2.vhd"

  disk = MiqDisk.getDisk(diskInfo)

  unless disk
    puts "Failed to open disk"
    exit(1)
  end

  puts "Disk type: #{disk.diskType}"
  puts "Disk partition type: #{disk.partType}"
  puts "Disk block size: #{disk.blockSize}"
  puts "Disk start LBA: #{disk.lbaStart}"
  puts "Disk end LBA: #{disk.lbaEnd}"
  puts "Disk start byte: #{disk.startByteAddr}"
  puts "Disk end byte: #{disk.endByteAddr}"

  parts = disk.getPartitions

  exit(0) unless parts

  i = 1
  parts.each do |p|
    puts "\nPartition #{i}:"
    puts "\tDisk type: #{p.diskType}"
    puts "\tPart partition type: #{p.partType}"
    puts "\tPart block size: #{p.blockSize}"
    puts "\tPart start LBA: #{p.lbaStart}"
    puts "\tPart end LBA: #{p.lbaEnd}"
    puts "\tPart start byte: #{p.startByteAddr}"
    puts "\tPart end byte: #{p.endByteAddr}"
    i += 1
  end

  disk.close
rescue => err
  puts err.to_s
  puts err.backtrace.join("\n")
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
manageiq-smartstate-0.2.1 lib/disk/test.rb
manageiq-smartstate-0.2.0 lib/disk/test.rb
manageiq-smartstate-0.1.6 lib/disk/test.rb
manageiq-smartstate-0.1.5 lib/disk/test.rb
manageiq-smartstate-0.1.4 lib/disk/test.rb
manageiq-smartstate-0.1.3 lib/disk/test.rb
manageiq-smartstate-0.1.2 lib/disk/test.rb
manageiq-smartstate-0.1.1 lib/disk/test.rb
manageiq-smartstate-0.1.0 lib/disk/test.rb