mac でラズパイ起動用 SD カードや USB メモリをまるごとバックアップする簡単な Python スクリプト

ラズパイで使用している SSD が突然読み込めなくなったので、おおよそ1年前にバックアップしてあったディスクイメージを別の SSD にリストアし、諸々1年分を作り直しました。当然すごく面倒だったので、外付けメディアのバックアップを取る極シンプルな mac 用 Python スクリプトを書きました。ターゲットのデバイスを指定すると、バックアップの後イジェクトまでやってくれます。

いちおう、環境

  • macOS: Sonoma 14.2
  • Python: 3.11.6
  • 追加パッケージ等: 不要

普通にやるならこんな手順

mac に記憶デバイスを接続して一覧を表示、ターゲットとなるデバイス番号を確認、デバイスをアンマウントして、バックアップ開始、終了したらイジェクトして、記憶デバイスを物理的に取り外す、というのが一連の手順になります。Ubuntu がインストールされた 128GB SSD をバックアップしたときの例はこんな感じです ($ 以降が入力するコマンド)。

$ diskutil list external
... 省略 ...
/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *128.0 GB   disk4
   1:             Windows_FAT_32 system-boot             268.4 MB   disk4s1
   2:                      Linux                         127.8 GB   disk4s2
... 省略 ...
$ sudo diskutil unmountDisk /dev/disk4
Password:
Unmount of all volumes on disk4 was successful
$ sudo dd if=/dev/rdisk4 of=RPi3BP_128GB_20231218-1.img bs=6M status=process
127999672320 bytes (128 GB, 119 GiB) copied, 2054 s, 62.3 MB/s
20350+1 records in
20350+1 records out
128035674112 bytes (128 GB, 119 GiB) copied, 2054.98 s, 62.3 MB/s
$ sudo diskutil eject /dev/disk4
Password:
Disk /dev/disk4 ejected

最初のコマンドは接続されている記憶デバイスの一覧を表示するのですが、external を付けて外付けディスクのみ表示させています。複数表示される場合は、表示される SIZE の値を頼りにするか、接続前に一度 diskutil list external を実行し、メディアを接続してから再度 diskutil list external で追加されたメディアの番号を確認します。

dd コマンドの説明:

  • if は、入力ファイルを指定。上の例の /dev/rdisk4 は、シーケンシャルにアクセスされるデバイスを指定しているので、/dev/disk4 とやるより速い
  • of は、出力ファイルを指定。上の例は、コマンドを実行したディレクトリに .img の拡張子を付けて書き出し
  • bs で、一度に処理するブロックサイズを指定。m1 mac mini (16GB RAM) でいくつか値を変えてテストした結果、6M (6メガバイト) が一番安定して速い速度で処理できた
  • status=process を付けると、実行中に進捗状況が表示される

mac 専用 Python スクリプト (とは言ってもほぼシステムコマンドを逐次実行)

import subprocess
import sys
import os
from datetime import datetime

if not os.getuid()==0:
    sys.exit(">> 管理者権限が必要です。'sudo python3 clibackup.py' の形式で再度実行し、パスワードを入力してください。")

subprocess.run(["diskutil", "list", "external"])
dnum = input(">> バックアップする記憶デバイスの番号を数字で入力してください('q' を入力すると終了)。\n>> (例: /dev/disk9 の場合は 9 を入力)\n>> /dev/disk?: ")
if dnum == 'q':
    print('終了しました。')
    sys.exit()
print(f">> ターゲット /dev/disk{dnum} をマウント解除します。")
subprocess.run(["diskutil", "umountDisk", "/dev/rdisk"+dnum])

timestamp = datetime.now().strftime("%Y%m%d%H%M")
#cmd = ["dd", "if=/dev/rdisk"+dnum, f"of=/Volumes/External HDD/SD_Card_Backup/backup_{timestamp}.img", "bs=6M", "status=progress"]
cmd = ["dd", "if=/dev/rdisk"+dnum, f"of=backup_{timestamp}.img", "bs=6M", "status=progress"]

print("\n>> 以下のコマンドを実行してバックアップします:")
for i in range(len(cmd)):
    print(cmd[i], end = " ")
print("\n")

process = subprocess.run(cmd)

print(f"\n>> バックアップが完了しました。デバイス /dev/disk{dnum} をイジェクトします。")
subprocess.run(["diskutil", "eject", "/dev/disk"+dnum])

保存先ディレクトリを指定する場合は、18行目の様に of= の後にパスを入れてください。ダブルクォーテーションでくくってあるので、スペースがあってもエスケープは不要です。作られるディスクイメージのファイル名は、年月日時分を含んだ backup_YYYYmmddHHMM.img になります。実行時の「分」までファイル名に含めているため、既存のファイルを上書きすることは無いでしょう。エラー処理の一切はしていないのであしからず。

使い方

sudo python3 clibackup.py で実行します (sudo を忘れると、メッセージを表示して終了します)。パスワードを入力すると、マウントされている外付け記憶デバイスの一覧が表示されるので、バックアップしたい USB ドライブなり SD カードなりのディスク番号を入力するとバックアップがスタートします。もし対象がわからない場合、一度接続していない状態で本スクリプトを実行し q で終了、その後メディアを接続して再度スクリプトを実行すると、前回は表示されていなかった /dev/disk があるはずなので、その番号を指定します。バックアップが完了すると自動でメディアをイジェクトするので、そのまま mac から取り外してかまいません。

実行例

Raspbian が入った 16GB の micro SD カード (SanDisk Ultra Class 10 A1 MicroSD HC I) を、mac mini の内蔵 SSD にバックアップしたときの実行例です。速度は 34MB/s、大体 8分ほどで完了しています。使用する記憶デバイスや接続の仕方次第で速度は結構違います (本記事頭で使用している SSD は、62.3MB/s)。自分は 2つのパーティションに分けた外付け 4TB HDD があるので、/dev/disk6~8 も表示されていますが、これらも環境によって変わります。

% sudo python clibackup.py 
Password:
/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk4
   1:             Windows_FAT_16 RECOVERY                1.7 GB     disk4s1
   2:                      Linux                         33.6 MB    disk4s5
   3:             Windows_FAT_32 boot                    72.4 MB    disk4s6
   4:                      Linux                         14.1 GB    disk4s7

/dev/disk6 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *4.0 TB     disk6
   1:                 Apple_APFS Container disk8         2.0 TB     disk6s1
   2:                 Apple_APFS Container disk7         2.0 TB     disk6s2

/dev/disk7 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +2.0 TB     disk7
                                 Physical Store disk6s2
   1:                APFS Volume External HDD            1.4 TB     disk7s1

/dev/disk8 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +2.0 TB     disk8
                                 Physical Store disk6s1
   1:                APFS Volume handsome's mac mini...  673.7 GB   disk8s1
   2:                APFS Volume Buffalo HDD             1.0 TB     disk8s2

>> バックアップする記憶デバイスの番号を数字で入力してください('q' を入力すると終了)。
>> (例: /dev/disk9 の場合は 9 を入力)
>> /dev/disk?: 4
>> ターゲット /dev/disk4 をマウント解除します。
Unmount of all volumes on disk4 was successful

>> 以下のコマンドを実行してバックアップします:
dd if=/dev/rdisk4 of=backup_202312231503.img bs=6M status=progress 

  15904800768 bytes (16 GB, 15 GiB) transferred 474.073s, 34 MB/s   
2532+1 records in
2532+1 records out
15931539456 bytes transferred in 474.873141 secs (33549043 bytes/sec)

>> バックアップが完了しました。デバイス /dev/disk4 をイジェクトします。
Disk /dev/disk4 ejected

記憶デバイスへの書き込み

スクリプトを書いていないので、手動でいくつかコマンドを打ってください。手順は本記事最初のサンプルと同様ですが、入出力が逆になります。dd コマンドでは、if= (入力ファイル) にディスクイメージ、of= (出力ファイル) に USB や SD カードなどの /dev/rdiskディスク番号 を指定します。出力先を間違うと取り返しがつかないことになり得るので、注意してください (サンプル通りに実行して大事なデータが消えてしまっても当方では責任とれません)。以下は、/dev/disk4 に SD カードがマウントされているときの例です。メディアを抜いた状態で diskutil list external を一度実行し、メディアをさしてから再度実行すれば、増えた /dev/disk が該当の記憶デバイスになります。

(記憶デバイスを接続していない状態で実行)
$ diskutil list external

(記憶デバイスを接続して再度実行)
$ diskutil list external
... 省略 ...
/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk4
   1:             Windows_FAT_16 RECOVERY                1.7 GB     disk4s1
   2:                      Linux                         33.6 MB    disk4s5
   3:             Windows_FAT_32 boot                    72.4 MB    disk4s6
   4:                      Linux                         14.1 GB    disk4s7
... 省略 ...
$ sudo diskutil unmountDisk /dev/disk4
Password:
Unmount of all volumes on disk4 was successful
$ sudo dd if=backup_202312231503.img of=/dev/rdisk4 bs=6M status=process

Image by Stable Diffusion

Date:
2023年12月23日 16:42:10

Model:
fruity-mix_split-einsum_compiled

Size:
512 x 512

Include in Image:
comicbook-style, cloned sheep standing side by side

Exclude from Image:

Seed:
3723203146

Steps:
25

Guidance Scale:
20.0

Scheduler:
DPM-Solver++

ML Compute Unit:
CPU & Neural Engine

Intel iMac から M1 Mac mini へ移行した記録 (読み物編)

娘のパソコンを iMac (Retina 4K, 21.5-inch, Late 2015) から Mac mini (M1, 2020) にしました。スペックや実際の移行方法など難しい話は別記事にします。こちらでは、読み物的な内容をまとめています。パソコン初心者 (自分の親や子供) にパソコンを買ってあげる、自分のパソコンの知識に自信は無いがなんか満足度が高いのが欲しい、昔から Mac っていいよなーって思っている、そんな方に読んでもらえるように書きました。

子供の iMac がくたびれてきた

小学生の娘は妻のお下がりの iMac を使っていたのですが、さすがに 6年も使っているとモニタの色味がおかしくなってきました。特に左右の端がピンクがかってきて、これは良くないな、と。娘が、新しいパソコンを買ってもらった友達と比べて自分のマイクラ動画はカクカクしている、とこぼすこともよく聞くように。さらに言えば、最近はなぜか Time Machine も上手にバックアップをとれなくなってきたし、Fusion Drive も単品 SSD と比較したらやっぱり遅い。そろそろ替え時かな、という思いが自分の中で大きくなってきました。

これまでは年代物で親のお古の Mac を 2台使わせていましたが、実際のところ一日の中で Mac を使う時間は家族で一番長いのです。主な用途のイラスト描きや YouTube 視聴は問題無いものの、マイクラにシェーダーやリソースパックを入れて Replay Mod で記録しながら QuickTime で録画するとか、編集した動画を書き出すとか、実は親よりもパソコンの性能を要求する使い方をしているのも事実。誕生日まで 3ヶ月ほどあるものの、安く手に入れられればそのタイミングで新しい Mac を買い与えることにしました。

Windows PC にしなかった理由

初期の動画は iMove を使っていた娘ですが、無料で高機能な DaVinci Resolve を少しかじり、現在はゆっくりムービーメーカー4 で YouTube 動画を作っています。同アプリは Windows 10 & 11 用のフリーウェアで、有料アプリの Paralles Desktop バージョン 16 に Windows 10 Home 環境を作り、その上で動作させています。他にもいくつか Windows 専用アプリを使用しているため、移行先も Windows が動くコンピュータである必要があります。娘の仲の良いお友達はみんな Windows PC ユーザです。親であるボクは完全 Windows 環境の会社の IT マネージャをやっているので、Windows PC という選択肢も無いわけでは無い。しかしそうしませんでした。いくつかある理由の一つは、娘が Windows OS の見た目をダサいと思っていて、macOS の方が良いと思っていたから。そしてもう一つは、娘以上にボクがそう思っているから。と、まぁダサいナウいの話は置いておいても、あまたある Windows PC の筐体やスペック、価格、サポート体制、評判などを調べ上げて最適なものを選定し、導入後は自宅でも Windows PC のサポートをしなければならなくなる、ということを考えると全く気分が乗らなかったからです。そんな自分を正当化するために、2週間ほどは Intel PC vs M1 Mac 的な YouTube を見まくりました。そして、性能、価格、発熱量、先進性などという要素を元に、Apple Silicon (M1 チップ) 搭載 Mac が最適であるという結論に至ったのです。Parallels Dekstop は早々に M1 チップ対応を謳っていましたし、逆に Windows で Mac 用アプリを動かすソリューションは知りません。

Parallels サイトより。確かに。

Mac mini M1 にした理由

Windows アプリを使用するための互換性から Intel Mac も考えなかったわけでは無いですが、Apple のラインナップからなくなることがわかっている製品を購入するよりも、これから各メーカさん・開発会社さん・OSS 開発者さん達による対応が進んでいくであろう M1 チップを搭載したコンピュータを子供に与えることに、何らかの意味があるように思えました。またちょうどこの頃 (2022年 2月)、Apple が近々発表する新製品の噂が各方面で記事にされていました。話半分で探ってみたところ、どうやらパワフルなものが中心になりそうで、Mac mini M1 がモデルチェンジしそうな感じもありません。歴代 Mac mini もモデルチェンジのが頻度が低かったですし、新機種登場による値下がりも期待薄です。また、娘は液晶タブレットを使ってイラストを描いているため、Macbook Air や Pro ではメインモニタが小さくて不便です (使っていた iMac は 21.5 インチ)。小学生なので持ち運んでドヤることもありません。こういった事から、本体は Mac mini M1 搭載モデルで決定しました。…といいつつ、当初は iMac M1 を第一候補として USB ポートのやりくりや設置場所の検討をしていました。娘が選ぶのは紫かな、水色かな、なんて思いながら必要な機器の金額を足していくと、どうしてもトータルが 27万円を超えることに。さすがにその金額はきびしいぞ、と。で、必要なハードウェア構成を考えてみると、キーボードとマウスは持っているし、使用中の iMac の 21.5インチ Retina 4K モニタは解像度を半分にしているので高解像度は必要ない。音は常にヘッドフォンで聴いているし、調べてみると Vtube 系アプリの顔認識には 720p のウェブカメラで十分らしい。さらに、会社の福利厚生の一環であるベネフィット・ステーションの Apple Store 割引は iMac M1 には使えないが、Mac mini M1 は対象ということが判明 (Apple Store に電話して聞きました)。ボクが使っている Dell の QHD 解像度モニタ なら 3万円台なので、トータルで 20万円かからない。ということもあり、Mac mini M1 となった次第です。

細かいことを知りたい人へ

もうちょっと細かいスペックも書いておくと、メモリは 16GB にしています。Parallels で Windows も走らせるので、16GB は必須です。SSD (ストレージ) は 1TB にしました。2TB は高すぎるし、動画を多く作る娘の用途では 512GB じゃ小さすぎます。安い外付けの SSD を追加するという使い方はある程度のコンピュータに関するリテラシや整理整頓スキルが要求されるので、現段階の娘には若干ハードルが高く、サポート (ボク自身の稼働) の頻度を下げるためにも 1TB としました。本体とは別になりますが、Time Machine によるバックアップ用に 2TB の外付け HDD を接続しています。コンピュータに詳しくない人がトラブルに遭う頻度と遭ってしまったときの損失を下げるための投資ですね。同じような理由で、キーボードとマウスも USB の有線接続です。原因不明の周辺機器認識しない問題に時間をとられないためには、有線接続の機器をお勧めします。

使用アプリの互換性を確認する

パソコンを新しくすると決めてから、娘が普段使ってるアプリの情報をもらいました。中身としては、ゲーム、イラスト関連、動画編集関連がほとんどで、Mac と Windows それぞれで使用しています。今の時代 Mac 専用のアプリは Apple 謹製のものくらいで、上でも書いた『ゆっくりムービーメーカー4』のような個人開発のアプリ (フリーウェア) や、大作ゲームはほぼ Windows 専用です。Mac 用アプリの動作状況を調べたところ、M1 チップに最適化されたもの、Intel 用に作られたものを M1 でエミュレーションして動作させるものの他、全く動かないものもあるということがわかりました。動かないものは 2つで、マイクラをリモートで一緒に遊ぶために使用していた VPN ソフトの Hamachi と、Mac から発せられる音とマイクから入力する音を同時に録音するために使用していた Sound Flower というツールでした。それぞれ代わりになるツールの存在が確認できたのでよしとし、実際に新しい Mac を購入してからインストールすることにします。

目的の再確認

今更ながら今回のプロジェクトの目的は、Mac 用マイクラ Java版をなめらかに動かすということにつきます。それ以外は親の都合やエゴと言って差し支えありません。で、肝心のマイクラ (正式名称: MINECRAFT JAVA EDITION) は M1 に対応しているのかというと…、未対応でした。確かに自分の Mac mini M1 で実行すると、Intel 用アプリとして動作しています。しかし調べてみると、MultiMC というランチャーを使い、Arm 用の Java を使用することで M1 ネイティブ動作させられることがわかりました。マイクラは Java という実行環境で動作するアプリのため、M1 用の Java で実行すれば良い、ということです。導入方法などの詳細は別記事にしようと思いますが、マイクラがぬるぬる動くということがわかったので、M1 搭載 Mac という選択肢は揺るぎないものになりました。その他のアプリ含め、動作状況は以下の通りです。

アプリ用途対応状況メモ
Minecraft Java Editionゲーム、建築、友達とマルチプレイ、YouTube 動画のネタ公式のままだと Intel のみ。MultiMC と macOS Arm 版 Java の利用でネイティブ有料。公式をダウンロードして遊んでも、全然大丈夫だが、M1 の恩恵は小さい
MultiMCマイクラを M1 ネイティブで動作させるM1 ネイティブ無料。これまで作ってきたマップや Mod、シェーダ (影 mod) も動く。設定はやや面倒
Robloxゲーム、友達と遊ぶ、チャット、動画のネタIntel無料。実際に試したが、十分遊べる
QuickTime Player画面収録 (録画)M1 ネイティブ無料。そりゃあ Apple 謹製ですから。macOS に同梱
OBS画面収録 (録画)まだ Intel無料。M1 対応版も開発中
Clip Studio Paint Pro (クリスタ)イラストM1 ネイティブ有料。amazon で購入
Live 2D Cubism Editor2D のイラストを Vtube アプリで動かせるようにするIntel無料版もありますが機能が限定的なため、我が家では学割を利用。小学生も在籍証明書を学校から発行してもらえば学割が利用できる
Parallels Desktop 16Windows を実行M1 ネイティブ (バージョン 16 以上)有料。ちょいちょいやってるセールがお勧め
Hamachiマイクラなどを友達と接続動作せず無料。VPN を簡単に構築できるソフト
ZeroTier同上M1 ネイティブ無料。オープンソース。Hamachi の置き換えに
Sound FlowerMac とマイクの同時録音のため動作せず無料。地声での実況系動画には必須だった
BlackHole同上M1 ネイティブ無料だがダウンロードには登録が必要。SoundFlower の置き換えに
Ladio CastMac とマイクの同時録音Intel無料。BlackHole と併せて使うことで、複数の音声入力を一つの出力先にまとめられる
Zoom友達との遠隔マルチプレイ中の音声チャット (映像も)M1 ネイティブ無料でも使える。1対1なら時間無制限。複数接続なら 1時間限定
Norton360アンチウィルス、統合セキュリティIntel有料。マイクラダウンロードサイトは怪しいところもあり、アンチウィルス系ソフトは必須
Wacom driver液晶タブレット Cintiq 13HD を使えるようにするM1 ネイティブ無料。妻が 1年ほど前に試したときは動きませんでしたが、今は大丈夫
Steamゲーム、Vtuber 的利用の FaceRigよくわからんSteam 自体は無料。FaceRig の必要性が無くたったため詳しく調べていない
KalidofaceLive 2D で作ったアバターをカメラから表情認識して動かすブラウザ依存?無料のウェブサービス。まばたきや顔の向きに合わせて動かすことができる
ffmpegマイクラの Replay Mod の録画をムービーとして書き出すM1 ネイティブ無料。Xcode と homebrew のインストールが必要

Windows 10 か Windows 11 か。Insider Preview しか選択肢は無いのか

Windows で絶対に動作させたいアプリは、ゆっくりムービーメーカー4とマイクラ統合版です。そのために動員する手持ちの有料アプリ (と OS) は、Parallels Desktop 16、Windows 10 Home、Minecraft Java 版、Minecraft Windows 統合版。できれば追加投資無しで、全てを使いたい。調べた結果は以下となりました。結論としては、Parallels Desktop は、バージョン 16を持っていればアップグレードの必要は無く、Windows は 11 Home の通常版をインストールでき、Windows 10 Home のキーでアクティベーションでき、マイクラ Java 版以外の使いたいアプリは動くことが確認できました。以下はそのまとめです。

アプリ用途対応状況メモ
Parallels Desktop 16Windows を実行M1 ネイティブ (バージョン 16 以上)ちょいちょいやってるセールがお勧め
Windows 10 HomeWindows アプリを実行マイクロソフトによる Arm 版 Windows 10 の提供が停止される←は Parallels のこちらを参照
Windows 11 HomeWindows アプリを実行Inside Preview だけじゃ無く、通常版も Parallels にインストールできる手持ちの Windows 10 Home のライセンスキーが使えるので追加投資不要
Minecraft Java 版Windows 専用 Mod を実行テストした限り、動かず…MultiMC で Arm 版 Windows 用 Java を使えばもしかして?
Minecraft 統合版Switch 版などとも遊べるArm 版が Microsoft Store からインストールして遊べた娘はマウスの動きが速すぎると言って、Windows とアプリ両方でマウスの感度を下げていました
ゆっくりムービーメーカー4YouTube 動画の作成Arm 版 Windows 11 で動いたArm 版 Win 10 での動作報告はいくつかありますが、Win 11 でも動作しました
UTAUボーカロイド的に音声合成で歌わせるArm 版 Windows 11 で動いた特に速くはなっていない感じ

Windows アプリの動作確認には M1 アプリ対応の確認よりも時間がかかりました。理由の一つは、日本のフリーウェアを M1 Mac + Parallels Desktop で動作させているような人の絶対数がそもそも少ないということ。情報が無いので、試してみるしか無い。それともう一つは、Arm 版 Windows 10 では x64 エミュレーションが行えなくなるような記事が見つかったことに起因します (ソースはこのあたり)。これはつまり、Arm 版 Windows 10 では Intel (x86 や x64) アプリが動かなくなるということです。マイクロソフトさんはその対応策として、Windows 11 へのアップグレードを推奨、ですって。さらにこちらの情報では Arm 版 Windows 10 の提供が停止されると言うことで、どのみち Windows 11 にする必要があるみたいでした。Windows エコシステムの良さは、古いアプリが新しい OS でもそのまま動くというところにあるとはいえ、Windows 11 の、しかも Arm 版でこれまでのアプリが動くのか。これは試してみないとわかりませんでした。結果は上の表の通り。マイクラ Java 版は Mac で使えるのでヨシということで娘には納得してもらいました。

アウトかグレーか半分か

ところで、Windows 11 と M1 Mac という点で調査を進めたところ面白いことがわかりました。おおっぴらにそのことに触れている大手メディア系サイトでは見つけられませんでしたが、通常版として使える Windows 11UUP dump というサイト手に入るのです。しかも Windows 10 の同じエディションのキーで本当の Windows としてアクティベーションできる。Parallels Desktop のインストール手順ページ含め大手のメディアでは Insider Preview 版 (要するに評価版) の Windows 11 をインストールできますよーとは表記していますが、評価版を娘に使わせ続けるのはトラブルがありそうで不安です。しかし通常版が使えるのであれば安心感は大きく向上します。UUP dump では海賊版の OS を配布しているわけでは無く、Microsoft 社が過去に公開したイメージをダウンロードし、インストール可能な ISO や VHDX 形式に変換するツールを提供しているので安心感があります。さらに、ボクと娘が持っている Parallels Desktop のバージョンは一つ前の 16 なのですが、16.5 以上であれば Windows 11 のインストールもできると。極めつけに、Yahoo ストアでは、Windows 10 や 11 のアクティベーションキーが数百円で買えることもわかりました。さすがに普通に amazon で買うと 1万円以上する OS が、メディア無しで文字列だけのアクティベーションキーまたはオンラインコードだけになったからと言って数百円になるというのはグレーかアウトか判断できません。不安な方は避けた方がいいと思います。ボクはというと、自己責任、怖いもの見たさ、ダメもと、人柱上等で 500円ほどの Windows 11 Home のキーを買ってみました。結果、Windows 11 のアクティベーションはできて、一ヶ月以上使えています。このあたりは覚悟のある方のみ試されたらいいと思います。

さて、やっと買う直前のフェーズに移行。とにかく安くしたい

使いたいアプリは M1 Mac でも、その上で動く Windows でも動作すると言うことが確認できたので、後は Mac 含めたハードウェアを安くという段階に入りました。Mac 以外に必須なのは、モニタ、キーボード、マウス、さらに我が家では web カメラとなります。特にこだわらない限り Mac 以外で高価なのはモニタですので、ここを安く抑えることがキーになります。だからといって値段だけで判断すると、品質や使い勝手で不満が出て、結局はより良いものを買い直すことになったりする危険もあるので、良い製品を安く買うということが重要になります。我が家では機能と価格のバランスが高い Dell モニタにすることにしました。ボクと同じモデルを探したのですが販売終了となっており、純粋な後継機はありません。QHD (解像度 2560×1440) で画面サイズは 23〜27インチ、USB Type-C 接続ができ、USB ハブとしても使える機種で探したところ、S2722DC が見つかりました。M1 Mac シリーズは USB ポートの少なさがネックなので、モニタがハブになっていくつかの USB 機器をつなげられるというのはコストカットになります。ボクの P2421DC と比較すると、解像度は同じなのに画面サイズが大きく、USB ハブとして使えるポートが 2つに減っていましたが、設置面積に問題は無く、評価を見るとP2421DC で問題のあった USB ハブ機能を使うためにケーブルの抜き差しが必要という問題も解消されているようで、こちらに決定です。Dell 製品は、納期に納得できれば直販サイトの価格が一番安いことが多いです (ビジネス向けしかり)。3月後半現在の価格は 46,536円になってしまっていますが、ボクは Dell 直販 20% オフの 34,110 円で購入し、納期は 2週間でした。同時期の amazon の価格は、2,000円割引が効いても 38,426円。プライムセールでも変化無しでした。ネットにはもっと安く買えたという情報もありますが、今は半導体不足による品不足や納期問題もあるようですし、35,000円程度で購入できれば十分いいところでしょう。間違って他のモデルを買ってしまわないよう、常にブラウザの左端のタブにページを開いておきました。

割引の効率

さて、最重要アイテムであり、最も高価でその分割引効果が一番大きいのはなんと言っても Mac mini M1 です。もちろんこれを買わなければ意味がありません。で、ベネフィット・ステーションの 3% 割引を使おうと思いつつ数日情報収集していたところ、とある方が YouTube で整備済製品の Mac mini を購入したとおっしゃっているのを聞きました。スペックはボクが選定した構成そのものです。これは盲点でした。amazon 含め、Apple Store 以外のショップではいわゆる吊るしモデルしか手に入らないのが普通です (「吊し、つるし」とはハンガーにつるされた洋服を買うように、自分好みにカスタマイズしない既製品を言います)。ボクはこれまで何年も、メモリやストレージのサイズを変更し、キーボードを US 配列にするというカスタマイズをしていたので Mac を整備済製品で入手するという考えに至りませんでしたが、確かに整備済製品は吊しとは違います (詳細は Apple 社のページ参照)。16GB メモリで 1TB の Mac mini M1 の筐体に傷が付いていたら、筐体だけ交換して販売されることもあるでしょう。というわけでその日から、日に数回 Mac整備済製品ページを覗きに行く日々が続きました。最初の頃は黒い Intel Mac mini や Intel Macbook Pro の大きな液晶モデルが現れては消えてという状況です。果たして娘の誕生日までに現れるのか、ま、最悪ベネフィット・ステーションもあるし、なんて思いながら 2週間ほど経ったある日の夕方、突然 iMac M1 が大量に現れました。多分全ての構成がそろっていて、カラーもいろいろ。もちろん 16GB メモリ 1TB SSD という構成のものもあり、パープルは無いけどブルーがある。じっくり見るとブルーの方が娘の好みに近い。キーボードは何が付いてるかわからないけど、どうせ今使っているものを使い続けるからどっちでもええわ。うーん、これ明日の朝には全部無くなってるかもしらん。今頃嗅覚の鋭い人たちや独立系メディアは祭りをやってるな。世の中がスペックやカラーに目移りしている間に絞り込みがほぼ終わっているオレがこのレースを制してやるぜ!

そして購入へ

整備済製品ページで iMac を見つけた時間に救われました。しらふの状態で十分冷静に検討することができたので。安くなっているとはいえ iMac M1 は 20万円を超えており、液晶タブレットを HDMI 接続するにはプラス 8千円ほどのアダプタも必要になります。キーボードなど、娘の用途には不要なものが多くその分高い。突然の出会いに胸が躍ったのは確かでしたが、見送ることにしました。我が家に向かい入れることはできない。その後 3日ほどかけて徐々に iMac は新しいユーザに買われて行きました。ひょっとしたら、いっせいに咲いた綺麗な花が徐々に枯れていくようだったかもしれません。しかしボクには確信めいた予感がありました。次に整備工場から出てくるのは Mac mini M1 に違いないという予感が…。

もったいぶりました

結果、狙ったとおりの Mac mini M1 16GB 1TB をポチれたのは、その数日後のことでした。確定するまで間違いが無いように何度もスペックを見直したのでずいぶん時間がかかりましたが、その間に売り切れることも無く、無事購入することができました。その流れで Dell のモニタを直販サイトでポチり、amazon ではお手頃な web カメラと念のための USB ハブをポチり、怒濤の勢いで購入作業を終わらせました。満足感と充実感。勝った感とやりきった感。Mac のリプレイスを決断してから 1ヶ月以上かかったと思いますが、機種の選定から購入までの一連のアクションがここに完結しました。

感想という体裁の余計な話

実際にモノが届いて接続したり、アプリのインストールや動作テストやデータの移行をしたり、そのつど娘の反応を見たり、というのがこの先続くわけですが、それら技術的にもまーまー細かい話は別の記事にまとめようと思います。なので、購入までの感想を書いてこちらの記事は終わりにします。

良かったこと

娘が親のおさがりじゃ無い現行の Mac を手に入れてからまだ 1ヶ月もたっていないのですが、忖度されないように極力さりげなく感想を聞いてみると「マイクラにキレイな影 Mod とリソースパック入れて録画してもぬるぬる動くようになったから最高」という反応が返ってきて安心しました。使う本人が最優先と思いながらも、実際は親の都合や趣味が多分に含まれたチョイスになっているわけで、娘が望んでいたことが実現できたのは素直にうれしい気持ちです。当初 Mac か Windows かで調査した時は、M1 がいくら速いと言ったって上位モデルの Intel/AMD CPU に性能はかなわないし、そもそもゲームが全然無いじゃないか、という趣旨の情報を多く目にしました。多くの Windows 専用アプリは Parallels で動くのですが、ハードウェアを酷使するゲームは動かないか、動いてもカクカクで遊べたものじゃ無いということです。ま、それはそうなんでしょうが、ファミコン世代・8 bit パソコン世代のボクにしてみれば、ゲームはゲーム機で遊ぶものであり、パソコンは何かを作る、実現するモノなんです。娘もゲームにはそれほど執着していないので問題ありませんでした。むしろ今後ゲームに傾倒することがあるとしても、Mac に向かっている間はゲームばかりにはならないということでもあり、クリエイティビティを伸ばしていきたい親としては好都合です。自分との違いも感じました。女の子だからなのかコンピュータのアーキテクチャやプログラミングに対する興味はおろか、カスタマイズして使いこなしたいという欲求も無く、最新の M1 チップ搭載!ということは娘には全く価値がないようです。でも、単に速いだけのパソコンというのとは違う、未来に期待できる M1 Mac を早い段階で与えられたことは、彼女のステキな未来に役立ってくれそうな、そんなワクワク感もボクに与えてくれています。ジョブズがこの世を去り、アイブは会社を去りましたが、M1 を始めとした Apple Silicon は、Apple 製品やコンピュータの世界を楽しいものにしてくれました。

結局どっちを勧めるか

お子さんをプロゲーマにさせてあげたい、ゲーム実況のスキルを伸ばしてあげたい、一緒に PC ゲームをしたい、という方は Windows の走る、Intel/AMD 搭載ゲーミング PC がいいと思います。もしそうではなく、上に書いた感想に共感できる方には、M1 を搭載したどれかの Mac をお勧めします。入門者向けには安いモデルでいいでしょう。まさに Mac mini は最適です。Macbook Air や Pro、iMac といった一体型は、液晶が壊れたら全て修理でその間は使えません。Mac mini なら本体さえ壊れなければ、その場しのぎの液晶モニタを買ってでも使い続けることができます。逆に、主な用途が変わればモニタだけ良いものに変えるだけで環境をアップグレードできるのです。モヤモヤするなら今日から整備済製品ページに足繁く通いましょう。

これも言っておきたい

最後に毒をひとつ。知らない情報や自分の想定を裏付ける・もしくは間違いだとわからせてくれる情報をブログや YouTube で入手しようと結構な時間を使いましたが、クソのような情報の多さに閉口しました。どこかから持ってきた情報を切り貼りして、スカスカの文章のあげくに「いかがでしたか」とまとめるフォーマットが多いですがその中には、ボクの記事をほぼ丸パクリしたものさえありました。日本の社会や人付き合いになじめず、ブログや YouTube で生活費を稼いで自立できたという人達には素直に良かったねという思いはあります。しかし、生活費を稼ぐためだけのペラッペラのクソ記事に自分の貴重な時間を使うことには納得できません。量産型クソブロガーや超薄型 YouTuber によってインターネットがウ○コ地帯になることはガマンなりません。少しでも多くのお父さんお母さんおばあちゃんおじいちゃんお姉ちゃんお兄ちゃんには、この世を、インターネットをより良いものにしていってくれる若い世代の育成にご尽力いただけたらと切に願うしだいでございます。また、日本語のソースだけでは偏りがあり、欲しいものにたどり着けない可能性が高いです。痛感しました。正しい判断をするには十分な情報が必要です。英語で、少なくとも読み書きができるスキルは必須であると思って間違いありません。TOEIC なら 750点程度です。苦手とか言っていたら世界から置いて行かれます。愛する人もしくは愛したい人がいるなら、とにかく英語スキルを磨いていきましょう。マイクラの mod や配布マップを導入するにも、英語は必須なのです。

ここまでお読みいただきありがとうございました。あなたの、そして未来を作る誰かのお役に立てたら幸いです。

Mac mini (M1, 2020) で Dell モニタの USB ポートが使えない、画面が表示されない時のワークアラウンド

Dell モニタに 20cm の USB-C の延長ケーブルを接続

Mac mini (M1, 2020) を購入した

いろんな方がレビューしてるように、パフォーマンスは素晴らしいです。アプリケーションも、Intel CPU 用機能拡張や VPN (具体的には LogMeIn HAMACHI) などシステムの深いところに食い込んだものは動かないケースが多いようですが、それ以外は概ね想定通りで、すごく満足しています。各デベロッパの対応も早く、毎週のようにサポートされるアプリケーションが増えるのを見られるのも楽しいですね。

Dell モニタの画面が映らない、USB ポートが使えない

しかし、メインで使用している Dell のモニタ P2421DC に USB-C で接続しながら同モニタの USB ポートをハブとして使用するにはコツがいることがわかりました。モニタに電源が入っている状態で Mac mini を起動すると、USB ハブにつながったキーボードから入力できないのです。映像は出力されています。Dell Latitude 5310 や XPS では当然全く発生しません。あまり気にしていませんでしたが、そういえば MacBook Air (Retina, 13-inch, 2019) でも USB-C ケーブルを抜き差ししていたことがあるので、Mac 起動時の USB 機器の接続フローと Dell モニタ側のそれがミスマッチしているように思えます。

ともあれ、日本語ではあまり同様の症状や解決策が無いようなので、投稿しておきます。

環境:

不具合の内容:

macOS 起動後、UCB-C ケーブルで接続された メインモニタのポート USB 3.0 x2 (側面)、USB 2.0 x2 (背面) に接続した機器を認識しない。キーボードやマウスからの入力も、iPad 等への給電も行えない。

下記ワークアラウンドを実行し、キーボードやマウスが使えるようになった後も、スクリーンロックしてしばらくした後にログイン使用とすると、キーボードからパスワードの入力はできるが画面がメインモニタに表示されないこともある。

不具合の再現方法:

モニタの電源が入っている (スタンバイ) 状態 で、Mac mini の電源を投入する。macOS 起動途中から画面は表示されるが、USB 機器は使用できない。

対処方法・ワークアラウンド:

Mac の起動前にできること:

Mac の電源を入れる前に、モニタの電源を切っておく。ボクの場合は HDMI 接続のモニタもあるため、そちらでパスワード入力画面が表示されてからメインモニタの電源を入れる。ごめんなさい、テストしているときはこの方法が有効だった (と少なくとも思う) のですが、最近はなぜか全くうまくいきません。以下をお試しください。

Mac の起動後にできること:

モニタとつながっている USB-C ケーブルを抜き差しします。OS が起動してしまった後では、モニタの電源 off/on では接続されません。Mac mini 背面からケーブルを抜き、モニタがスタンバイ状態に戻ったら再接続します。

ボクは少しでも簡単にケーブルの抜き差しができるようにと、USB 3.1 Gen2 規格に対応した延長ケーブルを amazon で購入しました。本投稿トップの画像のように、モニタ側にこのケーブルを挿し、画面に表示されなかったりキーボードが効かないときに矢印の部分を抜き差ししています。スイッチ付きの USB-C ケーブルを探したが信頼できそうな (Thunderbolt として使えそうな) ものが見つかりませんでした。Mac mini 本体のポートへのケーブル抜き差しに抵抗がある、設置場所的に無理という方はこちらをお勧めします。

今後の展望:

Intel チップの MacBook Air (macOS 10.15 Catalina -> 11.1 Big Sur) でも発生しますが、本体のキーボードでログインはできるし、USB-C ケーブルの抜き差しもたいした手間じゃ無い、ということであまり気にしていませんでした。設置場所によっては Mac mini のケーブル抜き差しは面倒なので、当面は Dell のモニタの電源を切る癖を付けるしかなさそう。Dell は2021年初頭までにMacバージョンのDell Display Managerを提供する (引用元) と言っているで、近い将来解決してくれると願いたいです。

© Peddals.com