I'm running on Ubuntu 18.04, but I suspect 16.04 should be the same. I recently had the same question and did some poking at it. I have an external HD that I wanted to format as a backup disk, the format ran for a long time but there was no information on how long it should take.
According to https://www.kernel.org/doc/Documentation/block/stat.txt , there is a counter of the number of sectors written. For a disk that is just added or partition just created, this number should start close to zero, and a format should be a simple linear write instead of skipping all around. So for my partition /dev/sda1, the number of sectors written can be found in /sys/block/sda/sda1/stat looking at the 7th field. Then you need to figure out the total number of sectors. To get that, I ran "fdisk -l /dev/sda1" and the number is present on the first line.
root@ubuntu:~/bin# fdisk -l /dev/sda1
Disk /dev/sda1: 4.1 TiB, 4501023490560 bytes, 8791061505 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes
Alignment offset: 512 bytes
Then if you can occasionally check the stat value and compare it to the total, you should have an idea of the progress. I'll include here a small shell script to print the percentage of progress. Using this, I was able to estimate that formatting my 4.5TB disk would take about 4 days, after letting it run for a day. Yeah, it is a cheap/slow external disk.
#!/bin/bash
# set -x
# look in /sys/block for this value
DEVICE=sda
# look in /sys/block/$DEVICE for this value
PARTITION=sda1
test -b /dev/$DEVICE
test -b /dev/$PARITION
test -d /sys/block/$DEVICE
test -d /sys/block/$DEVICE/$PARTITION
TOTAL_SECTORS=`fdisk -l /dev/$PARTITION 2>/dev/null | grep ' sectors$' | cut -f3 -d, | cut -f2 -d' '`
SECTOR_SIZE=`fdisk -l /dev/$PARTITION 2>/dev/null | grep '^Units' | cut -f8 -d' '`
while [ : ]
do
WRITTEN_SECTORS=`cat /sys/block/$DEVICE/$PARTITION/stat | awk '{ print $7 }'`
PERCENTAGE=`expr $WRITTEN_SECTORS \* 100 / $TOTAL_SECTORS`
WRITTEN_MB=`expr $WRITTEN_SECTORS \* $SECTOR_SIZE / 1024 / 1024`
READ_SECTORS=`cat /sys/block/$DEVICE/$PARTITION/stat | awk '{ print $3 }'`
READ_MB=`expr $READ_SECTORS \* $SECTOR_SIZE / 1024 / 1024`
echo "Written $WRITTEN_SECTORS sectors of $TOTAL_SECTORS (${PERCENTAGE}%) (${WRITTEN_MB}MB written, ${READ_MB}MB read)"
sleep 1
done
gnome-disksunder the hood). I suggest that you are patient and wait (probably for some more hours) if possible. – sudodus Oct 07 '17 at 17:16gnome-disksdoes have a GUI interface, maybe the problem in this case is the lack of progress view. -- You can edit the title of your question, if you wish :-) – sudodus Oct 07 '17 at 17:33