PokuG stdio.h

stdio.hはおまじない

MENU

SATA SSDをPC98で使うためにSSD容量を縮小する

PC-9821V13の内蔵IDE HDDをSATA SSDへ交換したい!
しかしPC98には容量の壁が・・・。さらに小容量のSSDなんて最近どこにも売ってないし!
そんな悩みを抱えていましたが、「Linuxのコマンド使えば容量制限できたよなぁ?」と思いやってみました。

本記事は以下をする前準備の記事です。
pokug.net

↓内容をザックリと紹介したyoutube版もあります。

www.youtube.com

知っておきたい知識

PC-98のHDD容量の壁について

パソコンは本体が認識できるHDDの容量に制限(最大値)があります。
昔のパソコンほど認識できるHDDの容量が小さくなります。

他サイトの表の丸パクリですが、98の場合はざっと以下な感じらしいです。

容量制限 製品
544MB(544MiB) 94年6月以前のPC98
4.56GB(4.25GiB) 94年6月以降のPC98
8.46GB(7.88GiB) 97年5月以降のPC98
33.8GB(31.4GiB) 97年5月以降のPC98

以下参考元。
www.amy.hi-ho.ne.jp

つまり自分の持っている98はどれくらいの容量までHDDが認識できるかを確認し、最大容量より小さいHDDを用意する必要があります。

HPA (Host Protected Area)

日本語直訳で、「ホスト保護領域」。
「HDDの中に使用不能エリアを作る」みたいな感じです。
このHPAを設定しBIOSからはディスクの容量を小さく見せます。

大手メーカー製のパソコンだと、HPA領域にPCのリカバリデータを置き、ユーザーが上書きできないよう保護していたり、他にはRAIDを構成する上で、容量の違うHDDを使う場合に、容量を合わせるためにHPAで調整しているなどがあります。

ようするに、大容量SATA SSDにHPAを設定し、PC98のHDD容量の壁を下回るという作戦です。


用意するもの

大容量SATA SSD

今回は、Intel SSD 520シリーズの180Gを使います。

Raspberry Pi 4

Linuxのコマンドを使い容量制限をかけるので、Linux機器が必要になります。
今回はRaspberry Pi 4を使用します。

SATA USB変換アダプタ

SATA のSSDをRaspberry Pi 4にUSB経由でつなげるので、この機器が必要になります。

オウルテック 2.5インチ/3.5インチSATA HDD用アダプタ ACアダプタ付 SATA⇒USB3.0 USB3.0 新IC UASP対応 ガチャポンパッ!でデータ移動 OWL-PCSPS3U3U2

手順

接続

用意するもので紹介した、SATA USB変換アダプタを使い、SATA SSDをRaspberry Pi 4へつなぎます。

コマンド実行

ここからLinuxのコマンドでSSDの容量を縮小します。

つなげたSSDのディスク識別子を確認

以下のコマンドを実行。

sudo fdisk -l

下画像は実際の「fdisk -l」実行後のコマンド画面です。

下の黄色の文字の「Disk /dev/sda :167.7 GiB, 180...」と書かれていて、今回使用しているSSDが180Gなので、この識別子「/dev/sda」が今回縮小対象のSSDとわかります。
今後「/dev/sda」に対してコマンドを実行します。

hdparmコマンドのインストール

次の手順で使用するhdparmコマンドのインストールです。
最近のラズパイOSにはhdparmコマンドが入っていないような気がしまので。

その場合は以下のコマンドを実行し、インストールしてください。
なお、既にインストールされている環境で以下コマンドを実行しても「既に入っている」と言われるだけですのでとりあえず実行してみましょう。

sudo apt-get install hdparm

容量の縮小

以下のコマンドを実行。

sudo hdparm --yes-i-know-what-i-am-doing -N p7830144 /dev/sda

上の例は180Gの容量を4Gまで落とします。

ざっくりコマンドの説明をすると以下になります。

sudo hdparm --yes-i-know-what-i-am-doing -N p<セクター数> <ディスク識別子>

「--yes-i-know-what-i-am-doing」オプションは無いと実行できないので、絶対に付けてください。
「-N」オプションで容量を制限します。
容量はp<セクター数>で指定します。

7830144のセクター数で約4Gくらいだと思います。
2Gにしたい場合は7830144の数を2で割ればよく、8Gにしたい場合は7830144を2倍に設定します。

Raspberry Pi 4をシャットダウンし、その後起動させる

SSDの容量を縮小できたかを確認するため、Raspberry Pi 4をシャットダウンし、その後Raspberry Pi 4を起動させます。
ここでの注意点ですが、Raspberry Pi 4の再起動だと、前の情報が残っているようで、実際の容量は変更されているのに、変更前の数字が表示されます。よって、一度シャットダウンをし電源を切り、そのあと電源を入れて起動させましょう

容量確認

以下のコマンドを実行。

sudo fdisk -l


上の画像より。
下の黄色の文字の「Disk /dev/sda :3.8 GiB, 400...」に変更されています。
これで180GのSSDが4Gの容量に制限されました。


終わり

以上、 "SATA SSDをPC98で使うためにSSD容量を縮小する" でした。
ネットによればSSDの種類によってうまくHPAが効かないものもあるようです。
相性のよさそうなものを選びTry & Errorを繰り返しましょう。

今回は、PC9821で4G使うために176Gを捨てるという行動をとっていますが、今は180GのSSDもなかなか見かけないので、もっと大容量を諦めなければいけないかもしれません。

仮に1TのSSDを購入した場合、996Gを捨てるとか、正気の沙汰とは思えない行動になりますね。

補足

現在縮小しているかどうかの確認方法
以下のコマンドで確認可能です。

sudo hdparm -N <デバイス名>


これで最大セクター数もわかるので、縮小したSSDを元に戻すことも可能になります。


つづき
pokug.net