HDD使うと「Partition 1 does not start on physical sector boundary.」が発生して解消した話

倉庫からHDDを引っ張り出して使おうとすると不明なエラーが発生しました。

今回は、これを無理やり解消してみました

発生エラー

 Partition 1 does not start on physical sector boundary.

状態の確認

ドライブの接続情報確認

wataru@gitlab:~$ sudo lshw -short | grep disk
/0/7/0.0.0       /dev/sda     disk           240GB CT240BX500SSD1
/0/8/0.0.0       /dev/sdb     disk           4TB WDC WD40EZRZ-22G

今回は4TB HDD(WD40EZRZ)がターゲットです。

パーティションの確認

wataru@gitlab:~$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 3.65 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: WDC WD40EZRZ-22G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors Size Id Type
/dev/sdb1           1 4294967295 4294967295   2T ee GPT

Partition 1 does not start on physical sector boundary.

はい、出ました「Partition 1 does not start on physical sector boundary.」

このエラーを解消します

このHDDは?

そもそも論としてこのHDDは…
記憶を漁ると…
システムがKernel Panicを起こしていたようですw
http://35.78.51.61/archives/1668

当時はRAID10で2TB x 4で組んでいました。(Adaptor : Adaptec RAID 6405E)
初期でHDD 2TB x 4で構成していたので、HDDを差し替えても2TBのパーティションとなっている訳です

/dev/sdb1 1 4294967295 4294967295 2T ee GPT

再定義と突破する

このままで、partedで領域を再定義でも良かったのですが…
“確か”エラーは解消されません…

対応としては…
ddコマンドにてHDDの定義領域をぶっ飛ばしますw
良い子も悪い子も真似しないでね

wataru@gitlab:~$ sudo dd if=/dev/zero of=/dev/sdb count=1 bs=1024
1+0 records in
1+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.508199 s, 2.0 kB/s

解説は… いらないかw
HDDの始めの部分をzeroに上書きしました。
これで新品と一緒だw

fdiskで確認すると

wataru@gitlab:~$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 3.65 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: WDC WD40EZRZ-22G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

はい、エラー“は”でなくなりましたw
disklabelとか取れませんからねw

今回のHDDは2TB以上なのでpartedにて領域を開放していきます

wataru@gitlab:~$ sudo parted /dev/sdb
GNU Parted 3.3
Using /dev/sdb
...

wataru@gitlab:~$ sudo mkfs.ext4 /dev/sdb1

ま、略ですね

今回はRAIDで組んでたHDDを無理やりフォーマットするには強制上書きで対応しましたw

もっとCoooolな方法あるといいのになぁ〜

と考えましたが、RAIDから1台HDDを抜いて普通に領域使えたほうが怖いですねw

memo

Kernel panic起こしてたHDD なので不良セクタチェックは必須ですね

sudo badblocks -v -s /dev/sdb1 | tee /tmp/badblocks.txt