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