NWIPE(8)
π NWIPE β the manual page, but make it cute π
okay bestie, so nwipe is a system administration command (section 8 of the manual, for the nerds keeping score π§) and it's about to become your new obsession. buckle up, we're wiping disks. π¦
β¨ NAME β¨
nwipe β securely erase disks. that's it. that's the whole vibe. π
β¨ SYNOPSIS β¨
nwipe [options] [device1] [device2] ...
β¨ DESCRIPTION β¨
so like, nwipe is a command that will securely erase disks using a whole buffet of recognized methods. it's a fork of the dwipe command used by Darik's Boot and Nuke (DBAN). and nwipe is included with ShredOS if you want a quick and easy bootable USB/CD/DVD/PXE version β iconic, honestly. π
the lore? nwipe was created out of a need to run the DBAN dwipe command outside of DBAN, so you could use it with any host distribution, which gives you better hardware support. the user interface is similar to dwipe, but nwipe has so many more features, no cap:
pthreadsis used instead offork.- The
partedlibrary is used to detect drives. - The code is designed to be compiled with
gcc. SIGUSR1can be used to log the stats of the current wipe.- Additional wiping methods and PRNGs.
- Configurable I/O modes (cached, direct, auto) using large I/O buffers for higher throughput.
- Support for stable device paths such as
/dev/disk/by-id/. - Generates two types of PDF certificates, single disc per PDF and system focused PDF
and the glow-up detail you're gonna love: all PRNG implementations are seeded using the Linux getrandom(2) system call instead of reading from /dev/urandom via a file descriptor. main character energy fr fr. β¨
π DEVICES π
you can specify devices either as block device nodes β for example /dev/sda, /dev/nvme0n1, /dev/mapper/cryptroot β or via stable symlinks under /dev/disk/by-id/. nwipe will resolve these paths and operate on the underlying block device. she's smart like that. π
π OPTIONS π
-V,--versionβ prints the version number. short and sweet, periodt.-v,--verboseβ logs more messages, super useful for debugging. she's chatty and we love her for it. π£οΈ-h,--helpβ prints a help summary.--forceβ also allows wiping of devices that are considered in use (mounted). β οΈ beware: this option is considered dangerous and is disabled by default. that means by default even--autonukewill exclude any such devices. not me warning you twice. π--autonukeβ if no devices have been specified on the command line, it starts wiping all devices immediately. if devices have been specified, it starts wiping only those specified devices immediately. zero chill, zero waiting.--autopoweroffβ powers off the system on completion of the wipe, delayed for one minute. during that one-minute delay you can abort the shutdown by typingsudo shutdown -c. so you can change your mind, bestie. π--sync=NUMβ specifies how oftennwipeperforms anfdatasync()during cached I/O mode. the value refers to the number of device hardware blocks (commonly 512 or 4096 bytes) written before triggering a sync. sincenwipenow writes using large multi-megabyte buffers, this value is automatically scaled so the sync interval in bytes is consistent with historic behaviour.
the default value (100000) results in a sync approximately every 50β400 MB, similar to earlier nwipe releases. this ensures timely detection of I/O errors while maintaining good throughput.
this setting has no effect when using --directio, because write() returns errors immediately under direct I/O.
0β perform one sync only at the end of the pass. not advised; errors may only be detected after the entire wipe. π¬1β sync immediately after each write. extremely safe but extremely slow.1000β sync after the equivalent of 1000 hardware blocks. useful for testing or more aggressive error detection.
--verify=TYPEβ whether to perform verification of erasure (default:last).offβ do not verify.lastβ verify after the last pass.allβ verify every pass.
please mind that HMG IS5 enhanced always verifies the last (PRNG) pass regardless of this option. she does what she wants. π
--directioβ use direct I/O with large write buffers. this opens devices withO_DIRECTto bypass the page cache. it can be useful when running multiple wipes in parallel or when you do not want to pollute the system page cache. on some devices this may be slower than cached I/O. π--cachedioβ use buffered I/O with large write buffers (page cache enabled). this is the default on most systems and generally gives the best performance for rotational disks. old faithful. π«Ά--io-mode=MODEβ select the I/O mode explicitly.MODEcan be:autoβ (default) automatically choose the best supported mode for the device and kernel.cachedβ force buffered I/O.directβ force direct I/O (O_DIRECT).
large I/O buffers are used in all modes to maximise throughput.
-m,--method=METHODβ the wiping method (default:prng).dod522022m/dodβ 7 pass DOD 5220.22-M methoddodshort/dod3passβ 3 pass DOD methodgutmannβ Peter Gutmann's algorithmops2β RCMP TSSIT OPS-IIrandom/prng/streamβ PRNG Streamzero/quickβ Overwrite with zeros (0x00)oneβ Overwrite with ones (0xFF)verify_zeroβ Verifies disk is zero (0x00) filledverify_oneβ Verifies disk is one (0xFF) filledis5enhβ HMG IS5 enhancedbruce7β Schneier Bruce 7-pass mixed patternbmbβ Chinese BMB21-2019 State Secrets Bureau standard.
-l,--logfile=FILEβ filename to log to. default isSTDOUT.-P,--PDFreportpath=DIRβ directory to write the PDFnwipereports/certificates to. defaults to".". ifDIRis set tonoPDFno report PDF files are written. πβ¨-p,--prng=METHODβ the PRNG option (default: fastest for your hardware).(mersenne|twister|isaac|isaac64|add_lagg_fibonacci_prng|xoroshiro256_prng|splitmix64|aes_ctr_prng|chacha20)
aes_ctr_prng uses the Linux kernel AF_ALG interface to AES-CTR as a cryptographically strong stream generator. it is seeded via getrandom(2) and requires kernel crypto support for AES-CTR. π
--prng=auto|defaultautoβ Automatically benchmark all available PRNGs at startup and select the fastest one for the current hardware. (default=auto)default|manualβ Disable auto-selection and use the built-in default PRNG choice (CPU-based heuristic; no benchmarking).
--prng-benchmarkβ run a RAM-only PRNG throughput benchmark and exit. prints a sorted leaderboard (MB/s). no wipe is performed. just vibes and numbers. π--prng-bench-seconds=Nβ seconds per PRNG during benchmarking (default:1.0). for--prng=autothis is automatically reduced unless set.-q,--quietβ anonymize serial numbers, GUI & logs display:XXXXXXXX= S/N obtained & anonymized.????????= S/N not available.
-r,--rounds=NUMβ number of times to wipe the device using the selected method (default:1).--noblankβ do not perform the final blanking pass after the wipe (default is to blank, except when the method is RCMP TSSIT OPS-II).--nowaitβ do not wait for a key before exiting (default is to wait).--nosignalsβ do not allow signals to interrupt a wipe (default is to allow).--noguiβ do not show the GUI interface. can only be used with the autonuke option.nowaitoption is automatically invoked with thenoguioption.SIGUSR1can be used to retrieve the current wiping statistics. π--nousbβ do not show or wipe any USB devices, whether in GUI,--noguior autonuke mode. (default is to allow USB devices to be shown and wiped).--reverseβ reverse the I/O direction (from the end of the device towards the start). helpful when bad blocks otherwise prevent wiping major areas of the device. beware: throughput may be degraded as it writes against the spin direction. she's going backwards but she's doing her best. π--scatterβ use scattered I/O direction (random segmented order across the device). more mechanical exercise; good for burning-in or stress-testing devices. beware the throughput may be degraded due to random access patterns used.--no-retry-on-io-errorsβ do NOT retry single failed read/write operations; immediately error or skip the failing block. (default is retry 3 times with 5s sleep in-between)--no-abort-on-block-errorsβ do NOT abort passes on block write errors; skip the failing block and continue. (default is to abort the wipe for that device) β οΈ beware: faulty devices can take a very long time to wipe without the--no-retry-on-io-errorsoption, due to the many retries.--pdftagβ enables a field on the PDF that holds a tag that identifies the host computer. π·οΈ--pdfduplexβ enables insertion of intentionally blank pages between sections on PDFs.-e,--exclude=DEVICESβ up to ten comma separated devices to be excluded, examples:
--exclude=/dev/sdc
--exclude=/dev/sdc,/dev/sdd
--exclude=/dev/sdc,/dev/sdd,/dev/mapper/cryptswap1
--dev/disk/by-path/pci-0000:00:17.0-ata-1
π BUGS π
please see the GitHub site for the latest list: (https://github.com/martijnvanbrummelen/nwipe/issues). yeah we're being honest about it, that's growth. π
π AUTHOR π
nwipe is maintained by Martijn van Brummelen <github@brumit.nl> and Nick Law (@PartialVolume, collaborator) shredos.eraser@gmail.com. other major contributors are @knogle, @desertwitch. legends only. π«Ά
πΈ SEE ALSO πΈ
ShredOS, shred(1), dwipe(1), dd(1), dcfldd(1), dc3dd(1)
and that's the whole page bestie π this was nwipe version 0.43, from Oct 2026, living her best life in section NWIPE(8). go forth and securely erase responsibly, mwah. π
β¨π
π¦ where this page comes from
- epel 9: nwipe 0.43-2.el9 Β· GPL-2.0-only
- fedora 43: nwipe 0.43-2.fc43 Β· GPL-2.0-only
- fedora 44: nwipe 0.43-2.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms