RFDD is similar to the UNIX DD tool. It is used to copy files and convert and format the contents of the original files. It is used to back up physical hard disks, and through RFSD servers, remote file operations are implemented. It is recommended to operate the local or remote physical disk when needed.
curl http://ranfs.com/pub/rfdd/all/get.sh -o -|sh -s /usr/local/bin
wget http://ranfs.com/pub/rfdd/all/get.sh -O -|sh -s /usr/local/bin
$rfdd_dir="c:\rfdd";Invoke-Expression(New-Object Net.WebClient).DownloadString("http://ranfs.com/pub/rfdd/all/get.ps1")
$ rfdd -h rfdd v1.6.9.0 (2023-9-22) [little] - convert and copy a file [staic] Copyright (C) 2014-2023 ranfs.com usage: rfdd [if=FILE] [of=FILE] [ibs=N] [obs=N] [bs=N] [count=N] [skip=N] [seek=N] conv=[notrunc|noerror|sync|fsync|resume] iflag=[skip_bytes|direct|file] oflag=[seek_bytes|direct|file] status=[noxfer|none|md5|sha1] retry=NUM level=[LEVEL] bs=BYTES read and write BYTES bytes at a time ibs=N Read N bytes at a time obs=N Write N bytes at a time count=N copy only N input blocksn seek=BLOCKS skip BLOCKS obs-sized blocks at start of output skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input offset=BLOCKS offset BLOCKS at input and output default is bytes if=FILE read from FILE instead of stdin of=FILE write to FILE instead of stdout conv=CONVS [notrunc,noerror,sync,fsync,swab,resume,] conv=notrunc Don't truncate output file conv=noerror Continue after read errors conv=bad_read Allows damaged sector fills to continue reading conv=sync Pad blocks with zeros conv=fsync Physically write data out before finishing conv=swab Swap every pair of bytes conv=resume Continue writing at the end of the output file conv=off_blocks offset=N is in BLOCKS conv=cal_one_task [hash bcount] is computed using one thread conv=cal_force_local [hash bcount] force local calculation iflag=skip_bytes skip=N is in bytes oflag=seek_bytes seek=N is in bytes iflag=direct use direct I/O for data iflag=file Open as a file, otherwise parse as a supported image format iflag=vss use windows shadow copy file retry_timeout_minutes=NUM Retry limit time minutes retry_delay_seconds=NUM Retry delay interval seconds bad_fill_str=STR Write Pattern dor damaged source sectors bad_skip_sectors=NUM Avoid damaged areas, skip sectors bad_retry_count=NUM maximum number of retries for a sector read error disable_os_hibernate=[1|0] Prohibit os hibernate during operation disable_pack_transport=[1|0] disable pack transport cool_down=[N-N] specify the duty-cycle for cooling down the device bs_count=[1-4096] The number of hash blocks is cal each time clear_mode=[00-100] 00-FF [100] clear characters for random hash_mode=[md5|sha1|sha256|sha512|sm3|xxh3] Calculate hash [+p...] bcount_mode=[u8] Calculate the distribution of data diff_mode=[byte|bs|bin] Compare mode diff_max_count=[1-8192] Record the maximum number of different positions sync_mode=[auto] Synchronize file data status=noxfer Suppress rate output status=none Suppress all output status=md5 output MD5 value of copy data proxy_name=[name] rf_proxy.ini proxy_name proxy_url=[http|sock4|sock5] set proxy url level=LEVEL set log level: [verb, dbg, info, warn, err] may be suffixed by b(512), kB(1000), k(1024), MB(1000000), M, GB, G, TB, T
Assuming RFSD is running on a 192.168.1.1 Linux system, it is now necessary to back up the hard disk data locally to the windows d:\1.img
rfdd if=rfp://192.168.1.1/dev/sda of=d:\1.img bs=512k
Note: bs defaults to 512 bytes and reads 512 bytes at a time. The reading speed will be slow, so it is recommended that bs>=200K.