User Tools

Site Tools


notes:drive_wipe

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
notes:drive_wipe [2020/12/01 09:00] Sean Rhonenotes:drive_wipe [2023/09/08 20:32] Sean Rhone
Line 1: Line 1:
-====== Nightwane ======+====== Information ======
  
-===== sda =====+  * Quick-commands to wipe drives and clear EFI variables 
 +  * Notably performs full-drive TRIMs for SSDs ([[https://wiki.archlinux.org/title/Solid_state_drive/Memory_cell_clearing|ArchWiki]]) 
 +  * Useful to perform before OS installations
  
-==== Notes ====+  * Ideally use [[distros:opensuse_tumbleweed_gnome#xfce|openSUSE Tumbleweed's latest XFCE image]] on LiveUSB due to it having up-to-date tools, a GUI, and USB data persistence ((can copy a command into Terminal and run it on one machine, boot the drive on another machine, and use Terminal history to re-run the command; it's quite convenient :p))
  
-  * If ''119.2G'', is Linux +====== Tools ======
-  * If ''119.2G'', is SATA SSD+
  
-==== AIO ====+<code>sudo zypper install 'nvme-cli' -y && sync</code>
  
-****+<code>sudo apt install 'nvme-cli' -y && sync</code>
  
-<code>sudo blkdiscard --verbose '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+<code>sudo dnf install nvme-cli hdparm -&& sync</code>
  
-==== Individual ====+====== Suspend/Wake ======
  
-<code>sudo blkdiscard --verbose '/dev/sda'</code>+  * Some motherboard firmware lock/freeze drives, and prevents some wipe commands from working 
 +  * Unlocking drives can be done with a suspend and wake 
 +  * :!: This applies to both SATA and NVMe drives
  
-<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync</code>+<code>sync && systemctl suspend</code>
  
-<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync</code>+====== lsblk ======
  
-<code>sudo rm -f '/sys/firmware/efi/efivars/'|| sync && sudo efibootmgr -v</code>+  :!: **Always** check before running anything 
 +  * :!: Assume nothing; all commands below are **immediately destructive** on the block device they're ran on
  
-===== sdb =====+<code>lsblk</code>
  
-==== Notes ====+====== EFI Variables ======
  
-  If ''931.5G'', is Windows storage +****
-  If ''931.5G'', is SATA HDD+
  
-==== AIO ====+<code>sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v</code>
  
-****+====== Drive Wipe ======
  
-<code>sudo blkdiscard --verbose '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+===== Notes =====
  
-==== Individual ====+==== 4K Sectors ====
  
-<code>sudo blkdiscard --verbose '/dev/sda'</code>+  * https://steamcommunity.com/discussions/forum/1/4739473745776804012/?tscn=1641033020#c3203747342915419588 
 +  * https://steamcommunity.com/discussions/forum/1/3203745634155479256
  
-<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync</code>+  * :!: Steam and Oculus were **known** to be broken with 4K sector size on Windows 11 
 +  * Steam and Oculus work fine with 4K sector size on Windows 10 LTSC 2021 and Linux 
 +  * iTunes possibly fails with 4K sectors due to Bonjour and dnssd.dll ([[https://www.techpowerup.com/forums/threads/setting-4k-sector-size-on-nvme-ssds-does-performance-actually-change.289757/page-3#post-4981622|thread]])
  
-<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync</code>+  * See [[#sector_size]] to check or switch to available sector disk formats
  
-<code>sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v</code>+===== nvme0 =====
  
-====== Generic ======+  * :!: This is using LBA Format ''1'' for 4K sector size
  
-===== Tools =====+<code>sudo blkdiscard --force --verbose '/dev/nvme0n1' && sync && sudo nvme format '/dev/nvme0' --force --namespace-id='1' --lbaf='1' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>
  
-<code>sudo zypper install 'nvme-cli' -&& sync</code>+<code>sudo blkdiscard --force --verbose '/dev/nvme0n1' && sync</code>
  
-<code>sudo apt install 'nvme-cli' -&& sync</code>+<code>sudo nvme format '/dev/nvme0' --force --namespace-id='1' --lbaf='1' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync</code>
  
-<code>sudo dnf install 'hdparm-y && sync</code>+<code>sudo wipefs --all --force '/dev/nvme0n1'</code>
  
-===== nvme0 =====+==== 512e ====
  
-<code>sudo blkdiscard --verbose '/dev/nvme0n1' && sync && sudo nvme format '/dev/nvme0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+<code>sudo blkdiscard --force --verbose '/dev/nvme0n1' && sync && sudo nvme format '/dev/nvme0' --force --namespace-id='1' --lbaf='0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>
  
-<code>sudo blkdiscard --verbose '/dev/nvme0n1' && sync</code>+<code>sudo nvme format '/dev/nvme0' --force --namespace-id='1' --lbaf='0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync</code>
  
-<code>sudo nvme format '/dev/nvme0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync</code>+===== nvme1 =====
  
-<code>sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v</code>+<code>sudo blkdiscard --force --verbose '/dev/nvme1n1' && sync && sudo nvme format '/dev/nvme1' --force --namespace-id='1' --lbaf='0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code> 
 + 
 +<code>sudo blkdiscard --force --verbose '/dev/nvme1n1' && sync</code> 
 + 
 +<code>sudo nvme format '/dev/nvme1' --force --namespace-id='1' --lbaf='0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync</code> 
 + 
 +<code>sudo wipefs --all --force '/dev/nvme1n1'</code>
  
 ===== sda ===== ===== sda =====
  
-<code>sudo blkdiscard --verbose '/dev/sda' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sda' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>
  
-<code>sudo blkdiscard --verbose '/dev/sda' && sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sda' && sync</code>
  
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync</code>
Line 77: Line 89:
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync</code>
  
-<code>sudo rm -'/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v</code>+<code>sudo wipefs --all --force '/dev/sda'</code>
  
 ===== sdb ===== ===== sdb =====
  
-<code>sudo blkdiscard --verbose '/dev/sdb' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdb' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdb' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdb' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdb' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdb' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>
  
-<code>sudo blkdiscard --verbose '/dev/sdb' && sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdb' && sync</code>
  
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdb' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdb' && sync</code>
Line 89: Line 101:
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdb' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdb' && sync</code>
  
-<code>sudo rm -'/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v</code>+<code>sudo wipefs --all --force '/dev/sdb'</code>
  
 ===== sdc ===== ===== sdc =====
  
-<code>sudo blkdiscard --verbose '/dev/sdc' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdc' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdc' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdc' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdc' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdc' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>
  
-<code>sudo blkdiscard --verbose '/dev/sdc' && sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdc' && sync</code>
  
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdc' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdc' && sync</code>
Line 101: Line 113:
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdc' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdc' && sync</code>
  
-<code>sudo rm -'/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v</code>+<code>sudo wipefs --all --force '/dev/sdc'</code>
  
 ===== sdd ===== ===== sdd =====
  
-<code>sudo blkdiscard --verbose '/dev/sdd' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdd' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdd' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdd' && sync && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdd' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdd' && sudo rm -f '/sys/firmware/efi/efivars/'* || sync</code>
  
-<code>sudo blkdiscard --verbose '/dev/sdd' && sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdd' && sync</code>
  
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdd' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdd' && sync</code>
Line 113: Line 125:
 <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdd' && sync</code> <code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdd' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdd' && sync</code>
  
-<code>sudo rm -'/sys/firmware/efi/efivars/'|| sync && sudo efibootmgr -v</code>+<code>sudo wipefs --all --force '/dev/sdd'</code> 
 + 
 +====== Sector Size ====== 
 + 
 +  * https://community.wd.com/t/sn550-why-it-uses-512b-sector-instead-of-4096/250724 
 +  https://filers.blogspot.com/2018/12/how-to-format-nvme-drive.html 
 +  * https://wiki.archlinux.org/title/Advanced_Format 
 +  * https://unix.stackexchange.com/questions/562571/switching-hdd-sector-size-to-4096-bytes 
 +  * https://www.thomas-krenn.com/en/wiki/Advanced_Sector_Format_of_Block_Devices 
 + 
 +===== NVMe ===== 
 + 
 +<code>sudo nvme id-ns '/dev/nvme0' --namespace-id='1' --human-readable</code> 
 + 
 +<code>sudo smartctl --all '/dev/nvme0'</code> 
 + 
 +===== sda ===== 
 + 
 +<code>sudo smartctl --all '/dev/sda1'</code> 
 + 
 +<code>sudo hdparm --set-sector-size '4096' '/dev/sda'</code> 
/var/www/wiki/data/pages/notes/drive_wipe.txt · Last modified: 2023/09/09 05:17 by Sean Rhone