Secure Erase HDDs/SSDs(SATA/NVMe) using hdparm & nvme-cli on Linux

Discussion in 'Hardware Components and Aftermarket Upgrades' started by Vasudev, Feb 15, 2019.

  1. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    7,290
    Messages:
    10,363
    Likes Received:
    7,628
    Trophy Points:
    931
    Hey everyone, I wanted to post a new thread dedicated for secure wiping SSD/HDDs after I tried hdparm and nvme-cli. I wasn't willing to share it initially, since it maybe dangerous if used incorrectly! Anyway, I posted this guide after searching many sources and made it as simple as possible! I've linked the sources at the end of the post. For images, I'm using Imgur so if anyone has any issues with images not loading or staying blank, please let me know!

    I must warn everyone that incorrect name for example /dev/sdX can wipe out other drives, so backup.. backup... so as to prevent data loss. Don't hold me responsible for lost data.

    For newbies, I'd recommend using Ubuntu ISO( I used Xubuntu distro) since it includes all necessary packages without needing to download anything from repos. For people who use other distros Gnome disk utility,gparted and nvme-cli packages are recommended to be installed for ease of use.

    Don't forget to Backup your data before proceeding.

    1. Open Gnome disk utility aka Disks and see the Disk name sdX you want to erase. My SSD is sdb, so I'm using /dev/sdb and yours might be different.
    Code:
    hdparm -I /dev/sdb
    • The output should look something similar to mine aside from terminal colors and background:
    [​IMG]
    2. If you see Frozen then you can Suspend the PC just to get rid off it when waking from Suspend state. The command is shown below:
    [​IMG]
    3. Once its woken from suspend/sleep mode you will see Not frozen when running hdparm -I /dev/sdX, subsitute X with your SSD or disk name.

    4. You need to set a Password for Secure erase or Secure Erase enhanced to work. For the sake of simplicity, I'm using 'p' as a password and the command is:
    Code:
    hdparm --user-master u --security-erase p /dev/sdb
    [​IMG]
    5. Now lets secure erase SSDs, I'm using Secure SSD Enhanced since my drive supports it. It works for 2.5" SATA and M.2 SATA versions perfectly!
    [​IMG]
    6. It will take under a minute to secure erase a SSD.
    7. I re-initialised the SSD using gparted by using gpt as shown in the link here (optional step) I used it to create a fresh filesystem table so that HPA and other things are reset to defaults just like a new drive.

    For NVMe drives:

    8. Assuming nvme-cli package is installed, let's query list of NVMe installed in the system using:
    Code:
    sudo nvme list

    [​IMG]
    9. Follow Step 2 if you never suspended the Ubuntu or Linux LiveCD environment to un-freeze the disks.
    10. Check if the NVMe drives support Secure erase or not: (As always if you've multiple NVMe disks choose appropriate name. If in doubt, check Gnome disk aka Disks or gparted for detailed info.)
    Code:
    nvme id-ctrl -H /dev/nvme0

    Format NVMe support for basic formatting of NVME disk(s):
    [​IMG]
    Secure erase or crypto erase:
    [​IMG]
    11. Format NVMe drive(s) with Secure Erase command:
    Code:
    nvme format /dev/nvme0 --ses=1

    [​IMG]
    You will get a Success message or statement once NVMe secure erase is done, it takes a little more time than SATA so be patient! and once complete, follow Step 7 for best results.

    @hmscott @Papusan @jclausius @Dennismungai @Mr. Fox @jaybee83 @VICKYGAMEBOY @judal57 Ultra Male @Dr. AMK @tilleroftheearth @GreatD @rinneh @ssj92 and others...

    Sources:
    Code:
    [/SIZE][/SIZE][/SIZE][/SIZE]
    [SIZE=5][SIZE=4][SIZE=5][SIZE=4]SATA SES:
    https://grok.lsu.edu/article.aspx?articleid=16716
    
    nvme secure erase:
    
    http://blog.pythonaro.com/2018/05/how-to-securely-wipe-nvme-drive.html
    https://tinyapps.org/docs/nvme-secure-erase.html
    https://github.com/linux-nvme/nvme-cli/blob/master/Documentation/nvme-format.txt
    https://www.mankier.com/1/nvme-format


    Don't forget to Backup your data. Don't say I didn't warn you!
     
    Last edited: Apr 19, 2019
  2. Mr. Fox

    Mr. Fox Undefiled BGA-Hating Elitist

    Reputations:
    28,509
    Messages:
    34,904
    Likes Received:
    55,228
    Trophy Points:
    931
    Vasudev and jclausius like this.
  3. Dennismungai

    Dennismungai Notebook Deity

    Reputations:
    750
    Messages:
    901
    Likes Received:
    837
    Trophy Points:
    106
    Awesome, thanks!
     
    Vasudev, jclausius and Mr. Fox like this.
  4. jclausius

    jclausius Notebook Virtuoso

    Reputations:
    3,793
    Messages:
    3,017
    Likes Received:
    2,025
    Trophy Points:
    231
    Agreed. Kudos!!
     
    Vasudev and Mr. Fox like this.
  5. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    7,290
    Messages:
    10,363
    Likes Received:
    7,628
    Trophy Points:
    931
    Thanks everyone. Well, I did try to erase my non-backup'ed drive by copy and pasting the same cmds, you'll see in Step 5 where I accidetally hit Enter key and cmd was issued! Fortunately, HDD/SSD were Frozen so those cmds failed. That's why I highlighted Backup important data.
    A minor mistake might wipe out the data.
    My guide isn't as good looking as Ultra Male's post.
     
    jaybee83 and jclausius like this.
  6. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    7,290
    Messages:
    10,363
    Likes Received:
    7,628
    Trophy Points:
    931
    @Charles P. Jefferies This thread is similar to Ultra Male's SSD erase guide, but involves lot of manual work using the same internal working of Parted Magic and most Linux distros in a freeware.
     
  7. Mr. Fox

    Mr. Fox Undefiled BGA-Hating Elitist

    Reputations:
    28,509
    Messages:
    34,904
    Likes Received:
    55,228
    Trophy Points:
    931
    It's good to have your post/thread here because Parted Magic is more of a point and click experience designed for Windows users and you presented how one would do this using Linux with terminal commands. I actually like using a command line interface. It took me a long time to accept using a Windows GUI and I preferred using DOS (and primarily used DOS as much as possible) until about half way through the life cycle of Windows 98. I never actually liked Windows 3.X or Windows 95, and didn't fully embrace it until Windows XP.
     
  8. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    7,290
    Messages:
    10,363
    Likes Received:
    7,628
    Trophy Points:
    931
    Uses the same thing but presented in a nice GUI. Its more bleeding edge than LTS. I always like CMD lines or xterm. I still play dosgames on my PC at ultra pixelated graphics at VGA resolution.
     
  9. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    7,290
    Messages:
    10,363
    Likes Received:
    7,628
    Trophy Points:
    931
    @Charles P. Jefferies Can you change title of the thread to "
    Secure Erase HDDs/SSDs(SATA/NVMe) using hdparm & nvme-cli on Linux"
     
    Charles P. Jefferies likes this.
  10. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,210
    Messages:
    3,233
    Likes Received:
    3,428
    Trophy Points:
    331
    Done, you can always report your post and ask for a title change.
     
Loading...

Share This Page