applebootsectコマンド

2016-06-25/2024-11-24

applebootsectはIntelプロセッサ搭載のふるいMacにおいて、レガシーBIOS互換モードで起動可能なWindowsインストールメディアの作成を補助するコマンドです。 このコマンドを実行することで、Windowsインストール用USBフラッシュドライブにBoot Campのブートストラップローダー/ブートローダーを書き込むことができます。

当サイトではmacOS用のapplebootsectコマンドをtarballに固めて配布しています。 applebootsectは、まかないめし的な手抜きプログラムであり、何の保証もありませんが、使ってみたい方は次の手順で入手できます(もちろん、ご利用は自己責任で)。

ターミナルから、curlコマンドを使ってtarball (applebootsect.tar.gz) をダウンロードします。

% curl -O http://zone0.net/jp/2016/applebootsect/applebootsect.tar.gz

ダウンロードしたtarballを展開し、PATHの通っているディレクトリに配置します。 /usr/local/bin ディレクトリに配置する場合のコマンドラインは次の通り。

% sudo mkdir -p /usr/local/bin #展開先が存在しないなら作成する。
% sudo tar zxfv applebootsect.tar.gz -C /usr/local/bin

実行できることを確認します。

% applebootsect -h
usage: applebootsect [-hV] device
  -h     display this help
  -V     display program version
example:
  applebootsect /dev/disk99

動作条件

Mac OS X Lion 10.7.5以降に対応しているハズです。

Startup ManagerからEFI Bootを使ってWindowsnセットアップを起動できない旧式の Intel Mac や、32ビットのWindowsしかサポートしていない古代 Intel Mac での利用を想定して作られています(作者の手元には、もう、32ビットWindowsを起動できるMacがないので十分な動作確認はできていません)。

EFI BootでWindowsインストールメディアから起動可能なMacではapplebootsectコマンドは不要です。

macOS Big Sur 11.7以降の環境ではFAT32フォーマットのWindowsインストールメディアは作成できません(exFATフォーマットの64ビットWindowsインストールメディアは作成可能です。逆にmacOS High Sierra 10.13.6以前の環境ではexFATフォーマットのWindowsインストールメディアは作成できません)。

旧版との違い

拙著『いまさら Boot Camp』で紹介した初期バージョンのapplebootsectでは実行時に2つの引数を与えていました。

$ applebootsect /dev/disk99 /dev/disk99s1

最新のapplebootsectでは処理対象パーティションは自動検出されるので2番目の引数は必要ありません。 また、アクティブパーティションの設定はapplebootsect自身が行うので、fdiskによる設定も不要です。

applebootsectの使い方

ターミナルからapplebootsectを利用して、Windowsインストール用メディアを作成する手順を説明します。

Windowsディスクイメージ(いわゆる)ISOファイルと、FAT32/MBRでフォーマットしたUSBフラッシュドライブを用意します。

% diskutil eraseDisk FAT32 WININSTALL MBR disk99

※この記事の例では書き込み先のUSBフラッシュドライブのデバイスがdisk99となっています。この部分は、実行する環境に合わせて適切に変更してください。

※ディスク内のデータはすべて消えるので、間違ったデバイスファイルを指定しないように注意!

ディスクユーティリティでGUIからメディアを消去する場合は次のように設定します。

レアケースとして、レガシーBIOS互換モードで起動可能な64ビットWindows 10のインストールメディアを作成したい場合はフォーマットをexFATにしてください(EFI Bootが利用できない一部の機種のみ)。

Windows ISOファイルをマウントしそのボリューム内のすべてのファイルをUSBフラッシュドライブにコピーします。

% rsync -rv /Volumes/CCCOMA_X86FRE_JA-JP_DV9/ /Volumes/WININSTALL

※この例ではWindows ISOのボリューム名がCCCOMA_X86FRE_JA-JP_DV9となっています。この部分は、実行する環境に合わせて適切に変更してください。

applebootsectを使って、USBフラッシュドライブを起動可能に設定します。 Unixの特権ユーザ root で作業します。管理者ユーザのまま sudo を使ったコマンドラインを実行しても構いませんが、冗長になるので、この説明ではrootを使います。

# diskutil unmountDisk disk99
# applebootsect /dev/disk99
# diskutil eject disk99

できあがり(Startup Managerに「Windows」と「EFI Boot」の両方が表示される状態になります。EFIファームウェアのバージョンが古いMacだとこれでも「Windows」は表示されませんがブートは可能です)。