WD Dashboard - Create Bootable USB Drive - Operation Failed

I need to secure erase an SSD and I have the official tool for the job: WD Dashboard. Or as I have come to call it now: WD Trashboard. It’s alredy installed and ready to go. The only issue is: it doesn’t work! When I say GO! it doesn’t run. It’s a racing horse with a broken leg! It doesn’t work as advertised! I have version 4.2.2.5, which is the latest at the moment, running on Windows 10 version 22H2 build 19045.5011 (which is the latest at the moment and still supported by Microsoft).

Create a bootable USB drive to erase this device
The bootable USB drive can be used as a portable tool to securely erase drives on multiple systems. It is recommended to backup any existing data on the USB drive before proceeding.

But selecting the option Create USB Drive and following the guide only results in the error message “Operation Failed”. See for yourself, and do tell if you spot anything wrong with the way I do this.

As you can see, it’s complaining about the size of my USB flash drive:

The USB drive is larger than 32GB. It will need to be resized to 32GB.

I thought, fine, just do it for Nike’s sake! Proceed, please. But the stupid thing still failed.

Now… you need to bear in mind that this is a 64 GB Kingston “DTXM” (DataTraveler Exodia M) and it’s not my first time working with USB flash drives and having to troubleshoot FAT32 related volume size limitations, and other fun mind puzzles. I typically don’t buy USB flash drives of this size exactly for this reason, but they are getting bigger and bigger, and the smaller ones are getting harder and harder to find somewhere to buy.

Also… to fully understand the context, you need to know that this 64 GB Kingston USB flash drive was only formatted with a 8 GB FAT32 partition/volume at the time. And the reason for that, is that I did it manually days before. I mean before I even tried or as much as intended to use it with WD Dashboard. The reason for this was, because I ran into a similar message with Memtest86+ and its “installer” (for bootble USB flash drives with Memtest86+ image) and so I did the only logical thing and manually created a smaller partition to shut it up, and that did the trick. So what I had on this Kingston USB flash drive, and what I still have on it – thanks to failed operation in WD Dashboard – is the Memtest86+ version 7.0 for troubleshooting RAM issues. So my intention was to reuse this flash drive for something else now.

When it failed the first time, I went on to try and manually create a 32 GB partition for WD Dashboard to use, just like I had created an 8 GB partition for use with Memtest86+ before.

But unlike the intelligently designed installer for Memtest86+ the WD Dashboard software can’t pick up on individual partitions and write it’s stuff there. (Maybe becauuse it only looks for removable drives.) No, no, it has to reformat the whole drive. But I said fine… just do it! But it still failed to do it.

I then broke out a brand new 32 GB SanDisk Ultra USB flash drive from its retail packaging (a duo pack) that I was saving for something else. I wanted to try that out. I didn’t have a smaller one that’s emty. So I put that in and WD Dashboard failed the job again. See for yourself.

Notice the new reported drive size as 31 GB? Notice that the warning about drive size is gone? Notice that it still fails? So the reason for the failed operation is not in the warning about drive size. It’s something else. Something unknown to me. And I’m not sure I want to or need to know at this point. Why should I do the job of WD software engineers/developers?

So as it turns out, WD Dashboard is actually not the right tool for the job. The secure erase functionality is not implemented in this software for Windows. It’s implemented in a dedicated application that runs in a bootable environment that I have yet to see the interface of, because WD Trashboard fails to create the said bootable USB drive. For more than one reason: when WD drive is present, and when WD drive is not present (read on).

Now here comes the final stab in the back! By WD! I went to my second computer, just to test if WD would allow me to write this crappy bootable image to my USB flash drive, even though I had no WD drives inside (only Samsung SSDs). I have a medical condition at the moment that prevents me from lifting heavy objects like a 15 kg computer and exerting pressure on my abdomen. I have had surgery years before and I’ve been to ER this week for another unrelated issue. But that didn’t prevent me from sitting down by the second computer, downloading and installing the WD Dashboard software, inserting my 64 GB Kingston DataTraveler USB flash drive – because the 32 GB warning is not the main reason behind “operation failed” message above – and clicking a button in the software to write the stupid bootbale image so I can take it out and go back to the first computer and insert it where I have the WD SSD installed, so I can secure erase it. Well… unsurprisingly, but rather disappointingly, I was not allowed to use the software! Not without a WD drive installed.

How stupid! I think it’s stupid, ignorant, annoying and consumer hostile! But that’s what you get with proprietary software. It’s not free as in freedom! So I need to have a wrestling match with more than one computer (in my condition), and go through the trouble of moving the WD SSD from one computer to the other. With nothing more than pure hope (and fingers crossed) as insurance that the software will work in the second computer!

WD… I’m sorry… but what’s wrong with you? Why don’t you let me have this bootable image only? Why do I need to go through all this trouble and use one software to create another? If it’s a bootable image, just give me the download link for the image file! Why don’t you? You don’t need to worry about me and my technical competence of writing it to a USB flash drive. I wasn’t born in age of TikTok or WOW. I know what I’m doing, if you would only let me. No need to hold my hand, daddy/bro.

Here are two almost identical articles on Secure Erase and Sanitize functions, one on WD website and one on SanDisk website. These articles don’t go into detail on what the difference is between the two. Does anyone here know the difference? I’m posting links to both articles, for the record, and for those that insist (including WD support) that support for WD branded SSD products need to be handled by SanDisk and pointed to SanDisk website. I’m showing you here that they are no different! None of them have the download link for the actual, bootable, image or software for either Secure Erase or Sanitize, and they both point the use to use WD Dashboard to create the said software (which doesn’t work or hasn’t worked for me).

WD website says:
Secure Erase and Sanitize a Drive with Western Digital Dashboard

SanDisk website says:
Steps to Secure Erase and Sanitize a Drive with Western Digital Dashboard on Windows

Does anyone here have the bootable image for this stupid software? Do you know where I can get a copy? Can you send me a PM? If I can’t obtain a copy of this software which I rightfully should be able to since I own a supported WD branded SSD (it’s in the article, in both of them), then I will have to turn to alternative software and methods. It’s just that, I prefer to use official tools and software and from official sources when and where possible.

When you sell me a perfectly good piece of hardware (as far as I was able to tell during my use) and you don’t have the perfect piece of software to go along with it… in lack of a better word, I feel tricked! You can fool me once, but not twice! For the record, this SSD is going back to the store! The WD Trashboard is not the primary reason though, but seeing how badly designed and implemented it is, it’s a happy coincidence and a relief that I won’t ever be bothered by this again, once I get it out of my system. WD… you need to do better!

1 Like

Operation Successful ! ! ! :facepunch::angry:

Problem solved! I have created the bootable USB drive, and I have erased all user data on the SSD. Done! Now it’s ready to be sent back to the store.

This was absolutely easy! It was only made difficult due to bad software design and all the checking, like for example, if I have a WD drive installed or not. Which is a precondition for whether or not I should be allowed access to the actual tool/program that’s used for this particular intent: Secure Erase. I ended up using Sanitize instead of Secure Erase, but that’s something for another topic. The name of the actual tool is Embedded Toolkit.

From what I can tell, this dependency on WD Dashboard also exists out of safety concerns, in that WD wants to make sure you’re not a moron and you use this tool on the correct and supported drive. You know… making our lives easier through automation. Or as I predicted what’s going on here: “No need to hold my hand, daddy/bro.” Because when you use WD Dashboard to create the bootable USB drive for you, it configures the bootable media based on the drive that you selected. From what I have seen, for example, it inserts the serial number, and sets the default operation. All with the intent to make it a one button action for the user. These parameters can’t be set from within the actual tool that you end up using: Ebedded Toolkit. There is no command line, but you can always edit the configuration files. I have honestly not explored it that much, and I don’t need to.

Thankfully I didn’t need to have a wrestling match with the computer and hurt myself. I called in a friend who helped me with physical removal of the drive. But I didn’t have to move it to the second computer to create this bootable USB drive.

Bear in mind that I have cloned my Samsung SSD to this WD SSD drive because the plan was to replace my old drive with this one. I had installed WD Dashboard on the WD SSD drive, but also on the Samsung SSD drive. So the failed operations were the result of me booting and running Windows off of the Samsung SSD, with the WD SSD installed in the second M.2 slot. Once I flipped this around, and booted off of the WD SSD drive, I was able to run WD Dashboard and have it create the bootable USB drive for me. It was a simple solution and a small mistake from my side. It only required me to reboot, access the boot menu, and select the WD SSD rather than the Samsung SSD, and off it went: operation successful.

It still bothers me that it didn’t work the other way around. I mean it’s not like WD Dashboard didn’t see my WD SSD. Why does it require me to be booting off of it to allow me to create the bootable USB drive with it or based on its parameters? It doesn’t make any sense. Why not just post a download link for the Embedded Toolkit image/software? Here’s what that folder/file structure looks like!

S:.
│   rootfs.cpio.gz
│   vmlinuz
│   embedded-toolkit.cfg
│   embedded-toolkit-usb.log
│   
├───boot
│   └───grub
│       │   grub.cfg
│       │   
│       └───x86_64-efi
│               acpi.mod
│               adler32.mod
│               ahci.mod
│               all_video.mod
│               aout.mod
│               appleldr.mod
│               archelp.mod
│               ata.mod
│               at_keyboard.mod
│               backtrace.mod
│               bfs.mod
│               bitmap.mod
│               bitmap_scale.mod
│               blocklist.mod
│               boot.mod
│               bsd.mod
│               bswap_test.mod
│               btrfs.mod
│               bufio.mod
│               cat.mod
│               cbfs.mod
│               cbls.mod
│               cbmemc.mod
│               cbtable.mod
│               cbtime.mod
│               chain.mod
│               cmdline_cat_test.mod
│               cmp.mod
│               cmp_test.mod
│               command.lst
│               cpio.mod
│               cpio_be.mod
│               cpuid.mod
│               crc64.mod
│               crypto.lst
│               crypto.mod
│               cryptodisk.mod
│               cs5536.mod
│               ctz_test.mod
│               date.mod
│               datehook.mod
│               datetime.mod
│               disk.mod
│               diskfilter.mod
│               div.mod
│               div_test.mod
│               dm_nv.mod
│               echo.mod
│               efifwsetup.mod
│               efinet.mod
│               efi_gop.mod
│               efi_uga.mod
│               ehci.mod
│               elf.mod
│               eval.mod
│               exfat.mod
│               exfctest.mod
│               ext2.mod
│               fat.mod
│               file.mod
│               fixvideo.mod
│               font.mod
│               fs.lst
│               gcry_arcfour.mod
│               gcry_blowfish.mod
│               gcry_camellia.mod
│               gcry_cast5.mod
│               gcry_crc.mod
│               gcry_des.mod
│               gcry_dsa.mod
│               gcry_idea.mod
│               gcry_md4.mod
│               gcry_md5.mod
│               gcry_rfc2268.mod
│               gcry_rijndael.mod
│               gcry_rmd160.mod
│               gcry_rsa.mod
│               gcry_seed.mod
│               gcry_serpent.mod
│               gcry_sha1.mod
│               gcry_sha256.mod
│               gcry_sha512.mod
│               gcry_tiger.mod
│               gcry_twofish.mod
│               gcry_whirlpool.mod
│               geli.mod
│               gettext.mod
│               gfxmenu.mod
│               gfxterm.mod
│               gfxterm_background.mod
│               gfxterm_menu.mod
│               gptsync.mod
│               grub.cfg
│               gzio.mod
│               halt.mod
│               hashsum.mod
│               hdparm.mod
│               help.mod
│               hexdump.mod
│               hfs.mod
│               hfsplus.mod
│               hfspluscomp.mod
│               http.mod
│               iorw.mod
│               jfs.mod
│               jpeg.mod
│               keylayouts.mod
│               keystatus.mod
│               ldm.mod
│               legacycfg.mod
│               legacy_password_test.mod
│               linux.mod
│               linux16.mod
│               linuxefi.mod
│               loadbios.mod
│               loadenv.mod
│               loopback.mod
│               ls.mod
│               lsacpi.mod
│               lsefi.mod
│               lsefimmap.mod
│               lsefisystab.mod
│               lsmmap.mod
│               lspci.mod
│               lssal.mod
│               luks.mod
│               lvm.mod
│               lzopio.mod
│               macbless.mod
│               macho.mod
│               mdraid09.mod
│               mdraid09_be.mod
│               mdraid1x.mod
│               memrw.mod
│               minicmd.mod
│               minix2.mod
│               minix2_be.mod
│               minix3.mod
│               minix3_be.mod
│               minix_be.mod
│               mmap.mod
│               moddep.lst
│               morse.mod
│               mpi.mod
│               msdospart.mod
│               multiboot.mod
│               multiboot2.mod
│               mul_test.mod
│               nativedisk.mod
│               net.mod
│               newc.mod
│               ntfs.mod
│               ntfscomp.mod
│               odc.mod
│               offsetio.mod
│               ohci.mod
│               partmap.lst
│               parttool.lst
│               parttool.mod
│               part_acorn.mod
│               part_amiga.mod
│               part_apple.mod
│               part_bsd.mod
│               part_dfly.mod
│               part_dvh.mod
│               part_gpt.mod
│               part_msdos.mod
│               part_plan.mod
│               part_sun.mod
│               part_sunpc.mod
│               password.mod
│               password_pbkdf2.mod
│               pata.mod
│               pbkdf2.mod
│               pbkdf2_test.mod
│               pcidump.mod
│               play.mod
│               png.mod
│               priority_queue.mod
│               probe.mod
│               procfs.mod
│               progress.mod
│               raid5rec.mod
│               raid6rec.mod
│               random.mod
│               read.mod
│               reboot.mod
│               regexp.mod
│               reiserfs.mod
│               relocator.mod
│               romfs.mod
│               scsi.mod
│               serial.mod
│               setjmp.mod
│               setjmp_test.mod
│               setpci.mod
│               shift_test.mod
│               signature_test.mod
│               sleep.mod
│               sleep_test.mod
│               spkmodem.mod
│               squash4.mod
│               syslinuxcfg.mod
│               terminal.lst
│               terminal.mod
│               terminfo.mod
│               test.mod
│               testload.mod
│               testspeed.mod
│               test_blockarg.mod
│               tftp.mod
│               tga.mod
│               time.mod
│               tr.mod
│               trig.mod
│               true.mod
│               udf.mod
│               ufs1.mod
│               ufs1_be.mod
│               ufs2.mod
│               uhci.mod
│               usb.mod
│               usbms.mod
│               usbserial_common.mod
│               usbserial_ftdi.mod
│               usbserial_pl2303.mod
│               usbserial_usbdebug.mod
│               usbtest.mod
│               usb_keyboard.mod
│               verify.mod
│               video.lst
│               video.mod
│               videoinfo.mod
│               videotest.mod
│               videotest_checksum.mod
│               video_bochs.mod
│               video_cirrus.mod
│               video_colors.mod
│               video_fb.mod
│               xfs.mod
│               xnu.mod
│               xnu_uuid.mod
│               xnu_uuid_test.mod
│               xzio.mod
│               zfscrypt.mod
│               
├───EFI
│   └───BOOT
│           BOOTx64.EFI
│           grubx64.efi
│           
└───syslinux
        syslinux.cfg

It’s a vmlinuz setup (compressed Linux executable in ELF format), using GRUB and syslinux for booting, and the Embedded Toolkit program is found in rootfs.cpio.gz and takes up about 269 MB. The file embedded-toolkit.cfg contains the serial number and is crutial for the program to work, even if it’s left empty. This file must be present.

I have now learned where to get the right files from WD and how to create this compeletely without relying on WD Dashboard! :male_detective: So that way, you don’t need Windows to run WD Dashboard and create the bootable USB drive. You can use Linux or Mac instead. Here’s the download link: EmbeddedLinux.zip. Just don’t tell anyone I told you! :shushing_face:

All you have to do is unpack this file, and copy the contents of the to-esp folder to your USB drive, and then create this empty file: embedded-toolkit.cfg. If you want, and if you have the serial number, you can populate the file with these two lines:

operation erase
serial <your-serial-here>

That’s it! No need for WD Dashboard to do what you need Embedded Toolkit for. I haven’t tested creating one myself this way, but the file and folder structure is exactly the same. (I’m only showing the folder structure and no files below, to conserve vertical space.)

C:\EMBEDDEDLINUX
└───Img
    └───to-esp
        ├───boot
        │   └───grub
        │       └───x86_64-efi
        ├───EFI
        │   └───BOOT
        └───syslinux

Only the config file and log file are missing. At least on a EFI/UEFI system you don’t need the mbr.bin file that sits outside the to-esp folder. It may be needed for a BIOS based system. Test and find out?

1 Like