Skip to content

Releases: DannyS124/diskanvil

DiskAnvil 0.5.2

Choose a tag to compare

@DannyS124 DannyS124 released this 13 Oct 21:24
v0.5.2
9817ca5

DiskForge is now called DiskAnvil (too many other things are called DiskForge). Your settings, add-ons, virus list
and the rest move over by themselves the first time it starts, the new package replaces the old one, and DiskForge
Live sticks keep working: Make a DiskAnvil Live USB can update them.

New:

  • Who's Using It? (offered when a drive won't unmount because it's busy, and on a mounted partition's right-click menu): the programs with something open on it and what, an attached disk image on it or a drive mounted inside it, with Close It, Stop It and Try Again. Linux and DiskAnvil Live
  • Why Did It Crash? (Tools menu, and a tile in DiskAnvil Live): a Windows that keeps blue-screening, freezing or restarting, explained from its own records without starting it. Its event log (read by our own reader), its crash dumps and its error reports give each stop: the stop code in plain words, the driver whose code was running and what it is, a held power button, a power cut or hard freeze, dying on the way to sleep, and the disk or hardware errors logged just before. Then what they have in common, and what to do
  • Windows Won't Start (Tools menu, and a tile in DiskAnvil Live): two common reasons fixed from outside Windows. An update it's stuck on ("Undoing changes", "Working on updates" for ever) is undone: its list of things to do at the next start (pending.xml) set aside and the COMPONENTS registry file's pointers to it taken out, the way DISM's /RevertPendingActions does (the Windows version runs DISM itself). Windows' registry files are each checked, and a damaged one put back from an earlier day: from RegBack or from System Restore's shadow copies. Whatever is changed is kept next to itself, renamed
  • Are My Files Still OK? (Tools menu, and a tile in DiskAnvil Live): a fingerprint (SHA-256) of every file in a folder, kept in the folder as "DiskAnvil fingerprints.sha256" (sha256sum -c reads it too), and checked again later. Each file is the same, damaged (changed though its date didn't: bit rot or a failing drive), changed by being saved since, missing, unreadable or new, worst first, with a report to save
  • Burn In a New Drive (Tools menu, and a tile in DiskAnvil Live): a new, shucked or second-hand drive worked hard once before it's trusted: its own short self-test, every byte written and read back (once, or twice with every bit flipped; a fake drive is caught too), its long self-test, and its health counters compared from before to after (reallocated, pending and uncorrectable sectors fail it; cable errors and heat are a warning). A verdict and a PDF report. It erases the drive, after its name is typed
  • Write Speed Over Time (Tools menu, and a tile in DiskAnvil Live): a lot written at once (into a test file in the drive's free space, deleted afterwards, or over a whole empty drive), the speed drawn as it goes, and where it fell: the size of an SSD's or stick's fast cache and its real speed after it. Cheap and fake drives show themselves. Data that can't be compressed, straight to the drive past the cache
  • Rescue Copy skips a dying head: a hard drive's data takes turns between its heads in bands, so when one head of several is dying its bands fail again and again at the same spacing. Once that's seen, the bands still to come are jumped over and copied last, so the other heads' data comes off first instead of the drive grinding at every bad band (on by default, under "Go easy on the drive")
  • Self-Encrypting Drive (Action menu, and a tile in DiskAnvil Live): asks a drive whether it encrypts in hardware (TCG Opal 1 and 2, Pyrite, Opalite, Ruby, Enterprise), whether its locking is on and whether it's locked now, from its own answer (read-only). A second-hand drive locked with a password nobody has is reset with the PSID printed on its label: it's put back as it left the factory, erased for good, after the PSID and the drive's name are typed. Our own code from TCG's published specifications, through SCSI security commands (SATA, SAS, USB adapters that pass them on) or NVMe's; never the system drive
  • Hardware Check (Tools menu, and a tile in DiskAnvil Live): the rest of the PC. What's in it (processor, memory, board, firmware), its battery's wear (what it holds against what it held new, and its charge cycles), its processor worked flat out for 1, 3 or 10 minutes with its temperature drawn (too hot, or slowing itself down, and what to do), every key pressed lighting up, the screen in solid colours for dead pixels, and the camera's picture. A report, as a PDF too
  • DiskAnvil Live's boot menu: "Start this PC's own system" (Windows Boot Manager, or the PC's own drive's start-up, as if the stick weren't in, for UEFI and BIOS PCs), "Large text and high contrast" (everything half as big again, high-contrast colours), and "Check the stick, then copy it to memory" under Tools and troubleshooting
  • DiskAnvil Live's settings on its stick: "DiskAnvil Live settings.txt" at the top of the stick, editable on any computer, read at every start: the keyboard layout, the time zone, a Wi-Fi network to join, a tool to open once the screen is up, drives write-protected, large text. Each setting is checked; nothing in it is ever run as a command. New sticks get it with every setting switched off
  • bcachefs drives are recognised everywhere (our own probe, checked against libblkid, so the Windows version and Recover Partitions name them too) and open on DiskAnvil Live. Where they don't open (bcachefs left Linux's own kernel in 6.17; newer ones need bcachefs-dkms), it says why. On Windows, a Linux file system that can't be opened says DiskAnvil Live can
  • Try Starting It keeps the PC responsive: the virtual machine gets memory from what's free (half of it, 1 to 4 GB), more than the PC has free can't be given, and it runs below everything else for the processor and the drives. A drive that only holds files (no system on it to start) is pointed out before it's tried
  • Which Files Were Hit? (in Rescue Copy, once it couldn't read everything): reads the copy's FAT, exFAT or NTFS file systems and lists each file with unreadable parts and how much of it is missing, so a map of bad spots becomes "these files are damaged, the rest are fine". The list can be saved next to the copy
  • Write-Protected Drive (Action menu, right-click a stick, and a tile in DiskAnvil Live): says why a stick, card or drive won't let anything be saved to it, and fixes what a program can: Linux's read-only flag, DiskAnvil Live's write protection, a file system opened read-only after errors (repaired and opened again), and on Windows the setting that write-protects every USB drive and diskpart's read-only marks. A card's lock switch and a stick that locked itself because it's wearing out are said plainly, with no pretend fix
  • DiskAnvil for Windows: the same program on 64-bit Windows 10 and 11, with an installer (Program Files, the Start menu, a desktop shortcut if you want one, and Settings → Apps to remove it) or a zip to run it from a folder. Partitions, formatting, Disk Health, the USB makers, Check a USB Stick, Clone, Back Up and Restore, Disk Usage, Disk Cleanup, Optimize Drives, Recover Partitions, Find Lost Files and Scan for Viruses all work there, and it formats FAT32 over 32 GB, which Windows itself won't. The README's Windows part says what's different
  • Scan for Viruses (Tools menu, and a tile in DiskAnvil Live): looks through a drive or a folder with ClamAV, or on Windows with Microsoft Defender when ClamAV isn't installed. On Linux the drive is mounted read-only while it looks. Quick checks programs, scripts and documents; Everything checks every file
  • Scan for Viruses also finds files dressed up as something else: invoice.pdf.exe, names with a hidden character that flips them around, and programs named like a picture or a document
  • On a drive with Windows on it, Scan for Viruses goes through everything that starts with Windows, read straight from its registry files, and shows the odd ones. It can switch them off, after backing up what it changes into a "DiskAnvil backups" folder on that drive
  • It checks the boot files too: who signed each one against the PC's own Secure Boot lists, the boot entries, the MBR's boot code and the Secure Boot settings, and can put Windows' own boot files back. On Linux it adds fwupd's firmware checks
  • Odd startup programs and boot files can be looked up online by their SHA-256 fingerprint (CIRCL's hashlookup), only when you say so, every time. Nothing else is sent
  • Found files are deleted only after you've seen the list, and every deletion is written down in a log. In DiskAnvil Live the virus list is kept on the stick (when it was made with Make a DiskAnvil Live USB), so it only needs a small update next time
  • Give New IDs (Action menu): gives a copy of a drive its own disk, partition and file system IDs, so it can be used next to the drive it was copied from, and fixes a Linux on it to match (fstab, crypttab, GRUB, systemd-boot, keeping each old file). When two drives share IDs, a bar at the top says so and offers it
  • Find Lost Files brings deleted files back with their names and folders from FAT, exFAT and NTFS drives, and the files in Windows' Recycle Bin under their old names. On NTFS it reads the change journal for names of files whose records were reused, and lists what was deleted recently, newest first. Files found by what's inside them still come after, as before
  • Find Lost Files looks in Windows' earlier versions of a drive (shadow copies) and brings back what has changed or gone since, in folders named after the date of each copy. DiskAnvil reads them with its own code, so this works on Linux and DiskAnvil Live too
  • Find Lost Files opens virtual machines' disks: .vdi, .vmdk, .vhd, .vhdx and .qcow2
  • What This PC Did (Tools menu): what system is on a drive and what it was used for, from its own records, without starting it. Windows: version, name and owner, install and last shutdown, USB drives plugged in...
Read more

DiskAnvil 0.5.1

Choose a tag to compare

@DannyS124 DannyS124 released this 10 Oct 05:12
v0.5.1
e506799

New:

  • DiskAnvil Live: a rescue stick that starts any PC, new (UEFI, Secure Boot on is fine) or old (BIOS), into a small desktop with DiskForge, TestDisk, PhotoRec, a browser and a terminal, plus memtest86+ in the boot menu. It keeps a log of every start on the stick. Built from rescue/, see docs/DISKFORGE-LIVE.md
  • DiskForge Live has its own look (logo, boot menu, boot animation, icons, desktop theme) and opens on a home screen with big tiles for the usual jobs
  • Make a DiskForge Live USB (File menu, or right-click a stick): puts DiskForge Live on a stick as normal files on FAT32 and checks every one, so the stick still works for files. Open Logs shows what a used stick saved
  • Find Lost Files (Action menu, or File menu for disk images): gets deleted files back, or files off a drive that was formatted or won't open, by what's inside them (pictures, documents, PDFs, videos, music, archives). Thumbnails and a preview, each file says if it looks whole, and you save the ones you tick to another drive. It only reads the drive it looks through
  • Check a USB Stick (Action menu, or right-click a stick): finds bad spots and fake sticks that say they're bigger than they are. It says how much a fake one really holds and can make it safe to use. Quick takes minutes, Full checks every byte
  • Make a Windows USB (File menu): a Windows 10 or 11 install stick from Microsoft's ISO that starts with Secure Boot on. install.wim gets split with wimlib when it's too big. Windows 11 options: skip the TPM/Secure Boot/RAM check, no Microsoft account, local account, skip the privacy questions, no automatic BitLocker
  • Write Image to USB takes compressed images (.xz, .gz, .bz2, .lzma, .zst, or a .zip) and any checksum (MD5, SHA-1, SHA-256, SHA-512, or a SHA256SUMS file)
  • Write Image to USB can copy a Linux ISO's files instead, so the stick stays usable for files (UEFI only). Ubuntu and Debian live sticks can keep changes between starts
  • Tools > Quick Fixes: the DiskForge Live home screen on a normal PC
  • A DiskForge Live theme (View > Theme)
  • --open <tool> opens just one tool, for launchers (write-image, windows-usb, rescue-usb, check-stick, lost-files)
  • --log <file> writes down what DiskForge does, for bug reports
  • A .deb for Debian and Ubuntu (packaging/deb/build.sh)

Changed:

  • Secure Erase says in plain words why a drive refused it and what to do instead (most USB adapters block it, Wipe Disk works through any of them), and warns about USB before it starts
  • Secure Erase on a frozen drive: Unplug and Replug walks you through pulling the drive's power and plugging it back in, finds the drive again (even under a new name) and checks it's not frozen anymore. On DiskForge Live it also asks old controllers to look for the drive, which they don't do by themselves
  • New Partition Table only asks for the admin password when something on the drive is in /etc/fstab or encrypted
  • On a live system, the system's own image isn't listed as a drive anymore
  • On a screen smaller than the window (small laptops, VMs) it opens maximized
  • Staging a release also builds DiskForge Live, and publishing attaches the ISO

Fixed:

  • After a Secure Erase the drive shows up blank right away. Before, it kept showing its old partitions until DiskForge was reopened
  • A window that needed a drive unmounted first (Back Up, Clone, Rescue Copy...) waited forever when the unmount failed. Now it says the drive couldn't be opened
  • Pressing Enter in Write Image to USB, Back Up or Restore no longer opens the file picker

sha256: fa15799a32afd502a564479164095112987e8108d9bf78757d034b7026fe6995

DiskForge 0.5.0

Choose a tag to compare

@DannyS124 DannyS124 released this 09 Oct 06:25
v0.5.0
02ab348

Everything new since 0.4.3.

Safety:

  • A drive's name can't steer an add-on anymore: a name starting with "-" can't turn into an option, "/" and ".." can't point at another folder, and names with hidden characters are refused
  • Add-ons that use admin power (pkexec, sudo) or run a shell ask every time, with a warning. The question shows the command one part per line
  • Look-only add-ons (new look_only field) run in a read-only sandbox: they can't change files, use the network or reach other programs. Only these are offered on the system disk
  • "Don't ask again" is tied to the add-on file, so any change to the file asks again
  • Add-ons that turn up in the add-on folder without going through DiskForge are flagged until you say they're yours
  • The online add-on list is signed with a key that isn't on GitHub, and DiskForge checks the signature
  • Drive names, file names and backup descriptions are shown as plain text, and hidden characters (like ones that flip text direction) are dropped
  • Check for Updates builds the release link itself instead of opening whatever link comes back
  • Rescue maps whose blocks don't add up are refused, and Clone refuses partition tables that run past the end of the drive
  • Every release now runs crash tests: thousands of damaged add-ons, lists, signatures, backups, maps and partition tables, also in a build with memory checks
  • Programs DiskForge starts (add-ons, terminals) don't get handed an open drive anymore

New:

  • Stop button: wipes, checks and self-tests get a bar at the top showing how far along they are, with a Stop button (also on the toolbar). A drive's own Secure Erase says up front that it can't be stopped
  • A warning bar at the top when a drive is failing or needs a look, with Back Up (or Rescue Copy), Details and Dismiss. It comes back if things get worse
  • Disk Health explains itself: every reason behind the verdict, what each number means, and the ones that count are in bold. It goes by the numbers Backblaze's drive stats tie to failures. Connection errors say to check the cable, since the drive itself may be fine
  • Firmware: Disk Health shows the drive's firmware and asks fwupd if there's a newer one. DiskForge never installs firmware itself
  • Btrfs: error counts for each Btrfs partition in Disk Health, and a scrub now or every month
  • Recover Partitions: put a lost or damaged partition table back, from the copy GPT keeps at the end of the drive, from a layout DiskForge saw on that drive before (it keeps the last 10), or by scanning the drive for file systems
  • Inspect Partition Table: the MBR, both GPT copies and the partition list as they are on the drive, checksums checked, plus any sector in hex. Only reads, so it works on the system disk too
  • Partition type and flags (GPT attributes, the MBR boot flag)
  • A lock on encrypted partitions in the map: click it to unlock or lock
  • Power settings for hard drives: when to spin down, how hard to save power, the write cache, and Sleep Now
  • Rescue Copy can go easy on a failing drive: pause when it's too hot, rest after a run of read errors, or cap the speed
  • RAID arrays are listed like drives, with their status (checking, rebuilding, degraded), and you can start a check
  • LVM volume groups are listed like drives, their logical volumes as the volumes (needs udisks2-lvm2)
  • Add-ons can ask for things in a form, have their own settings, and show their output in a window. Every add-on action is in the Tools menu, with the reason when one doesn't fit, and you can pin actions to the toolbar or give them a shortcut
  • Add-on Maker: make or change an add-on in a window instead of writing JSON
  • Themes: Classic, Deadshadow and High Contrast built in, theme add-ons, and a Theme Maker. Danger stays red and text stays readable whatever the theme
  • Clone Drive: copies a whole drive onto another one, skips empty space, and can grow the last partition into a bigger drive. Pick whether the copy replaces the old drive (same IDs) or sits next to it (new IDs)
  • Back Up and Restore: saves a drive or partition to a compressed .img.zst file with a checksum, and checks the whole backup before restoring anything
  • Rescue Copy: gets what's still readable off a failing drive, easy parts first. Stop it any time and carry on later; the map file works with GNU ddrescue too
  • Scan for Bad Sectors now draws a map of the drive as it goes: green is fine, orange is slow, red can't be read
  • Disk Usage: a map of what's using the space on a drive, click into folders
  • Disk Cleanup: old package files, packages you've uninstalled, old system logs, your cache folder and the trash
  • Optimize Drives: TRIM now, or every week
  • Btrfs Snapshots: see your subvolumes and snapper's snapshots
  • Secure Erase: the drive's own erase command (ATA and NVMe), with help for drives that are "frozen"
  • Get Add-ons: install add-ons from the online list (checked against a checksum before installing)
  • Flatpak and AppImage downloads on each release
  • Ready for translations (see CONTRIBUTING.md)
  • Disk health (SMART): healthy/warning/failing on every disk, temperature, hours, bad sectors, self-tests
  • Write an ISO to a USB stick, with an optional SHA-256 check and verification afterwards
  • Encrypted drives: encrypt when formatting or creating a partition, unlock, lock, change passphrase
  • Wipe a whole disk with zeros
  • Check for errors and repair
  • Mount at startup (adds an /etc/fstab entry under /mnt)
  • Safely remove USB drives
  • Open .iso and .img files as disks
  • Benchmark read speed, access time and write speed
  • Progress bar for long operations
  • Fix: actions that ask something first (repair after a check, format, delete, resize...) could fail with "disk not found" if the disk list refreshed while the question was open
  • Right-click any partition, free space or drive to get everything you can do with it, partition and drive options together
  • Scan for bad sectors and repair them (rewrites just those sectors so the drive swaps in spares)
  • Long self-test button in Disk Health
  • Add-ons: JSON files that add menu actions (Tools → Add-ons), with three examples in examples/addons

sha256: fbb5e10ee13fb2701f1943d61794d4434657cef92b9cd0ee373b757e29a089b2

DiskForge 0.4.3

Choose a tag to compare

@DannyS124 DannyS124 released this 08 Oct 17:52
v0.4.3
b59643c
  • Check for Updates says so when there's no release, instead of "Not Found"
  • Includes the 0.4.2 wording changes (0.4.2 was taken down before it was tested)

sha256: 49488d50d351425049072fea429b89fe12ed21edcad457020b8658fc265d4f1b