User Tools

Site Tools


linux: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
linux:notes:drive_wipe [2024/10/16 19:44] Sean Rhonelinux:notes:drive_wipe [2024/10/23 14:48] (current) – [4K Sectors] Sean Rhone
Line 7: Line 7:
   * Ideally use [[linux;distros;opensuse_tumbleweed_gnome#gnome_live|openSUSE Tumbleweed's latest GNOME Live image]] on USB 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))   * Ideally use [[linux;distros;opensuse_tumbleweed_gnome#gnome_live|openSUSE Tumbleweed's latest GNOME Live image]] on USB 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))
   * TODO: Leap GNOME: https://download.opensuse.org/download/distribution/openSUSE-stable/live/openSUSE-Leap-15.6-GNOME-Live-x86_64-Media.iso   * TODO: Leap GNOME: https://download.opensuse.org/download/distribution/openSUSE-stable/live/openSUSE-Leap-15.6-GNOME-Live-x86_64-Media.iso
 +
 +====== Notes ======
 +
 +  * [[linux:notes:ufs_freebsd_mount|FreeBSD UFS mount]] (from Linux LiveUSB)
 +  * [[linux:notes:disk_gpt_format|Disk Format (GPT)]]
 +  * [[linux:notes:rsync_nas|Drive-to-drive rsync]]
  
 ====== Tools ====== ====== Tools ======
  
 <code>sudo zypper install 'nvme-cli' -y && sync</code> <code>sudo zypper install 'nvme-cli' -y && sync</code>
 +
 +<code>sudo dnf install nvme-cli hdparm -y && sync</code>
  
 <code>sudo apt install 'nvme-cli' -y && sync</code> <code>sudo apt install 'nvme-cli' -y && sync</code>
  
-<code>sudo dnf install nvme-cli hdparm -y && sync</code>+===== Dell Fan Speed ===== 
 + 
 +  * 2024/10: Seemingly broken in new-ish/6.11+ kernels but works fine from 6.6(?) in oS Leap 15.6 
 + 
 +  sudo smbios-thermal-ctl --set-thermal-mode='performance'
  
 ====== Suspend/Wake ====== ====== Suspend/Wake ======
Line 39: Line 51:
 ====== Drive Wipe ====== ====== Drive Wipe ======
  
-===== Notes =====+===== NVMe =====
  
-  * 2024/05/02: TODO: Try ''nvme sanitize''+==== Check LBA Formats ====
  
-==== 4K Sectors ====+  * Switching is done with ''nvme format --lbaf=1''
  
-  * https://steamcommunity.com/discussions/forum/1/4739473745776804012/?tscn=1641033020#c3203747342915419588 +<code>sudo nvme id-ns '/dev/nvme0' --namespace-id='1' --human-readable</code>
-  * https://steamcommunity.com/discussions/forum/1/3203745634155479256+
  
-  * :!: Steam and Oculus were **known** to be broken with 4K sector size on Windows 11 +<code>sudo smartctl --all '/dev/nvme0'</code>
-  * Steam and Oculus worked 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]])+
  
-  * See [[#sector_size]] to check or switch to available sector disk formats+==== nvme0 ====
  
-===== nvme0 =====+  * This is using LBA Format ''0'' 
 +  * Last tested: ''Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO'' (only 1 LBA Format at ''512'')
  
-  * :!: This is using LBA Format ''1'' for 4K sector size+<code>sudo blkdiscard --force --verbose '/dev/nvme0n1' && 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 --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>+=== Individual ===
  
-<code>sudo blkdiscard --force --verbose '/dev/nvme0n1' && sync</code>+<code>sudo blkdiscard --force --verbose '/dev/nvme0n1'</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 nvme format '/dev/nvme0' --force --namespace-id='1' --lbaf='0' --reset --ses='1' --pil='0' --pi='0' --ms='0'</code>
  
 <code>sudo wipefs --all --force '/dev/nvme0n1'</code> <code>sudo wipefs --all --force '/dev/nvme0n1'</code>
  
-==== LBA 0 ====+<code>sudo dd if='/dev/zero' of='/dev/nvme0n1' count='1024'</code>
  
-  * :!: This is using LBA Format ''0'' for 512 sector size+===== sda/b/c =====
  
-<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>+==== LBA Formats ====
  
-<code>sudo nvme format '/dev/nvme0' --force --namespace-id='1' --lbaf='0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync</code>+=== Check ===
  
-===== nvme1 =====+****
  
-  * :!: This is using LBA Format ''0''+<code>sudo smartctl --all '/dev/sda'</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>+=== Switch ===
  
-<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 hdparm --set-sector-size '4096' '/dev/sda'</code>
  
-<code>sudo wipefs --all --force '/dev/nvme1n1'</code>+==== sda ====
  
-===== sda =====+****
  
-<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 --force --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 blkdiscard --force --verbose '/dev/sda' && sync</code>+=== Individual ===
  
-<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 blkdiscard --force --verbose '/dev/sda'</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 hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda'</code> 
 + 
 +<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda'</code>
  
 <code>sudo wipefs --all --force '/dev/sda'</code> <code>sudo wipefs --all --force '/dev/sda'</code>
  
-===== sdb =====+<code>sudo dd if='/dev/zero' of='/dev/sda' count='1024'</code> 
 + 
 +==== sdb ===
 + 
 +**** 
 + 
 +<code>sudo blkdiscard --force --verbose '/dev/sdb' && 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>+=== Individual ===
  
-<code>sudo blkdiscard --force --verbose '/dev/sdb' && sync</code>+<code>sudo blkdiscard --force --verbose '/dev/sdb'</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'</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 hdparm --user-master u --security-set-pass 'x' '/dev/sdb' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdb'</code>
  
 <code>sudo wipefs --all --force '/dev/sdb'</code> <code>sudo wipefs --all --force '/dev/sdb'</code>
  
-===== sdc =====+<code>sudo dd if='/dev/zero' of='/dev/sdb' count='1024'</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>+==== sdc ====
  
-<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 blkdiscard --force --verbose '/dev/sdc' && 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 hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdc' && sync</code>+=== Individual ===
  
-<code>sudo wipefs --all --force '/dev/sdc'</code>+<code>sudo blkdiscard --force --verbose '/dev/sdc'</code>
  
-====== Sector Size ======+<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase 'x' '/dev/sdc'</code>
  
-  * https://community.wd.com/t/sn550-why-it-uses-512b-sector-instead-of-4096/250724 +<code>sudo hdparm --user-master u --security-set-pass 'x' '/dev/sdc' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sdc'</code>
-  * 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 wipefs --all --force '/dev/sdc'</code>
  
-<code>sudo nvme id-ns '/dev/nvme0--namespace-id='1--human-readable</code>+<code>sudo dd if='/dev/zero' of='/dev/sdccount='1024'</code>
  
-<code>sudo smartctl --all '/dev/nvme0'</code>+====== Sector Size Notes ======
  
-===== sda =====+===== 4K Sectors =====
  
-<code>sudo smartctl --all '/dev/sda1'</code>+  * https://steamcommunity.com/discussions/forum/1/4739473745776804012/?tscn=1641033020#c3203747342915419588 
 +  * https://steamcommunity.com/discussions/forum/1/3203745634155479256
  
-<code>sudo hdparm --set-sector-size '4096' '/dev/sda'</code>+  * :!: Steam and Oculus were **known** to be broken with 4K sector size on Windows 11 
 +  * Steam and Oculus worked 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|post]]) 
 + 
 +===== 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
  
/srv/www/wiki/data/attic/linux/notes/drive_wipe.1729122242.txt.gz · Last modified: by Sean Rhone