やっぱり我慢できなくなったというか、Raspberry Pi 400もSSDブートにしちゃいました。最近のRaspberry Pi OSでは、本当に簡単にSSDにコピーしてブート設定をすることができます。
SSDブートの設定
raspi-configコマンドをsudoで実行して、「6 Advanced Options」から「A6 Boot Orfer」画面を開いて、「B2 USB Boot」を選択します。この状態で終了すると再起動を促されますから再起動すれば大丈夫です。
再起動後にEEPROMの設定を見ると次のようになっていてBOOT_ORDERの項目が追加されて”0xf14″になっていますから、SSDがあれば最初にブートして、もしSSDがなければmSDからブートしようとします。
$ vcgencmd bootloader_config
[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0
[all]
BOOT_ORDER=0xf14
mSDの内容をSSDにコピー
今使っているmSDの内容を新しいSSDにコピーするには、Raspberry Piメニューから「アクセサリ」にある「SD Card Copier」を選択します。
「Copy From Device」ではmSDを選択して、「Copy To Device」でSSDを選択します。「New Partition UUIDs」にはチェックを入れておきます。ここにチェックをしないと元のmSDとコピーしたSSDに作られたパーティションが同じUUIDでコピーされてしまうために不都合が生じる場合があります。
正しく設定できたら「Start」ボタンをクリックして実行します。
無事にコピーが終われば一旦シャットダウンして終了してから、mSDを取り外して再起動します。
mSDとSSDの速度計測
ここではhdparmコマンドを使って簡便に速度を計測して見ましょう。
hdparmコマンドは、”sudo apt install -y hdparm”としてインストールすることができます。
再起動してSSDからブートした状態で、元々のmSDを装填していますから次のような状態になっています。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 256M 0 part /boot
└─sda2 8:2 0 465.5G 0 part /
mmcblk0 179:0 0 59.5G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /media/pi/boot
└─mmcblk0p2 179:2 0 59.2G 0 part /media/pi/rootfs
早速実行して見ましょう。
$ sudo hdparm -t /dev/mmcblk0p2
/dev/mmcblk0p2:
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 132 MB in 3.03 seconds = 43.54 MB/sec
$ sudo hdparm -t /dev/sda2
/dev/sda2:
Timing buffered disk reads: 926 MB in 3.07 seconds = 302.00 MB/sec
SSDの方が7倍ほどは早くなっているようです。
2019/12/19 hdparm, HDIO_DRIVE_CMD(identify) failed: Invalid argument
Ignore that error. hdparm is designed for HDs and assumes the device will support all of the SCSI/ATA commands such as IDENTIFY DRIVE. The SD interface is completely different and doesn’t have this command so gives that error. It is harmless.