pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


MacBook Pro Retina 2012 を macOS Sierra, Windows10, Ubuntu 16.04 LTS のトリプルブートにする(ネタ集めとサマリ)

トリプルブート環境の作成に至った経緯

とある処理を macOS, Windows, Linux で動かした場合の性能を比べてみたくなったのだけど、この3つを同一ハードウェア上で動かせるのは Mac だけ。

そこで mac で環境を作ってみることにしたのです。


とりあえずはネタ集めから。

全体的な話

ほとんどズバリな感じの情報は下記の2つ。ただしこれは4年前の記事なので macOS のバージョンが古いことに注意が必要。
runtl.com
www.lifehacker.jp

Ubuntuに関する話はこちらの記事が参考になります。なお、WiFiドライバのインストールはUSB-LANアダプタがあれば "apt-get install bcmwl-kernel-source" で OK。無ければメディアやリポジトリからダウンロードして入れる。
ottan.xyz

macOSの環境調整に関する話

各種作業用にmacOSのインストールUSBメモリを作っておくと重宝するかも? 自分の場合は command + R や option + command + R の待ち時間が嫌だったので予め作っておいた。
support.apple.com

rEFind を Sierra に導入する話はココに出ているように csrutil disable する必要がある。導入が済んだら csrutil enable を忘れずに。
qiita.com

macOSをキレイに入れ直すには、command + R や option + command + R でいける。
support.apple.com

Windows10 のインストールに関する話

Windodws10のインストールUSBメモリマイクロソフトのサイトで公開されているメディア作成ツールでいける
Windows 10 のダウンロード

なお、Windows10 がインストールできない場合は十中八九、誤ったMBRが作られていることが原因なので、この場合は以下のような操作で MBR を消して GPT だけでパーティションが認識されるようにすればよい。

macのHDDに間違ってMBRを作ってしまった場合は、gdisk で消せる。
note.chiebukuro.yahoo.co.jp

あるいは gdisk を使わない場合は dd でも消せるかも?
blog.goo.ne.jp

Ubuntu のインストールUSBメモリを作る話

UbuntuのインストールUSBメモリ作成にはコレが使えたけど、これはWindows用やな。
Rufus - Create bootable USB drives the easy way


気が向いたらスクリーンショット付きで記事を書き起こしてもよいのだけど、このやり直しは結構時間かかるので、今のところやる気が出ない。

仮想マシン用に Windows10 を調達する

掲題の通りなのですが、仮想マシン用にWindows10を1ライセンスほど追加調達することにしました。

MSDNに入っていればライセンスの範囲内で入れ放題なのですが、今は加入していないのでそういうわけにも行かぬ。

そこで選択肢をイロイロ考えてみることにしました。

思いつく選択肢は主に3つ。

  1. 店頭や通販で販売されているもの(パッケージとかDSPとか)を買う
  2. メディアで普通にインストールしたのち、Microsoft Store で買う
  3. Microsoft以外でダウンロード販売しているサイトで買う

店頭販売なら多分海賊版をつかむ可能性は少ないけれど、通販は怪しいんですよねー。特に Amazon のように同じ商品に対して直販とマーケットプレイスが混在する場合が危ない。だから通販は避ける方向で。

また、Microsoft Store の販売分は案外高い。そこで調べてみると、Amazonダウンロード販売がありました。

調達先 Windows10 Home Windows10 Pro
Microsoft Store 19,008 27,864
Amazonオンラインコード版 16,129 23,552

Microsoft Store の価格に比べて3千円~4千円ほど安い。この価格差は大きいですねえー。というわけで、こちらが Amazon のオンラインコード版の販売ページへのリンク。

しかしそれにしても素の Windows10 を単体で調達すると、案外お高い。Windows10 Pro単体の価格にもうちょっと足せば、こういうたぐいのWindows10 Home搭載 2in1 タブレットが買えてしまうというのはいかがなものか。

RAD Studio/Delphi/C++Builderをインストールするときは、仮想マシン上にインストールした上で、一度アンインストールした状態でスナップショットをとっておくのがおススメ

RADStudio/Delphi/C++Builderのインストールにはアクティベーションの回数に上限があります。インストールとアンインストールを繰り返すと上限に達してしまいます。

このような場合はサポート窓口に連絡して回数のリセットをかけてもらうことになります。しかしサポート窓口は平日日中の対応なので、サポート時間外に上限に達してしまうと何も出来なくなってしまいます。サンデープログラマーが年末年始やゴールデンウィークなどの長期休暇中にこれに出くわすと時間を大幅にロスします。

しかし「仮想マシン上でOSをクリーンインストールしたのち、その環境にRAD Studio/Delphi/C++Builderを最小構成でインストールしてからアンインストールして、その状態をスナップショットにとっておく」と、再インストールしてもインストール回数が加算されないようなので、再インストールを安心して行うことができます。

このようなことが行える理由ですが、実は「RAD Studio/Delphi/C++Builderをアンインストールしても、アクティベートしたライセンス情報はPC内に残っている」ようなのです。だから再インストール時には既存のアクティベーション済みの情報が再利用されるので、アクティベーションサーバ側で管理しているアクティベーション回数が加算されないようです。


これにより以下のような運用が可能となるかと思います。

・万が一、環境が壊れたらスナップショットを戻して再インストールしなおせばよい。
・10.1から10.1.1や10.1.2へのアップデートはアンインストールした上での再インストールが必要だけど、その場合もアンインストールはスナップショットに戻すだけで済み、なおかつそこからの再インストールでもアクティベーション回数が加算されない。
・元のスナップショットからの枝分かれとして、そのライセンスでインストール可能な複数バージョンを混在させることも可能。ただし1つのインスタンスのスナップショットなので同時起動はできない。


なお、この運用には欠点もあります。

仮想マシン用のWindows ライセンスが必要
・スナップショットは仮想マシンのディスクIOの性能を損なう場合がある
・OSの大規模なアップデートがあるとスナップショットからの差分の増大も大きく育つのでストレージが大きく消費される。

しかし、このようなデメリットを差し置いてもライセンスアクティベーション済みの状態でスナップショットを取っておくことはメリットの方が大きいのではと思います。

ます、仮想化するならWindows ライセンスは必須なので、この費用は止むを得ないかと。ただしマルチプラットフォーム向け開発の場合は macOS 上の仮想マシンWindows + RAD Studio をインストールするのが定石ですから、この場合は必要な条件は揃っていますね。

ディスクIOについては、SSD利用とすることで緩和できます。

OSの大規模アップデートについては、これは止むを得ないものと思って諦めるか、元のスナップショットをアップデートした上で、枝分かれのスナップショットも作り直すかのいずれかです。

Pebble TImeのF/W4.3.xが不調なので4.2に戻してみる

Pebble Timeの最新F/Wを使っているとBluetoothが不規則に切れてイライラするので、4.2に戻してみた。

以下はそのときの手順のメモ。

戻し方(iOS向け)

  1. Pebbleを初期化する(きれいな状態で始めたほうがトラブルが少ないと思われるので)。
  2. 初期化中の待ち時間の間にスマホ側のBluetooth設定からPebbleを消す。
  3. 初期化中の待ち時間の間にダウングレードしたいF/WをDropBoxに入れておく。
  4. スマホ側の Pebble アプリと接続しなおす。このときに一旦最新の F/W へのアップデートが走る。
  5. 最新F/Wがインストールされた後の再起動が終わるまで待つ。
  6. Pebbleが再起動したら、DropBoxファームウェアを選択⇒エクスポート⇒別のアプリで開く⇒Pebbleにコピー を実行すると、PebbleアプリでF/Wのインストールが行える。
  7. F/Wのインストールが終わったら、日本語パックを入れる。

F/Wのダウンロードリンクはこちら。

github.com

IISのインストールはPowerShellを使って自動化できる

IISのインストールは PowerShell を使うのが簡単ですねえ。

以下のコマンドは RAD Server 向けの必須機能をインストールするための方法だそうです。もっとも RAD Server は RAD Studio/Delphi/C++Builder のEnterprise以上じゃないと開発できないので、この構成を普段使うことはなさそうだが。

Add-WindowsFeature Web-Server,Web-Mgmt-Console,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content


では設定情報を簡単にインストールするにはどうすればよいかというと、これは xml ファイルをコピーすれば設定の複製が作れるようだ。

IISの設定情報の保存先karuakun.wordpress.com

technet にはこういう説明もあります。
IIS 7.0 コンフィギュレーション リファレンス

Softbank回線のMVNOが登場したら、iPhone用、iPad用、その他ソフトバンク用の3種類のサービスメニューになるのだろうな

Softbank回線のMVNOが登場した時のサービスメニューがどうなるかというと、iPhone用、iPad用、その他のソフトバンク端末向け、の3種類のサービスメニューが必要になるはず。

以前に SoftbankiPad の SIM ロック解除を SIM 下駄で試みた場合に調べた限りでは、ソフトバンクiPhoneiPad 向けの SIM カードは IMSI 番号が以下のように違います。

SIMカード IMSI
SoftbankiPad 4402080
SoftbankiPhone 4402081

このことは以前に書いたこちらの記事に詳しく掲載しています。 pslabo.hatenablog.com

そして iPhone, iPad ともキャリアロックは IMSI 番号ベースで行われているために、相互にSIMを入れ替えても使えないわけです。

また、iPhone/iPad以外のSIMは上記とは異なる IMSI 番号が振られているようです。

ここで、MVNO が顧客ニーズを満たしつつ、もっとも需要が多そうな iPhone/iPad 向けのサービスを提供しようとしたら、少なくとも iPhone 向け、iPad 向けの SIM は別個に出さねばならないはずです。

ここでさらに iPhone 向けにデータ専用、データ+SMS、音声の3種類を提供したり、あるいはiPad向けにデータ専用、データ+SMSを提供するとしたら、とてもカオスな感じになりますね。

日本通信がどういう形でサービス提供を行うのか、非常に気になります。