I have a 1TB external HDD, which was formatted with FAT32. I decided to format it with ext2. Then I noticed that it has bad sectors, and I was unable to do the format with Ubuntu's Disk Utility. So I used fdisk and mkfs with the -c option to format it. This seemed to go through without errors (except for the bad sectors found), but obviously I used some wrong command, because there was no partition visible after it ended. The whole process took up 3 weeks, 350 hours out of them for the error checking alone. Also, at some time I noticed that I'd used mkfs.ext3 instead of mkfs.ext2, but I didn't want to interrupt and start again.
Now I have this HDD without a partition, and decided to make a ext2 partition on it using the Disk Utility. It started doing something, but after an hour I interrupted it, because I don't want to wait another 3 weeks (it doesn't even show an estimation for the time needed, or a progress bar). Then I plugged the HDD into a Windows 7 laptop, thinking that I could format it as NTFS or even FAT, whatever goes. But it doesn't get its own drive letter in Windows. I can see it under the Device Manager, but there is no option there to format the thing.
Any ideas how to get the disk to work? Possibly without having to wait for weeks and at the end noticing that it hasn't worked? I don't care any more which filesystem it gets (but if I have a choice, it will be ext2).
Edit
I know that usually bad sectors appear when a disk is old and then multiply uncontrollably. But as this is a new (< 1 yr) external drive, I guess that it is just some mechanical damage and they won't multiply. Backup restoration wouldn't be any problem, as there is no OS install on the disk, just my music and film collection, so if the thing fails, all I have to do is to buy a new HDD and copy the data from the backup HDD.
I think that all my "backup" sectors are used up, but I thought that it is possible for a drive to just ignore bad sectors, so if I have 1 GB worth of bad sectors, it will continue to function as a 999 GB drive instead of a 1000 GB drive. Is this possible, or am I mistaken?
smartctl doesn't work with the disk. I get the output
rumtscho@bradbury:~$ sudo smartctl --all /dev/sdd -T verypermissive smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ Device: WD 10EADS External Version: 1.75 scsiModePageOffset: response length too short, resp_len=4 offset=4 bd_len=0 >> Terminate command early due to bad response to IEC mode page Error Counter logging not supported scsiModePageOffset: response length too short, resp_len=4 offset=4 bd_len=0 Device does not support Self Test logging