PokuG stdio.h

stdio.hはおまじない

MENU

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

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

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

1.知っておきたい知識

1.1. PC98のHDD容量の壁について

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

他のページの表の丸パクリですが、PC98の場合はざっと以下な感じです。

容量制限 製品
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

97年5月以降のPC98が2種類ありますね。注意です。

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

1.2. HPA (Host Protected Area)

日本語直訳で、「ホスト保護領域」。
「HDDの中に使用不能エリアを作る」みたいな感じです。

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

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

2.用意するもの

2.1. 大容量SATA SSD

今回は、Intel SSD 330シリーズの120Gを使います。
f:id:yarufu101:20210916184921j:plain:w500

2.2. Raspberry Pi 4

Linuxの機能を使い容量制限をかけます。よってLinux機器が必要です。
今回はRaspberry Pi 4を使用します。
どうでもいいですが、このサイトのPC98記事ではRaspberry Pi 4が結構出てきます。
何か凝ったことをするにはRaspberry Pi 4ってかなり手軽に使えて便利です。
f:id:yarufu101:20210916185453j:plain:w500

2.3. SATA USB変換アダプタ

SATA のSSDをRaspberry Pi 4にUSB経由でつなげるので、この機器が必要になります。
f:id:yarufu101:20210916185745j:plain:w500

3.手順

3.1. 接続

Raspberry Pi 4に用意するもので紹介した、SATA USB変換アダプタを使い、SATA SSDをつなぎます。
f:id:yarufu101:20210916190322j:plain:w500
上の写真ではRaspberry Pi 4とSSDの間にUSBハブがあって、このUSBハブ経由で繋がっていますが、実際はSSDに繋がっている変換アダプタをRaspberry Pi 4に直結しても問題ありません。

3.2.コマンド実行

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

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

以下のコマンドを実行。

sudo fdisk -l

下画像は実際の「fdisk -l」実行後のコマンド画面です。
f:id:yarufu101:20210916190807j:plain
下の黄色の文字の「Disk /dev/sdb :118 GiB」と書かれていて、今回使用しているSSDが120Gなので、この識別子が今回縮小対象のSSDとわかります。
今後「/dev/sdb」に対してコマンドを実行します。

3.2.2 現在の使用セクタを確認

以下のコマンドを実行。

sudo hdparm -N /dev/sdb

f:id:yarufu101:20210916191201j:plain
「<現在のセクター数>/<最大セクター数>」が表示されています。
上の画像からわかる事は、全てのセクタを使っていて、HPA領域設定していないという事です。

3.2.3. 容量の縮小

以下のコマンドを実行。

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

上の例は120Gの容量を4Gまで落とします。
f:id:yarufu101:20210916191513j:plain
ざっくりコマンドの説明をすると以下になります。

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倍に設定します。

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

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

3.2.5. 容量確認

以下のコマンドを実行。

sudo fdisk -l

f:id:yarufu101:20210916191453j:plain
上の画像より。
下の黄色の文字の「Disk /dev/sdb :3.8 GiB」に変更されています。

4.終わり

これでPC9812でSATA SSDを使うための前準備完了です。
ネットによればSSDの種類によってうまくHPAが効かないとかあるようです。
相性のよさそうなものを選びTry & Errorを繰り返しましょう。

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

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


つづき
pokug.net