This shows you the differences between two versions of the page.

Link to this comparison view

topics:disk-archiving [2021/10/22 12:46]
orzfly created
topics:disk-archiving [2021/10/22 12:54] (current)
Line 5: Line 5:
 ===== Creating disk image ===== ===== Creating disk image =====
 <code bash>ddrescue /dev/disk/by-id/ata-SB8000NM1234-123456_DEADCAFE ata-SB8000NM1234-123456_DEADCAFE.img ata-SB8000NM1234-123456_DEADCAFE.txt</code> <code bash>ddrescue /dev/disk/by-id/ata-SB8000NM1234-123456_DEADCAFE ata-SB8000NM1234-123456_DEADCAFE.img ata-SB8000NM1234-123456_DEADCAFE.txt</code>
 +GNU ddrescue - Data recovery tool.
 +Copies data from one file or block device to another,
 +trying to rescue the good parts first in case of read errors.                                                                      
 +Usage: ddrescue [options] infile outfile [mapfile]                                                                        
 +Always use a mapfile unless you know you won't need it. Without a
 +mapfile, ddrescue can't resume a rescue, only reinitiate it.             
 ===== Creating hash and recovery records ===== ===== Creating hash and recovery records =====
 <code bash>par2 create -r3 -b3000 ata-SB8000NM1234-123456_DEADCAFE.img.par2 ata-SB8000NM1234-123456_DEADCAFE.img</code> <code bash>par2 create -r3 -b3000 ata-SB8000NM1234-123456_DEADCAFE.img.par2 ata-SB8000NM1234-123456_DEADCAFE.img</code>
 +  par2 c(reate) [options] <PAR2 file> [files] : Create PAR2 files
 +Options: (create)
 +  -b<n>    : Set the Block-Count
 +  -s<n>    : Set the Block-Size (don't use both -b and -s)
 +  -r<n>    : Level of redundancy (%%)
 +  -r<c><n> : Redundancy target size, <c>=g(iga),m(ega),k(ilo) bytes
 +  -c<n>    : Recovery Block-Count (don't use both -r and -c)
 +  -l       : Limit size of recovery files (don't use both -u and -l)
 +  -n<n>    : Number of recovery files (don't use both -n and -l)
 ===== Wiping disk ===== ===== Wiping disk =====
 <code bash>badblocks -s -v -b 4096 -t random -o badblocks.txt -w /dev/disk/by-id/ata-SB8000NM1234-123456_DEADCAFE</code> <code bash>badblocks -s -v -b 4096 -t random -o badblocks.txt -w /dev/disk/by-id/ata-SB8000NM1234-123456_DEADCAFE</code>
 +       badblocks - search a device for bad blocks
 +       -s     Show the progress of the scan by writing out rough percentage completion of the current  badblocks  pass
 +              over  the  disk.  Note that badblocks may do multiple test passes over the disk, in particular if the -p
 +              or -w option is requested by the user.
 +       -v     Verbose mode.  Will write the number of read errors, write errors and data- corruptions to stderr.
 +       -b block_size
 +              Specify the size of blocks in bytes.  The default is 1024.
 +       -t test_pattern
 +              Specify a test pattern to be read (and written) to disk blocks.   The test_pattern may either be  a  nu‐
 +              meric  value  between  0 and ULONG_MAX-1 inclusive, or the word "random", which specifies that the block
 +              should be filled with a random bit pattern.  For read/write (-w) and non-destructive (-n) modes, one  or
 +              more  test  patterns  may  be  specified by specifying the -t option for each test pattern desired.  For
 +              read-only mode only a single pattern may be specified and it may not  be  "random"  Read-only  testing
 +              with  a  pattern  assumes  that  the specified pattern has previously been written to the disk - if not,
 +              large numbers of blocks will fail verification.  If multiple patterns are specified then all blocks will
 +              be tested with one pattern before proceeding to the next pattern.
 +       -o output_file
 +              Write the list of bad blocks to the specified file.  Without this option, badblocks displays the list on
 +              its standard output.  The format of this file is suitable for use by  the  -l  option  in  e2fsck(8)  or
 +              mke2fs(8).
 +       -w     Use  write-mode  test.  With this option, badblocks scans for bad blocks by writing some patterns (0xaa,
 +              0x55, 0xff, 0x00) on every block of the device, reading every block and comparing  the  contents.   This
 +              option may not be combined with the -n option, as they are mutually exclusive.
   * https://unix.stackexchange.com/questions/229354/how-to-ignore-write-errors-while-zeroing-a-disk   * https://unix.stackexchange.com/questions/229354/how-to-ignore-write-errors-while-zeroing-a-disk