Cannot access disk, partition table broken

16,981

Solution 1

There are bad sectors at the beginning of the disk, where partition table should be located. And it seems that your attempt to remap them was unsuccessful.

I usually remap bad sectors with MHDD; it's a freeware utility running in DOS, so it can bypass OS cache and work directly with disk controller. Check SMART monitoring data to make sure there are no unremapped bad sectors; if there are some, run MHDD again until there are none.

After all bad sectors are remapped, try repartitioning your HDD in Linux. dd-ing first megabyte with zeroes might be helpful if remainings of old partition table confuse your fdisk.

Another possible cause of your problems might be faulty data cable or too weak power supply; but get rid of bad sectors first.

Also there's such thing as softbads: bad sectors which occur as a result of interrupted write (because of accident power loss or insufficient wattage of power supply); they are usually fixed by disk hardware in place without remapping if that particular sector is rewritten many times in place (as MHDD does).

Solution 2

Mikhail has the answer to your problem more or less in the bag, but is missing a key point.

If possible, when you cut the power it could messed up the MBR, which like the partition table is located at the beginning of the disk, but if this is somehow corrupted you would need to manually rewrite all 512 bytes of the MBR or attempt to use MBR repair to fix the problem, as you see the last 72 bytes of the MBR are where the partition table is located.

I speak from experience as I will admit, I did the same thing you did and it took me a hell of a long time to figure out exactly what I had done and how to fix it, most problems like this are generally just blown off as hardware failure because most don't want to take the work just to save a hard disk.

Share:
16,981
user1217169
Author by

user1217169

Updated on September 18, 2022

Comments

  • user1217169
    user1217169 almost 2 years

    I was so dumb, to turn of the power on my Readynas Ultra 4 when it was installing the disk (3TB WD Green), I had no time to wait for it as I was going to return it (It was to damn noisy) The disk installation was at 0% and stayed like that for 2minutes, so I decided to turn it off without really thinking about the consequences. Anyways, now it’s done, and I need to put it into my new NAS (Synology 413j), but that’s not going very good. The disk is recognized in BIOS, and I get it up as /dev/sdc when i run gparted live on USB. But it is not shown in Windows device manager or in ubuntu. When I run sudo gparted on a live ubuntu USB, I get Input/output error during read on /dev/sdc.

    I have tried more stuff in gparted live, but to sum it up, it is very similar to whats happening here: http://ubuntuforums.org/archive/index.php/t-1492414.html Up to the part where he runs badsectors, and get alot of errors, I ran badsectors -vs (I guess that is just read, and show output. I ran it for about 3000sectors, and for each block it counted the output was: (and so on)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    140.00% done, 0:01 elapsed. (14/0/0 errors)
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    310.00% done, 0:02 elapsed. (31/0/0 errors)
    

    In gparted(live) the /dev/sdc disk shows, but its all unallocated, and it shows an input/output read error when it scans all disks. When I try to create a new partition, I get an error with no partition table. I go to device - create partition table, and select gpt, I get about 5-6 errors with input/output read and also write on /dev/sdc.

    When I enter gdisk on gparted(live) I get:

    Warning! Read error 5; strange behavior now likely!
    Warning! Read error 5; strange behavior now likely!
    Partition table scan:
    MBR: not present
    BSD: not present
    APM: not present
    GPT: not present
    
    Creating new GPT entries.
    

    When I run smartctl:

    ubuntu@ubuntu:~$ sudo smartctl --all /dev/sdc
    smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-29-generic] (local build)
    Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
    
    === START OF INFORMATION SECTION ===
    Device Model:     WDC WD30EZRX-00MMMB0
    Serial Number:    WD-WCAWZ2205xxxxx
    LU WWN Device Id: 5 0014ee 25c5f8480
    Firmware Version: 80.00A80
    User Capacity:    3,000,592,982,016 bytes [3.00 TB]
    Sector Sizes:     512 bytes logical, 4096 bytes physical
    Device is:        Not in smartctl database [for details use: -P showall]
    ATA Version is:   8
    ATA Standard is:  Exact ATA specification draft version not indicated
    Local Time is:    Sat Sep 29 15:53:44 2012 UTC
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled
    
    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED
    
    General SMART Values:
    Offline data collection status:  (0x84)    Offline data collection activity
                        was suspended by an interrupting command from host.
                        Auto Offline Data Collection: Enabled.
    Self-test execution status:      (   0)    The previous self-test routine completed
                        without error or no self-test has ever
                        been run.
    Total time to complete Offline
    data collection:         (50700) seconds.
    Offline data collection
    capabilities:              (0x7b) SMART execute Offline immediate.
                        Auto Offline data collection on/off support.
                        Suspend Offline collection upon new
                        command.
                        Offline surface scan supported.
                        Self-test supported.
                        Conveyance Self-test supported.
                        Selective Self-test supported.
    SMART capabilities:            (0x0003)    Saves SMART data before entering
                        power-saving mode.
                        Supports SMART auto save timer.
    Error logging capability:        (0x01)    Error logging supported.
                        General Purpose Logging supported.
    Short self-test routine
    recommended polling time:      (   2) minutes.
    Extended self-test routine
    recommended polling time:      ( 255) minutes.
    Conveyance self-test routine
    recommended polling time:      (   5) minutes.
    SCT capabilities:            (0x3035)    SCT Status supported.
                        SCT Feature Control supported.
                        SCT Data Table supported.
    
    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
      3 Spin_Up_Time            0x0027   199   140   021    Pre-fail  Always       -       7050
      4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       483
      5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       572
     10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
     11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
     12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       142
    192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       31
    193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       8522
    194 Temperature_Celsius     0x0022   114   095   000    Old_age   Always       -       38
    196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
    197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       1
    198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
    200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0
    
    SMART Error Log Version: 1
    No Errors Logged
    
    SMART Self-test log structure revision number 1
    Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
    # 1  Short offline       Completed: read failure       90%       569         42084912
    # 2  Short offline       Completed without error       00%       388         -
    
    SMART Selective self-test log data structure revision number 1
     SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
        1        0        0  Not_testing
        2        0        0  Not_testing
        3        0        0  Not_testing
        4        0        0  Not_testing
        5        0        0  Not_testing
    Selective self-test flags (0x0):
      After scanning selected spans, do NOT read-scan remainder of disk.
    If Selective self-test is pending on power-up, resume after 0 minute delay.
    

    My gdisk session under here: But the most usefull I got to in the end: Warning! Main partition table overlaps the first partition by 34 blocks! You will need to delete this partition or resize it in another utility.

    user@debian:~$ sudo gdisk
    GPT fdisk (gdisk) version 0.8.5
    
    Type device filename, or press <Enter> to exit: /dev/sdc
    Warning! Read error 5; strange behavior now likely!
    Warning! Read error 5; strange behavior now likely!
    Partition table scan:
      MBR: not present
      BSD: not present
      APM: not present
      GPT: not present
    
    Creating new GPT entries.
    
    Command (? for help): ?
    b   back up GPT data to a file
    c   change a partition's name
    d   delete a partition
    i   show detailed information on a partition
    l   list known partition types
    n   add a new partition
    o   create a new empty GUID partition table (GPT)
    p   print the partition table
    q   quit without saving changes
    r   recovery and transformation options (experts only)
    s   sort partitions
    t   change a partition's type code
    v   verify disk
    w   write table to disk and exit
    x   extra functionality (experts only)
    ?   print this menu
    
    Command (? for help): n
    Partition number (1-128, default 1): 1
    First sector (34-5860533134, default = 2048) or {+-}size{KMGTP}: 2048
    Last sector (2048-5860533134, default = 5860533134) or {+-}size{KMGTP}: 5860533134
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300): l 
    0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
    4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
    7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
    8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
    8e00 Linux LVM             a500 FreeBSD disklabel     a501 FreeBSD boot        
    a502 FreeBSD swap          a503 FreeBSD UFS           a504 FreeBSD ZFS         
    a505 FreeBSD Vinum/RAID    a580 Midnight BSD data     a581 Midnight BSD boot   
    a582 Midnight BSD swap     a583 Midnight BSD UFS      a584 Midnight BSD ZFS    
    a585 Midnight BSD Vinum    a800 Apple UFS             a901 NetBSD swap         
    a902 NetBSD FFS            a903 NetBSD LFS            a904 NetBSD concatenated 
    a905 NetBSD encrypted      a906 NetBSD RAID           ab00 Apple boot          
    af00 Apple HFS/HFS+        af01 Apple RAID            af02 Apple RAID offline  
    af03 Apple label           af04 AppleTV recovery      af05 Apple Core Storage  
    be00 Solaris boot          bf00 Solaris root          bf01 Solaris /usr & Mac Z
    bf02 Solaris swap          bf03 Solaris backup        bf04 Solaris /var        
    bf05 Solaris /home         bf06 Solaris alternate se  bf07 Solaris Reserved 1  
    bf08 Solaris Reserved 2    bf09 Solaris Reserved 3    bf0a Solaris Reserved 4  
    bf0b Solaris Reserved 5    c001 HP-UX data            c002 HP-UX service       
    ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
    fd00 Linux RAID            
    Hex code or GUID (L to show codes, Enter = 8300): ef01
    Changed type of partition to 'MBR partition scheme'
    
    Command (? for help): ?
    b   back up GPT data to a file
    c   change a partition's name
    d   delete a partition
    i   show detailed information on a partition
    l   list known partition types
    n   add a new partition
    o   create a new empty GUID partition table (GPT)
    p   print the partition table
    q   quit without saving changes
    r   recovery and transformation options (experts only)
    s   sort partitions
    t   change a partition's type code
    v   verify disk
    w   write table to disk and exit
    x   extra functionality (experts only)
    ?   print this menu
    
    Command (? for help): w
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    
    Do you want to proceed? (Y/N): Y
    OK; writing new GUID partition table (GPT) to /dev/sdc.
    Unable to save backup partition table! Perhaps the 'e' option on the experts'
    menu will resolve this problem.
    Warning! An error was reported when writing the partition table! This error
    MIGHT be harmless, or the disk might be damaged! Checking it is advisable.
    
    Command (? for help): o   
    This option deletes all partitions and creates a new protective MBR.
    Proceed? (Y/N): Y
    
    Command (? for help): p
    Disk /dev/sdc: 5860533168 sectors, 2.7 TiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 3995C753-D73D-4386-8818-3A9AF06E3B2C
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 5860533134
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 5860533101 sectors (2.7 TiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
    
    Command (? for help): o
    This option deletes all partitions and creates a new protective MBR.
    Proceed? (Y/N): Y
    
    Command (? for help): w
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    
    Do you want to proceed? (Y/N): Y
    OK; writing new GUID partition table (GPT) to /dev/sdc.
    Unable to save backup partition table! Perhaps the 'e' option on the experts'
    menu will resolve this problem.
    Warning! An error was reported when writing the partition table! This error
    MIGHT be harmless, or the disk might be damaged! Checking it is advisable.
    
    Command (? for help): p
    Disk /dev/sdc: 5860533168 sectors, 2.7 TiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): F1AE4B7D-9CCE-4211-BE3D-88DFFCCD3696
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 5860533134
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 5860533101 sectors (2.7 TiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
    
    Command (? for help): o
    This option deletes all partitions and creates a new protective MBR.
    Proceed? (Y/N): n
    
    Command (? for help): ?
    b   back up GPT data to a file
    c   change a partition's name
    d   delete a partition
    i   show detailed information on a partition
    l   list known partition types
    n   add a new partition
    o   create a new empty GUID partition table (GPT)
    p   print the partition table
    q   quit without saving changes
    r   recovery and transformation options (experts only)
    s   sort partitions
    t   change a partition's type code
    v   verify disk
    w   write table to disk and exit
    x   extra functionality (experts only)
    ?   print this menu
    
    Command (? for help): d
    No partitions
    
    Command (? for help): i
    No partitions
    
    Command (? for help): r
    
    Recovery/transformation command (? for help): ?
    b   use backup GPT header (rebuilding main)
    c   load backup partition table from disk (rebuilding main)
    d   use main GPT header (rebuilding backup)
    e   load main partition table from disk (rebuilding backup)
    f   load MBR and build fresh GPT from it
    g   convert GPT into MBR and exit
    h   make hybrid MBR
    i   show detailed information on a partition
    l   load partition data from a backup file
    m   return to main menu
    o   print protective MBR data
    p   print the partition table
    q   quit without saving changes
    t   transform BSD disklabel partition
    v   verify disk
    w   write table to disk and exit
    x   extra functionality (experts only)
    ?   print this menu
    
    Recovery/transformation command (? for help): f
    Warning! This will destroy the currently defined partitions! Proceed? (Y/N): Y
    Problem loading MBR! GPT is untouched; regenerating protective MBR!
    
    Recovery/transformation command (? for help): ?
    b   use backup GPT header (rebuilding main)
    c   load backup partition table from disk (rebuilding main)
    d   use main GPT header (rebuilding backup)
    e   load main partition table from disk (rebuilding backup)
    f   load MBR and build fresh GPT from it
    g   convert GPT into MBR and exit
    h   make hybrid MBR
    i   show detailed information on a partition
    l   load partition data from a backup file
    m   return to main menu
    o   print protective MBR data
    p   print the partition table
    q   quit without saving changes
    t   transform BSD disklabel partition
    v   verify disk
    w   write table to disk and exit
    x   extra functionality (experts only)
    ?   print this menu
    
    Recovery/transformation command (? for help): v
    
    No problems found. 5860533101 free sectors (2.7 TiB) available in 1
    segments, the largest of which is 5860533101 (2.7 TiB) in size.
    
    Recovery/transformation command (? for help): b
    
    Recovery/transformation command (? for help): c
    Warning! This will probably do weird things if you've converted an MBR to
    GPT form and haven't yet saved the GPT! Proceed? (Y/N): Y
    Warning! Read error 5! Misbehavior now likely!
    Caution! After loading partitions, the CRC doesn't check out!
    
    Recovery/transformation command (? for help): w
    Warning! Main partition table overlaps the first partition by 34 blocks!
    You will need to delete this partition or resize it in another utility.
    Aborting write of new partition table.
    

    No matter what I try to do, I seem to get the input/output error, I tried installing ubuntu on it, and it seems to create the partition table, but when I start the install..input/output error.

    Anyone have any idea on how I can fix this? I’m happy to post more logfiles or whatever, but I’m not experienced with linux, I just use it for this kind of stuff. The disk is very new, just some moths, so I doubt it’s any bad sectors.

    Thank you for all input!

  • user1217169
    user1217169 over 11 years
    Thank you for these tips! I will see what I can do. Question: "dd-ing first megabyte with zeroes" - How do you do that? Also, there is alot of bad sectors, could it be 10000+ ? Wont that reduce the capacity on the disk alot?
  • user1217169
    user1217169 over 11 years
    Thank you for your clarification! How do you manually rewrite MBR? :)
  • user1217169
    user1217169 over 11 years
    I didnt get MHDD to work from "Hirens boot CD" on a USB drive. And I dont have a CD-ROM drive, do you know how I can run MHDD? Will badsectors -w do the same? :) And how long will a scan like these take? A day or more?
  • user88311
    user88311 over 11 years
    Of that part I'm afraid I can't help, I had to take my drive to a friend who's a code monkey and had him fix it, I'm sure if you hang around here or ask ubuntu somebody will be able to help you.
  • Mikhail Kupchik
    Mikhail Kupchik over 11 years
    You may convert MHDD iso to USB thumbdrive with FlashBoot. Demo version will do. prime-expert.com/flashboot
  • Mikhail Kupchik
    Mikhail Kupchik over 11 years
    "dd-ing first megabyte with zeroes" is running command like dd if=/dev/zero of=/dev/sdc bs=512 count=2048 in Linux. It fills the first megabyte of your HDD with zeroes. So MBR partition table and GPT metadata is erased. PLEASE BE CAREFUL when specifying device name: if you make mistake, then you lose everything on your other disk!
  • Mikhail Kupchik
    Mikhail Kupchik over 11 years
    MHDD running time depends on the size and speed of your HDD. I expect about 3-6 hours for modern 3TB HDD.
  • user1217169
    user1217169 over 11 years
    Sooo, I got MHDD running, but no luck with that, on drive selection SHIFT+F3, I get 3 choises, I guess one for each sata controller, which is correct for my motherboard. No matter whitch one I chose, the status thingies on the top indicates red on ERROR and green on BUSY. When I try to do f.eks SCAN, I get "drive is not ready". No commands from this site: real-world-systems.com/docs/MHDD_en_manual.html#getT13 . worked....I tried with 2 different sata ports and cables with no luck. Any ideas on what the problem could be?
  • Mikhail Kupchik
    Mikhail Kupchik over 11 years
    Try to disable AHCI in BIOS temporarily (put SATA controller to IDE emulation mode). After MHDD is no longer needed and before installing OS, enable AHCI again.
  • user1217169
    user1217169 over 11 years
    I disabled ACHI and XCHI in bios, still no luck :( Any more ideas? :S
  • Mikhail Kupchik
    Mikhail Kupchik over 11 years
    Try to fix badblocks on other computer (older one), this is some kind of MHDD/southbridge incompatibility.
  • user1217169
    user1217169 over 11 years
    Yeah, I guess badblocks is what I was going to do next with the -w option to write... but what do you mean with "on other computer". The computer I'm using is a Gigabyte GA-Z68MX-UD2H-B3 with i5 2500k. When Im using MHDD Im only pluggin in my 3TB drive that has the problems + the USB stick. I do not have any other motherboards to test this with :/
  • FSMaxB
    FSMaxB over 11 years
    If creating a gpt partition table, there is now mbr because the mbr is specific to a dos partition table.