ROCK64は2.2TBを超えるUSBストレージから起動できる?

以前、ROCK64をUSB接続のストレージから起動するように設定してみました。

使用したストレージの容量は500GBで、MBR(Master Boot Record)方式のブートセクタでした。

2.2TBを超える容量のストレージは、MBRではなくGPT(GUID Partition Table)という方式が採用されています。

ROCK64で、GPT方式のストレージから起動できるかどうか試してみました。


ROCK64でGTP方式のストレージから起動するかどうか

2.2TB以下/超えるストレージのブートセクタ

PCに関するストレージのブートセクタは、こちらの「Unified Extensible Firmware Interface Forum」に資料があるようです。

拝見したところ、MBRパーティションは2.2TBの制限があり、その容量を超えるストレージの起動は、GPTとUEFI(Unified Extensible Firmware Interface)が必要、との記述があります。

ROCK64とUEFIとの関係はよくわかりませんが、実際に起動するかどうか、試して確認することは可能かと思い、試してみました。

使用したストレージ

こちらのUSB 3.0(5Gbps)対応の2.5インチHDDを使用しました。容量は5TBのものを使用しました。

OpenMediaVaultイメージの書き込み

Etcherで書き込んだ場合

OpenMediaVault 4.0のROCK64用イメージは、こちらの記事でUSB経由で起動及びマウントが可能なことを確認済みです。

同じ手順で、Etcherを使って5TBのUSB HDDに書き込んでみました。Etcherの画面でも、ストレージの容量は5TBと認識されているようです。

さあ、2.2TB以下のストレージと同様に、起動するでしょうか?

2.2TBを超えるUSBストレージを接続してROCK64を起動

Rockchip系のシングルボードコンピュータは、システムコンソールがHDMI出力されないため、シリアルコンソールを接続して確認しました。

USB 3.0端子にUSB HDDを接続して起動したところ。

Vendor: SeageteとHDDが認識されて。

このような感じで、2.2TBを超えるストレージで起動することができました。

ただし、起動に失敗する場合もあり、数回再起動を繰り返した後、ログイン画面が表示される場合がありました。

さしあたり、2.2TBを超えるストレージでも、ROCK64に接続して起動できるようですが・・・。

2.2TBを超える容量を使用できるかどうか

fdiskコマンドでストレージの使用状況を確認したところ/dev/sda1に64MB、/dev/sda2に7.3GB使用しているようです。

cfdiskコマンドで

空き容量にパーティションを作成しようとしたところ

最大2TBのパーティションしか作成できず、2.6TBの空き容量にパーティションを作成することができません。

また/dev/sda3として2TBのパーティションを作成しましたが、mkfsでフォーマットができず、さらにOpenMediaVaultから認識されませんでした。

ブートセクタがMBRのため、物理的に4.6TiBの容量が認識されていても、論理的にパーティションを作成できるのは2.2TBに限定されているようです。

GPTに対応したgdiskでパーティションを作成すると

cfdiskではなく、GPTに対応したgdiskコマンドを実行してみました。現在のパーティションテーブルはMBRのみと表示されますが、不正なGPTを発見したため、MBRからGPTへコンバートします、という内容のメッセージが表示されました。

2.6TBの空き容量を使用するため、gdiskコマンドでGPTパーティションへの変換を行ってみました。そして再起動・・・。

GPT変換後に起動すると

まあ、なんとなく予想はしておりましたが。

パーティションテーブルをGPTに変換すると、USBストレージからROCK64が起動しなくなりました。orz

armbianのnand-sata-installで書き込んだ場合

念の為、armbianをmicroSDカードから起動後、USB HDDを取り付けて、nando-sata-installコマンドでarmbianをストレージに書き込んでみました。

インストール中にGPTでフォーマットできるように、gdiskをインストールしておきます。

apt install gdisk

nand-sata-installを起動して

Boot from SPIを選択すると

パーティションが無い警告が表示されて、gdiskが起動されました。USBストレージに64GBのパーティション(/dev/sda1)を作成し、armbianをインストールすることができました。

再起動後、先ほどと同じInvalid GPTエラーが表示されて、armbianは起動しませんでした。

まとめ

というわけで、簡単に経緯をまとめさせて頂きます。

  1. 2.2TBを超えるUSBストレージでも、Etcherでイメージを書き込めば、ROCK64で起動できるようです。
  2. しかし空き容量にパーティションを作成してもフォーマットできず、使用することができませんでした。何かパーティションテーブルに不整合が発生しているようです。
  3. 不整合の解消のため、gdiskコマンドでGPTパーティションへ変換してみました。するとROCK64で起動できなくなりました。

まあ一言で申し上げると「2.2TBを超えるストレージから起動できますが、パーティションテーブルに不整合が発生して、正常に動作しない」感じでしょうか。2.2TBを超えるストレージをブートデバイスとして使用するのは難しいようです。

USBストレージから起動して使いたい場合、2.2TB以下のストレージを使用したほうが良さそうです。

容量2.2TB以下のストレージから起動しつつ、別の2.2TBを超えるストレージを取り扱うことは問題ないのでしょうか・・・・(疑心暗鬼

このあたりの実験は、また追々行ってみたいと思います→問題なく使えました。


※19.3.29追記:記事の公開後、再度試したところ結果が変わったため、記事を一部修正致しました。

スポンサーリンク

フォローする

スポンサーリンク