Manhattan Island, N.Y.C.


Date/Time: 2006:08:05 19:12:09
Camera: FUJIFILM
Model: FinePix F401
Exporsure Time: 1/420
FNumber: 7.0
Aperture Value: 5.6
Focal Length: 5.7

Close

y2blog » iMacのFusion Driveを探ってみた(その4)

1

14

2013

iMacのFusion Driveを探ってみた(その4)

マルチパーティション構成のFusion Drive作成に挑戦(続き)


前の記事で diskutil コマンドを用いてFusion Driveの論理ボリュームの削除方法を簡単に紹介したが、今回はFusion Driveのパーティション構成を変更してシングルボリューム構成からマルチボリューム(パーティション)構成に変更する方法を紹介することにする.


最初の記事で触れたが、iMac 27inch(Late 2012) のオプション構成の3TBのFusion Driveを選択した場合、”BootCamp Assistant” ではWindows用のパーティションを作成する事ができない.恐らくこれはBootCamp方式実現のコア機能であるEFIのレガシーOSエミュレーション環境が2TBを越えるHDDドライブを認識できないことが原因と考えられる.勿論 1TBのFusion Driveオプションを選んだ場合は問題無く”BootCamp Assistant” を用いてWindowsをインストールすることが可能だ.


3TBのFusion Drive構成でどうしてもBootCamp方式によるマルチブート環境を構築したい場合、どのように構成すれば実現可能か実際に検証してみることにした.


SSDとHDDの2台のドライブをどのように構成すれば良いのか


実際に試した訳ではないが、1TBのFusion Driveマシンで”BootCamp Assistant” を起動すると、1TBのHDD側の最後のパーティションにWindows用のパーティションが作成される筈である.これは通常の”BootCamp Assistant” の操作と変わらないと思われるが、Fusion Driveの論理ボリュームを構成するHDD側のボリュームサイズが変更になるので、coreStorage側でも何らかの論理ボリュームの再構築が行われているのだろう.”BootCamp Assistant”側でどのような処理が行われているのかは不明だが、Windowsパーティションの準備は全て自動的に行ってくれるので、一般のユーザはその中身については全く気にする必要はない.


3TBのFusion Driveでも”BootCamp Assistant” の推定処理内容と同じ作業を行えば良さそうだが、実際に行ってみると Windows 7 Pro(32Bit版)のインストーラーは3TBのHDDに作成したWindows用のパーティション(パーティション #3, FAT32)をインストール可能なパーティションとしては認識してくれなかった.Windows 7 のインストーラーでNTFSにフォーマットし直しても結果は同じだった.こうなることは大方予想していたが、やはりWindows 7 のレガシー環境ではシステムドライブとして2TB越のHDDは使えないようだ.


捕捉:Windows 7 Pro 64bit 版ではEFIモードに対応しているようで、EFIのブートローダー経由でWindowsのインストーラーを起動できるのではないかと期待したが、iMac(Late 2012), MacBook Air(Mid 2012) の何れのマシンもWindowsのインストーラーが途中で止まってしまい、EFI経由でインストールすることはできないようだ.Windows 7のインストールに関してはEFIのレガシーモード機能を用いるしか方法は無さそうだ.

やはり3TBのFusion Drive構成で実現可能な方法としては、SSD(128GB)側にWindows用のパーティションを設けるしか方法は無さそうだ.

SSD側のパーティションを分割してWindowsとのデュアルブートを実現する


Fusion Drive構成に拘らなければ、単純にSSDとHDDの2ドライブ構成としてシステムを構築すれば良いのだが、これでは折角のFusion Driveのメリットが活かせないのでこの構成は考えないことにする.(多分一番簡単な実現方法)

Fusion Driveを活かしながらWindowsとのデュアルブートを実現するのはかなり面倒な作業が必要になるが、diskutilコマンドによるcoreStorage操作に慣れてしまえばそれほど難しいことはない.


先ずFusion Driveの論理ボリュームを壊してから、SSD, HDDの各ドライブのパーティションを作成し直し、その後diskutilコマンドのcoreStorage操作機能を駆使してFusion Driveの論理ドライブを再構築する必要がある.Fusion Driveの構築後に、Mac OS XならびにWindowsをインストールするという手順が必要だ.

SSD,HDDの再パーティション分割作業


SSD,HDDの再パーティション分割作業を行う前に、先の記事で紹介した方法で Fusion Driveの論理ボリュームを削除しておく.その後、diskutilコマンドのパーティション分割機能を使って各ドライブを所望のパーティション構成に分割する.
diskutilコマンドはとても複雑で簡単には説明できないが、パーティションを新規に作成する場合は “partitionDisk” サブコマンドを用いる.このコマンドの形式を簡略に紹介すると、
diskutil partitionDisk <デバイス> [パーティション分割数] [パーティション形式] <パーティション#1 フォーマット> <パーティション#1 名前> <パーティション#1 サイズ> [ <パーティション#2 フォーマット> <パーティション#2 名前> <パーティション#2 サイズ>, … ] (ブレース括弧 [ ] で囲んだ部分は任意で省略可能)

 
のようになる.詳細はmanコマンドで確認して貰うこととして、先ずはlistサブコマンドで現状のディスクドライブの構成を確認しておく.通常はSSDが “disk0” で、HDDが “disk1” になっているだろう.

SSDのパーティション分割設計

Mac OS X (Fusion Drive) 領域: パーティション#1  HFS+フォーマット(ジャーナリング) OSXLV 100GB

Windows(非Fusion Drive) 領域: パーティション#2  FAT32フォーマット          WIN7  21GB  


iMac27:~ yasuaki$ diskutil partitionDisk disk0 2 GPT jhfs+ OSXLV 100.1G fat32 WIN7 20.0G
Started partitioning on disk0
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk0s2 as Mac OS Extended (Journaled) with name OSXLV
Initialized /dev/rdisk0s2 as a 93 GB HFS Plus volume with a 8192k journal
Mounting disk
Formatting disk0s3 as MS-DOS (FAT32) with name WIN7
4096 bytes per physical sector
/dev/rdisk0s3: 41038208 sectors in 1282444 FAT32 clusters (16384 bytes/cluster)
bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=195917824 drv=0x80 bsec=41058304 bspf=10024 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished partitioning on disk0
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS OSXLV                   100.0 GB   disk0s2
   3:       Microsoft Basic Data WIN7                    21.0 GB    disk0s3


HDDのパーティション分割設計

Mac OS X (Fusion Drive)  領域: パーティション#1  HFS+フォーマット(ジャーナリング) OSXHDDLV 2.0TB

Mac OS X (非Fusion Drive) 領域: パーティション#2  HFS+フォーマット(ジャーナリング) Works   800GB

Mac OS X (非Fusion Drive) 領域: パーティション#3  HFS+フォーマット(ジャーナリング) Tmp   64GB  


iMac27:~ yasuaki$ diskutil partitionDisk disk1 GPT jhfs+ OSXHDDLV 2.0T jhfs+ Works 800.0G jhfs+ Tmp 64.0G 
Started partitioning on disk1
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk1s2 as Mac OS Extended (Journaled) with name OSXHDDLV
Initialized /dev/rdisk1s2 as a 2 TB HFS Plus volume with a 155648k journal
Mounting disk
Formatting disk1s3 as Mac OS Extended (Journaled) with name Works
Initialized /dev/rdisk1s3 as a 745 GB HFS Plus volume with a 65536k journal
Mounting disk
Formatting disk1s4 as Mac OS Extended (Journaled) with name Tmp
Initialized /dev/rdisk1s4 as a 186 GB HFS Plus volume with a 16384k journal
Mounting disk
Finished partitioning on disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS OSXHDDLV                2.0 TB     disk1s2
   3:                  Apple_HFS Works                   799.9 GB   disk1s3
   4:                  Apple_HFS Tmp                     200.2 GB   disk1s4
iMac27:~ yasuaki$ 


Fusion Driveの論理ボリューム構築作業


Fusion Driveの論理ボリュームを構築するには、先ず論理ボリュームグループを作成し、その論理ボリュームグループを一つの論理ボリュームとしてMac OS Xに認識させる事が必要になる.


論理ボリュームグループの作成

diskutil cs create <論理ボリュームグループ名> <デバイス> [ <デバイス>, … ]


論理ボリュームの作成

diskutil cs createVolume <フォーマットタイプ> <論理ボリューム名> <サイズ>


iMac27:~ yasuaki$ diskutil cs create OSXLVG disk0s2 disk1s2 
Started CoreStorage operation
Unmounting disk0s2
Touching partition type on disk0s2
Adding disk0s2 to Logical Volume Group
Unmounting disk1s2
Touching partition type on disk1s2
Adding disk1s2 to Logical Volume Group
Creating Core Storage Logical Volume Group
Switching disk0s2 to Core Storage
Switching disk1s2 to Core Storage
Waiting for Logical Volume Group to appear
Discovered new Logical Volume Group "6A0B8849-6550-4999-99E5-56311D3E6885"
Core Storage LVG UUID: 6A0B8849-6550-4999-99E5-56311D3E6885
Finished CoreStorage operation

iMac27:~ yasuaki$ diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 6A0B8849-6550-4999-99E5-56311D3E6885
    =========================================================
    Name:         OSXLVG
    Size:         2099831566336 B (2.1 TB)
    Free Space:   2088374554624 B (2.1 TB)
    |
    +-< Physical Volume 3262B987-89E8-45C3-91BC-5F9346ADBD16
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     99965784064 B (100.0 GB)
    |
    +-< Physical Volume CC1648B0-8C84-4C7F-8A65-3A4BED931D8E
        ----------------------------------------------------
        Index:    1
        Disk:     disk1s2
        Status:   Online
        Size:     1999865782272 B (2.0 TB)

iMac27:~ yasuaki$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage OSXLV                   100.0 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s5
   4:       Microsoft Basic Data Win7                    21.0 GB    disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:          Apple_CoreStorage OSXHDDLV                2.0 TB     disk1s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk1s6
   4:                  Apple_HFS Works                   799.9 GB   disk1s3
   5:                  Apple_HFS Tmp                     200.2 GB   disk1s4
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *203.9 GB   disk3
   1:                        EFI                         209.7 MB   disk3s1
   2:                  Apple_HFS Mac OS X Install ESD    8.0 GB     disk3s2
   3:                  Apple_HFS Recovery HD             1.1 GB     disk3s3
   4:                  Apple_HFS MBA108                  64.0 GB    disk3s4
   5:                  Apple_HFS Macintosh HD            80.0 GB    disk3s5
   6:                  Apple_HFS BackupData              50.0 GB    disk3s6

iMac27:~ yasuaki$ diskutil cs createVolume 6A0B8849-6550-4999-99E5-56311D3E6885 jhfs+ OSX 100%
Started CoreStorage operation
Waiting for Logical Volume to appear
Formatting file system for Logical Volume
Initialized /dev/rdisk4 as a 2 TB HFS Plus volume with a 163840k journal
Mounting disk
Core Storage LV UUID: DBAC5856-C76B-429A-80BF-B80311AF7B73
Core Storage disk: disk4
Finished CoreStorage operation

iMac27:~ yasuaki$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage OSXLV                   100.0 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s5
   4:       Microsoft Basic Data Win7                    21.0 GB    disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:          Apple_CoreStorage OSXHDDLV                2.0 TB     disk1s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk1s6
   4:                  Apple_HFS Works                   799.9 GB   disk1s3
   5:                  Apple_HFS Tmp                     200.2 GB   disk1s4
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *203.9 GB   disk3
   1:                        EFI                         209.7 MB   disk3s1
   2:                  Apple_HFS Mac OS X Install ESD    8.0 GB     disk3s2
   3:                  Apple_HFS Recovery HD             1.1 GB     disk3s3
   4:                  Apple_HFS MBA108                  64.0 GB    disk3s4
   5:                  Apple_HFS Macintosh HD            80.0 GB    disk3s5
   6:                  Apple_HFS BackupData              50.0 GB    disk3s6
/dev/disk4
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS OSX                    *2.1 TB     disk4


論理ボリュームグループおよび論理ボリュームの作成が終わった段階で、GUIベースの "DiskUtility" を起動すると次の様に、見かけ上 "OSX"(Fusion Drive), "Win7"(Windows用 FAT32), "Works"(一般ボリューム),"Tmp"(一般ボリューム)の4つだけが見えている筈だ.


ここまで来れば後の作業は、通常のOSXのインストール(リカバリ)、Windowsのインストール作業を行えば良い.長くなるので、具体的な手中は省略するが、このブログの過去の記事を探せば Windowsのインストール作業の手順が紹介されているのでそちらを参照して欲しい.


バックアップしたMac OS Xのボリュームをリストアする際に、リストアの最終段階で失敗する場合はバックアップしたMac OS Xのボリュームから起動せずに、別に作成して置いた起動可能なリカバリドライブ("Ricovery HD")から起動して、"DiskUtility" を起動すると、失敗することなくバックアップしたMac OS Xのボリュームをリストアすることが出来る.
【注意】 現行のiMac27inch(Late 2012)モデルでは、"BootCamp Assistant" によるWindowsデバイスドライバの準備ができないので、1TB Fusion Drive モデルや他のiMac(Late 2012)シリーズで作成したWindowsデバイスドライバ集を準備しておく必要がある.

After Rebuilding FD
Fusion Drive構成を保ったまま、WindowsおよびMac用の作業領域を確保に成功

Restoring OSX
Mac OS X 10.8.2のリストア作業


Windows 7 Pro (32bit)のインストールが完了するとデュアルブート環境が立ち上がる

  Win7 on iMac27 3TFD
Fusion Drive構成を維持したまま Windows 7のデュアルブート環境の構築に成功