ディスクにアクセスできません、パーティション テーブルが壊れています

ディスクにアクセスできません、パーティション テーブルが壊れています

ディスク (3TB WD Green) をインストールしているときに Readynas Ultra 4 の電源を切るなんて、本当にバカでした。返却するつもりだったので、待つ時間もありませんでした (うるさすぎたのです)。ディスクのインストールは 0% で 2 分間そのままだったので、結果をあまり考えずに電源を切ることにしました。とにかく、今は完了したので、新しい NAS (Synology 413j) に挿入する必要がありますが、うまくいきません。ディスクは BIOS で認識され、USB でライブ gparted を実行すると /dev/sdc として起動します。しかし、Windows デバイス マネージャーにも ubuntu にも表示されません。ライブ ubuntu USB で sudo gparted を実行すると、/dev/sdc の読み取り中に入出力エラーが発生します。

私は gparted live でさらに多くのことを試しましたが、要約すると、ここで起こっていることと非常に似ています。http://ubuntuforums.org/archive/index.php/t-1492414.html badsectors を実行して大量のエラーが発生する部分まで、私は badsectors -vs を実行しました (これは単に読み取り、出力を表示するだけだと思います。約 3000 セクター実行し、カウントされた各ブロックの出力は次のようになりました (など))

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)

gparted(live) では、/dev/sdc ディスクが表示されますが、すべて未割り当てであり、すべてのディスクをスキャンすると、入出力読み取りエラーが表示されます。新しいパーティションを作成しようとすると、パーティション テーブルがないというエラーが表示されます。デバイス - パーティション テーブルの作成に移動し、gpt を選択すると、/dev/sdc での入出力読み取りと書き込みで約 5 ~ 6 個のエラーが発生します。

gparted(live) で gdisk に入ると、次のメッセージが表示されます:

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.

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.

私の gdisk セッションはここにあります: しかし、最終的に私が得た最も便利なものは次のとおりです: 警告! メイン パーティション テーブルは、最初のパーティションと 34 ブロック重複しています! このパーティションを削除するか、別のユーティリティでサイズを変更する必要があります。

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.

何をやっても入出力エラーが発生するようです。Ubuntu をインストールしてみましたが、パーティション テーブルは作成されるようですが、インストールを開始すると入出力エラーが発生します。

これを修正する方法を誰か知っていますか? ログファイルなどをもっと投稿しても構いませんが、私は Linux の経験がなく、この種の用途に使用しているだけです。ディスクは非常に新しく、数か月しか経っていないため、不良セクタがあるとは思えません。

ご意見ありがとうございました!

答え1

ディスクの先頭、つまりパーティション テーブルが配置されている場所に不良セクタがあります。また、それらを再マップしようとしましたが、失敗したようです。

私は通常、不良セクタをMHDD; これは DOS で実行されるフリーウェア ユーティリティなので、OS キャッシュをバイパスしてディスク コントローラと直接連携できます。SMART 監視データをチェックして、再マップされていない不良セクターがないことを確認します。不良セクターがある場合は、不良セクターがなくなるまで MHDD を再度実行します。

すべての不良セクタが再マップされたら、Linux で HDD を再パーティション化してみてください。古いパーティション テーブルの残りが fdisk を混乱させている場合は、最初のメガバイトをゼロで dd すると役立つ場合があります。

問題の別の原因としては、データ ケーブルの不良や電源の弱さなどが考えられますが、まずは不良セクタを取り除いてください。

また、ソフトバッドというものもあります。これは、書き込みが中断された結果 (事故による停電や電源のワット数不足による) に発生する不良セクタです。通常、特定のセクタが (MHDD のように) 何度も書き換えられると、ディスク ハードウェアによって再マッピングせずにその場で修正されます。

答え2

ミハイルはあなたの問題に対する答えをほぼ持っていますが、重要な点が抜けています。

可能であれば、電源を切ると、パーティション テーブルと同様にディスクの先頭にある MBR が壊れる可能性がありますが、これが何らかの理由で破損している場合は、MBR の 512 バイトすべてを手動で書き換えるか、MBR 修復を使用して問題を解決する必要があります。MBR の最後の 72 バイトにパーティション テーブルが配置されていることがわかります。

経験から言うと、私もあなたと同じことをしましたが、自分が何をしたのか、そしてそれをどう修正するのかを正確に理解するのに非常に長い時間がかかりました。このような問題のほとんどは、通常、ハードウェアの故障として片付けられてしまいます。なぜなら、ほとんどの人は、ハードディスクを節約するためだけに労力を費やしたくないからです。

関連情報