class Resilience::GPT

Constants

NUM_ADDRESS
OFFSET_ADDRESS
PARTITIONS_START
PARTITION_SIZE
SIG

Public Instance Methods

fs_offsets() click to toggle source
# File lib/resilience/tables/boot.rb, line 77
def fs_offsets
  offsets = []
  0.upto(num-1) do |i|
    image.seek PARTITIONS_START + i * PARTITION_SIZE
    partition = image.read(PARTITION_SIZE).unpack('C*')
    offset    = partition[OFFSET_ADDRESS...OFFSET_ADDRESS+8].pack('C*').unpack('V').first
    offsets << offset * SECTOR_SIZE
    break if offset == 0
  end
  offsets
end
num() click to toggle source
# File lib/resilience/tables/boot.rb, line 72
def num
  image.seek NUM_ADDRESS
  image.read(4).unpack('V').first
end