193 files changed, 80411 insertions, 44563 deletions
diff --git a/ntfsprogs/ntfsclone.8.in b/ntfsprogs/ntfsclone.8.in new file mode 100755 index 0000000..223ef7f --- a/dev/null +++ b/ntfsprogs/ntfsclone.8.in @@ -0,0 +1,391 @@ +.\" Copyright (c) 2003\-2005 Richard Russon. +.\" Copyright (c) 2003\-2006 Szabolcs Szakacsits. +.\" Copyright (c) 2004 Per Olofsson. +.\" This file may be copied under the terms of the GNU Public License. +.\" +.TH NTFSCLONE 8 "February 2006" "ntfs-3g @VERSION@" +.SH NAME +ntfsclone \- Efficiently clone, image, restore or rescue an NTFS +.SH SYNOPSIS +.B ntfsclone +[\fIOPTIONS\fR] +.I SOURCE +.br +.B ntfsclone \-\-save\-image +[\fIOPTIONS\fR] +.I SOURCE +.br +.B ntfsclone \-\-restore\-image +[\fIOPTIONS\fR] +.I SOURCE +.br +.B ntfsclone \-\-metadata +[\fIOPTIONS\fR] +.I SOURCE +.SH DESCRIPTION +.B ntfsclone +will efficiently clone (copy, save, backup, restore) or rescue an NTFS +filesystem to a sparse file, image, device (partition) or standard output. +It works at disk sector level and +copies only the used data. Unused disk space becomes zero (cloning to +sparse file), encoded with control codes (saving in special image format), +left unchanged (cloning to a disk/partition) or +filled with zeros (cloning to standard output). + +.B ntfsclone +can be useful to make backups, an exact snapshot of an NTFS filesystem +and restore it later on, or for developers to test NTFS read/write +functionality, troubleshoot/investigate users' issues using the clone +without the risk of destroying the original filesystem. + +The clone, if not using the special image format, is an exact copy of the +original NTFS filesystem from sector to sector thus it can be also mounted +just like the original NTFS filesystem. +For example if you clone to a file and the kernel has loopback device and +NTFS support then the file can be mounted as +.RS +.sp +.B mount \-t ntfs \-o loop ntfsclone.img /mnt/ntfsclone +.sp +.RE +.SS Windows Cloning +If you want to copy, move or restore a system or boot partition to another +computer, or to a different disk or partition (e.g. hda1\->hda2, hda1\->hdb1 +or to a different disk sector offset) then you will need to take extra care. + +Usually, Windows will not be able to boot, unless you copy, move or restore +NTFS to the same partition which starts at the same sector on the same type +of disk having the same BIOS legacy cylinder setting as the original +partition and disk had. + +The ntfsclone utility guarantees to make an exact copy of NTFS but it +won't deal with booting issues. This is by design: ntfsclone is a +filesystem, not system utility. Its aim is only NTFS cloning, not Windows +cloning. Hereby ntfsclone can be used as a very fast and reliable +build block for Windows cloning but itself it's not enough. +.SS Sparse Files +A file is sparse if it has unallocated blocks (holes). The reported size of +such files are always higher than the disk space consumed by them. The +.BR du +command can tell the real disk space used by a sparse file. +The holes are always read as zeros. All major Linux filesystem like, +ext2, ext3, reiserfs, Reiser4, JFS and XFS, supports +sparse files but for example the ISO 9600 CD\-ROM filesystem doesn't. +.SS Handling Large Sparse Files +As of today Linux provides inadequate support for managing (tar, +cp, gzip, gunzip, bzip2, bunzip2, cat, etc) large sparse files. +The only main Linux filesystem +having support for efficient sparse file handling is XFS by the +XFS_IOC_GETBMAPX +.BR ioctl (2) . +However none of the common utilities supports it. +This means when you tar, cp, gzip, bzip2, etc a large sparse file +they will always read the entire file, even if you use the "sparse support" +options. + +.BR bzip2 (1) +compresses large sparse files much better than +.BR gzip (1) +but it does so +also much slower. Moreover neither of them handles large sparse +files efficiently during uncompression from disk space usage point +of view. + +At present the most efficient way, both speed and space\-wise, to +compress and uncompress large sparse files by common tools +would be using +.BR tar (1) +with the options +.B \-S +(handle sparse files "efficiently") and +.B \-j +(filter the archive through bzip2). Although +.BR tar +still reads and analyses the entire file, it doesn't pass on the +large data blocks having only zeros to filters and it also avoids +writing large amount of zeros to the disk needlessly. But since +.BR tar +can't create an archive from the standard input, you can't do this +in\-place by just reading +.BR ntfsclone +standard output. Even more sadly, using the \-S option results +serious data loss since the end of 2004 and the GNU +.BR tar +maintainers didn't release fixed versions until the present day. +.SS The Special Image Format +It's also possible, actually it's recommended, to save an NTFS filesystem +to a special image format. +Instead of representing unallocated blocks as holes, they are +encoded using control codes. Thus, the image saves space without +requiring sparse file support. The image format is ideal for streaming +filesystem images over the network and similar, and can be used as a +replacement for Ghost or Partition Image if it is combined with other +tools. The downside is that you can't mount the image directly, you +need to restore it first. + +To save an image using the special image format, use the +.B \-s +or the +.B \-\-save\-image +option. To restore an image, use the +.B \-r +or the +.B \-\-restore\-image +option. Note that you can restore images from standard input by +using '\-' as the +.I SOURCE +file. +.SS Metadata\-only Cloning +One of the features of +.BR ntfsclone +is that, it can also save only the NTFS metadata using the option +.B \-m +or +.B \-\-metadata +and the clone still will be +mountable. In this case all non\-metadata file content will be lost and +reading them back will result always zeros. + +The metadata\-only image can be compressed very +well, usually to not more than 1\-8 MB thus it's easy to transfer +for investigation, troubleshooting. + +In this mode of ntfsclone, +.B NONE +of the user's data is saved, including the resident user's data +embedded into metadata. All is filled with zeros. +Moreover all the file timestamps, deleted and unused spaces inside +the metadata are filled with zeros. Thus this mode is inappropriate +for example for forensic analyses. +This mode may be combined with \fB\-\-save\-image\fP to create a +special image format file instead of a sparse file. + +Please note, filenames are not wiped out. They might contain +sensitive information, so think twice before sending such an +image to anybody. +.SH OPTIONS +Below is a summary of all the options that +.B ntfsclone +accepts. Nearly all options have two equivalent names. The short name is +preceded by +.B \- +and the long name is preceded by +.B \-\- . +Any single letter options, that don't take an argument, can be combined into a +single command, e.g. +.B \-fv +is equivalent to +.B "\-f \-v" . +Long named options can be abbreviated to any unique prefix of their name. +.TP +\fB\-o\fR, \fB\-\-output\fR FILE +Clone NTFS to the non\-existent +.IR FILE . +If +.I FILE +is '\-' then clone to the +standard output. +.TP +\fB\-O\fR, \fB\-\-overwrite\fR FILE +Clone NTFS to +.IR FILE , +overwriting if exists. +.TP +\fB\-s\fR, \fB\-\-save\-image\fR +Save to the special image format. This is the most efficient way space and +speed\-wise if imaging is done to the standard output, e.g. for image +compression, encryption or streaming through a network. +.TP +\fB\-r\fR, \fB\-\-restore\-image\fR +Restore from the special image format specified by +.I SOURCE +argument. If the +.I SOURCE +is '\-' then the image is read from the standard input. +.TP +\fB\-n\fR, \fB\-\-no\-action\fR +Test the consistency of a saved image by simulating its restoring without +writing anything. The NTFS data contained in the image is not tested. +The option \fB\-\-restore\-image\fR must also be present, and the options +\fB\-\-output\fR and \fB\-\-overwrite\fR must be omitted. +.TP +\fB\-\-rescue\fR +Ignore disk read errors so disks having bad sectors, e.g. dying disks, can be +rescued the most efficiently way, with minimal stress on them. Ntfsclone works +at the lowest, sector level in this mode too thus more data can be rescued. +The contents of the unreadable sectors are filled by character '?' and the +beginning of such sectors are marked by "BadSectoR\\0". +.TP +\fB\-m\fR, \fB\-\-metadata\fR +Clone +.B ONLY METADATA +(for NTFS experts). Only cloning to a (sparse) file is allowed, unless used +the option \fB\-\-save\-image\fP is also used. +You can't metadata\-only clone to a device. +.TP +\fB\-\-ignore\-fs\-check\fR +Ignore the result of the filesystem consistency check. This option is allowed +to be used only with the +.B \-\-metadata +option, for the safety of user's data. The clusters which cause the +inconsistency are saved too. +.TP +\fB\-t\fR, \fB\-\-preserve\-timestamps\fR +Do not wipe the timestamps, to be used only with the +.B \-\-metadata +option. + + +.TP +\fB\-\-new\-serial\fR, or +.TP +\fB\-\-new\-half\-serial\fR +Set a new random serial number to the clone. The serial number is a 64 +bit number used to identify the device during the mounting process, so +it has to be changed to enable the original file system +and the clone to be mounted at the same time on the same computer. + +The option \fB\-\-new\-half\-serial\fP only changes the upper part of the +serial number, keeping the lower part which is used by Windows unchanged. + +The options \fB\-\-new\-serial\fP and \fB\-\-new\-half\-serial\fP can +only be used when cloning a file system of restoring from an image. + +The serial number is not the volume UUID used by Windows +to locate files which have been moved to another volume. + +.TP +\fB\-f\fR, \fB\-\-force\fR +Forces ntfsclone to proceed if the filesystem is marked +"dirty" for consistency check. +.TP +\fB\-q\fR, \fB\-\-quiet\fR +Do not display any progress-bars during operation. +.TP +\fB\-h\fR, \fB\-\-help\fR +Show a list of options with a brief description of each one. +.SH EXIT CODES +The exit code is 0 on success, non\-zero otherwise. +.SH EXAMPLES +Clone NTFS on /dev/hda1 to /dev/hdc1: +.RS +.sp +.B ntfsclone \-\-overwrite /dev/hdc1 /dev/hda1 +.sp +.RE +Save an NTFS to a file in the special image format: +.RS +.sp +.B ntfsclone \-\-save\-image \-\-output backup.img /dev/hda1 +.sp +.RE +Restore an NTFS from a special image file to its original partition: +.RS +.sp +.B ntfsclone \-\-restore\-image \-\-overwrite /dev/hda1 backup.img +.sp +.RE +Save an NTFS into a compressed image file: +.RS +.sp +.B ntfsclone \-\-save\-image \-o \- /dev/hda1 | gzip \-c > backup.img.gz +.sp +.RE +Restore an NTFS volume from a compressed image file: +.RS +.sp +.B gunzip \-c backup.img.gz | \\\\ +.br +.B ntfsclone \-\-restore\-image \-\-overwrite /dev/hda1 \- +.sp +.RE +Backup an NTFS volume to a remote host, using ssh. Please note, that +ssh may ask for a password! +.RS +.sp +.B ntfsclone \-\-save\-image \-\-output \- /dev/hda1 | \\\\ +.br +.B gzip \-c | ssh host 'cat > backup.img.gz' +.sp +.RE +Restore an NTFS volume from a remote host via ssh. Please note, that +ssh may ask for a password! +.RS +.sp +.B ssh host 'cat backup.img.gz' | gunzip \-c | \\\\ +.br +.B ntfsclone \-\-restore\-image \-\-overwrite /dev/hda1 \- +.sp +.RE +Stream an image file from a web server and restore it to a partition: +.RS +.sp +.B wget \-qO \- http://server/backup.img | \\\\ +.br +.B ntfsclone \-\-restore\-image \-\-overwrite /dev/hda1 \- +.sp +.RE +Clone an NTFS volume to a non\-existent file: +.RS +.sp +.B ntfsclone \-\-output ntfs\-clone.img /dev/hda1 +.sp +.RE +Pack NTFS metadata for NTFS experts. Please note that bzip2 runs +very long but results usually at least 10 times smaller archives +than gzip on a sparse file. +.RS +.sp +.B ntfsclone \-\-metadata \-\-output ntfsmeta.img /dev/hda1 +.br +.B bzip2 ntfsmeta.img +.sp +Or, outputting to a compressed image : +.br +.B ntfsclone \-mst \-\-output - /dev/hda1 | bzip2 > ntfsmeta.bz2 +.sp +.RE +Unpacking NTFS metadata into a sparse file: +.RS +.sp +.B bunzip2 \-c ntfsmeta.img.bz2 | \\\\ +.br +.B cp \-\-sparse=always /proc/self/fd/0 ntfsmeta.img +.sp +.RE +.SH KNOWN ISSUES +There are no known problems with +.BR ntfsclone . +If you think you have found a problem then please send an email describing it +to the development team: +.nh +ntfs\-3g\-devel@lists.sf.net +.hy +.sp +Sometimes it might appear ntfsclone froze if the clone is on ReiserFS +and even CTRL\-C won't stop it. This is not a bug in ntfsclone, however +it's due to ReiserFS being extremely inefficient creating large +sparse files and not handling signals during this operation. This +ReiserFS problem was improved in kernel 2.4.22. +XFS, JFS and ext3 don't have this problem. +.hy +.SH AUTHORS +.B ntfsclone +was written by Szabolcs Szakacsits with contributions from Per Olofsson +(special image format support) and Anton Altaparmakov. +It was ported to ntfs-3g by Erik Larsson and Jean-Pierre Andre. +.SH AVAILABILITY +.B ntfsclone +is part of the +.B ntfs-3g +package and is available at: +.br +.nh +http://www.tuxera.com/community/ +.hy +.SH SEE ALSO +.BR ntfsresize (8) +.BR ntfsprogs (8) +.BR xfs_copy (8) +.BR debugreiserfs (8) +.BR e2image (8) |