WD MyCloud卷故障問題的解決

肺炎性長(zhǎng)假期間閑來(lái)無(wú)事,把原來(lái)故障無(wú)法讀取的WD MyCloud自帶3T硬盤又翻出來(lái),看能不能修復(fù)。一番折騰后,竟然用Disk Genuis格式化成功。貌似出問題的扇區(qū)剛好是某分區(qū)的起始位置,只要不在乎數(shù)據(jù)丟失,能忍受Windows試圖加載分區(qū)的超長(zhǎng)等待和出錯(cuò)后,最終用DG的掃描和修復(fù)功能成功修復(fù)格式化,連原先SMART的C5告警都恢復(fù)正常了,現(xiàn)在硬盤看上去沒有任何異常。

接下來(lái)自然就要恢復(fù)WD MyCloud了。參考原來(lái)寫過的教程 WD MyCloud救磚筆記,很快完成刷機(jī),并按照預(yù)期正常進(jìn)入系統(tǒng)UI界面、設(shè)置硬盤工作模式、自動(dòng)格式化等等,完成后也能看見硬盤空間為2.94T,看上去一切正常。然而,一次重啟之后,系統(tǒng)UI界面出現(xiàn)一個(gè)警告,且磁盤空間顯示為0。反復(fù)重啟都是這個(gè)錯(cuò)誤。

image.png

開啟SSH服務(wù)并登錄后,用mount命令,發(fā)現(xiàn) /dev/sda2這個(gè)2.9TB的主數(shù)據(jù)分區(qū),并沒有被掛載。正常情況下,它應(yīng)該被掛載到 /mnt/HD/HD_a2目錄。難道分區(qū)創(chuàng)建的時(shí)候有問題?又按照俄羅斯大神的教程反復(fù)嘗試幾次,結(jié)果都一樣,只要經(jīng)歷一次重啟,數(shù)據(jù)分區(qū)就無(wú)法掛載。

查找相關(guān)錯(cuò)誤資料,無(wú)意中發(fā)現(xiàn)某個(gè)記錄硬盤升級(jí)擴(kuò)容的帖子中,分區(qū)步驟比俄羅斯大神的步驟多了一步:mkfs.ext4 /dev/sda2,也就是把/dev/sda2格式化為ext4格式,難道是這個(gè)問題?

于是在WD MyCloud已經(jīng)刷機(jī),UI界面能正常啟動(dòng)的情況下,SSH登錄上去,用gdisk 查看分區(qū)信息,如下:

root@WDMyCloud /etc # gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/sda: 5860533168 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): F240F7A7-A98C-4B85-83B8-814D0937E04F
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 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         4196351   2.0 GiB     8200  Linux swap
   2        16779264      5860533134   2.7 TiB     0700  Microsoft basic data
   3        14682112        16779263   1024.0 MiB  0700  Microsoft basic data
   4         4196352         6293503   1024.0 MiB  0700  Microsoft basic data
   5         6293504         8390655   1024.0 MiB  0700  Microsoft basic data
   6         8390656        12584959   2.0 GiB     0700  Microsoft basic data
   7        12584960        14682111   1024.0 MiB  0700  Microsoft basic data

可以看到第二個(gè)分區(qū),也就是sda2的分區(qū)類型是0700,Microsoft basic data。難道這就是原因?
用命令行mke2fs -t ext4 /dev/sda2,把sda2格式化為ext4分區(qū),然后重啟系統(tǒng),一切恢復(fù)正常,多次重啟也沒問題。

你以為到這里就結(jié)束了嗎?其實(shí)還有未解之謎。

格式化為ext4后,用gdisk查看,分區(qū)類型還是顯示0700 Microsoft basic data,但系統(tǒng)運(yùn)行一切正常,mount命令的輸出中有下面這行:

/dev/sda2 on /mnt/HD/HD_a2 type ext4 (rw,noatime,nodiratime,barrier=0,usrquota,grpquota)

看來(lái)分區(qū)類型和操作系統(tǒng)實(shí)際加載所使用的分區(qū)類型參數(shù),可以不一致?
搜索資料,發(fā)現(xiàn)這篇文章說了一段:

Disk partition tables include type codes, which are coded names or numbers associated with specific uses of partitions. OSes can use the type codes as they see fit. For the most part, Linux ignores partition type codes, but Windows doesn't—it uses partition type codes as a filter to determine which partitions to attempt to use. Specifically, the Microsoft Basic Data type code (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) identifies a filesystem that Windows can understand, such as FAT or NTFS. Unfortunately, for years Linux has used this same type code to identify its filesystem partitions on GPT disks;

大意就是,Linux通常會(huì)忽略分區(qū)識(shí)別符。Microsoft Basic Data這種格式,本來(lái)是微軟用來(lái)標(biāo)記Windows能識(shí)別的分區(qū)格式的,而很不幸Linux剛好也用了相同的代碼來(lái)標(biāo)識(shí)為GPT分區(qū)。

回想刷機(jī)步驟中,并沒有對(duì)sda2進(jìn)行格式化,所以分區(qū)實(shí)際上應(yīng)該沒有建立正確的ext4格式,導(dǎo)致系統(tǒng)掛載失敗。不過,為什么刷機(jī)后第一次啟動(dòng)時(shí),系統(tǒng)能夠識(shí)別出硬盤并提示格式化成功呢?為什么系統(tǒng)自己格式化沒有格式化成ext4呢?這個(gè)我沒找到答案。

俄羅斯大神的刷機(jī)步驟,很可能是在一塊曾經(jīng)正常使用的硬盤上進(jìn)行的,即使硬盤分區(qū)被刪除并重建,因?yàn)榉謪^(qū)的位置不變,分區(qū)后可能還存在符合ext4格式的分區(qū)信息,這樣掛載就可以成功。而我在修復(fù)硬盤時(shí)抹去了一些信息,這種情況下,就必須手動(dòng)進(jìn)行一次格式化。

最終總結(jié):

  1. Linux可能會(huì)忽略分區(qū)標(biāo)識(shí),而只是按照掛載參數(shù)使用分區(qū)。
  2. WD MyCloud在系統(tǒng)初始化時(shí),很可能沒有真正按照ext4來(lái)格式化數(shù)據(jù)分區(qū),從而導(dǎo)致掛載失敗。
  3. 要解決問題,可以在進(jìn)行分區(qū)時(shí),用mkfs.ext4命令格式化sda2,也可以在刷機(jī)完成后用mke2fs命令格式化。
  4. 只要不顧慮數(shù)據(jù)丟失,WD MyCloud隨便怎么刷,放心刷。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容