Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. #!/usr/local/rvm/rubies/ruby-2.6.2/bin/ruby
  2.  
  3. # b = (int)((L-S)*512/B)
  4. # where:
  5. # b = File System block number
  6. # B = File system block size in bytes
  7. # L = LBA of bad sector
  8. # S = Starting sector of partition as shown by fdisk -lu and (int) denotes the integer part.
  9.  
  10. lba = ARGV[0].to_i
  11. dev = ARGV[1] || 'add_your_device_label_here'
  12. block_range = ARGV[2].to_i || 64
  13. iterations = ARGV[3].to_i || 100
  14.  
  15. block_number = ((lba - 2048)*512)/4096
  16. bb_cmd = "sudo badblocks -b 4096 -p #{iterations} -s -vw /dev/#{dev} #{block_number+block_range} #{block_number-block_range}"
  17.  
  18. puts "execute command: #{bb_cmd}? [y/N]"
  19.  
  20. run_command = $stdin.gets.chomp
  21. if run_command == ("y" || "Y")
  22. `#{bb_cmd}`
  23. else
  24. puts "run: #{bb_cmd}"
  25. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement