DIYフュージョンドライブ:CoreStorageボリュームグループへのリカバリHDの追加


10

10.8で以下の方法を使用して "DIY Fusion Drive"を作成した後、RecoveryHDパーティションを内部ドライブに追加する方法を考えています。

これは、2つの物理ボリューム(128G SSD / 750GHD)にまたがって論理ボリュームグループを作成するために行ったものです

(make a clone / backup of all your data first)
diskutil list (take note of the disk## of the two drives. In my case: disk0/disk1)
diskutil corestorage create fusion_volume_group disk0 disk1
diskutil corestorage list (take note of the Logical Volume Group UUID)
diskutil corestorage createVolume <UUID> jhfs+ FusionHD 749g
restore the clone onto the FusionHD

これはうまくいきましたが、今では私のRecoveryHDはなくなっています。追加し直したい(元のHDからクローンした外付けドライブにある)

現在のパーティションレイアウトは次のようになります。

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         119.7 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:          Apple_CoreStorage                         749.3 GB   disk1s2
   3:                 Apple_Boot Boot OS X               650.0 MB   disk1s3
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS FusionHD               *744.5 GB   disk2

リカバリHDを追加するdiskUtilコマンドを知っている人はいますか?理想的には、事実の後で、私が今いるところはどこですか?

回答:


6

最初にドライブをパーティション分割し、物理パーティションの1つにリカバリパーティションを配置する必要があります。コアストレージの論理ボリュームを直接起動できる可能性は低いため、Fusionドライブの一部にすることはできません(個別にブートローダーが必要です)。

このArs Technicaの記事で、Fusionドライブに関するパーティション構造に注意してください。

これを行う最良の方法は、SSDまたはHDDにMountain Lionを再インストールして最初からやり直し、次に適切なパーティションだけでFusionプロセスを繰り返すことです。

標準インストールが完了したらdiskutil list、を実行してパーティションを確認します。これにより、次のような出力が得られます。

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            119.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

Macintosh HDパーティションの識別子をメモします(disk0s2この場合)。

次に、前に実行したのと同じ手順を実行しますが、diskutil corestorage create fusion_volume_groupコマンドを変更して、disk0s2(または場合によっては同等のものであれば)、OS Xをインストールしていないドライブの識別子を指定します。結果のコマンドは似てdiskutil corestorage create fusion_volume_group disk0s2 disk1 いますが、識別子が正しいことを確認してください。重要なのは、ドライブ全体ではなく、Macintosh HDパーティションのみからボリュームグループを作成することです(これにより、EFIパーティションとRecoveryパーティションが消去されないようにします)。次に、以前と同じように残りの手順に従います。


diskutilコマンドがその操作をどのようにするのか知っていますか?
ジェスバウワーズ

動作するはずの情報をいくつか追加しましたが、実際にテストできる設定がありません。現時点では、Fusionドライブに関する情報はほとんど文書化されておらず、試行錯誤によって数人の人々が思いついた問題に取り組んでいます。ここで得た結果を投稿してください。
robmathers

disk0ではなくdisk0s2を指定するのは正しいと思います。週末は「マシンをバラバラにして再構築」する時間だったので、今日はこれを確認できません。今、私は働かなければなりません!これをすぐにテストしてみます。
Jess Bowers

10.8.2を新しい空のCSボリューム(120GB SSD + 640GB HDD)にインストールしたところ、MLインストーラーが新しいリカバリパーティションを追加するかどうかを確認しました-追加しませんでした。したがって、上記の手順は正しいはずであり、次のテスト展開を試みます。
da4

成功!2008年後半のMacBook Pro、光学ドライブスロットに2つ目のHD:メインの320 GB HDを256 GB SSDに交換しました。@robmatherに続いて、私はSSDにMountain Lionをインストールしました。外付けドライブからMBPを起動した。diskutil listSSDで「Macintosh HD」のディスクIDENTIFIERを取得するための出力を調査しました。これをdiskutilのcorestorageコマンドで使用して、フュージョンボリュームを作成しました。復元ボリュームから起動し、MLをインストールして、元のディスク全体を新しい560GBフュージョンボリュームに移行しました。VMWare上のUbuntuでも、すべてが機能します。低速/格安の1TB HDを注文。まもなく4年前のMBPが8GB、1.25TB、SSDでパワーオンします!
Bruce Van Allen

5

わかりましたので、再フォーマットまたは再インストールせずに問題を解決しました。うまくいけば、ほとんどの人はこの状況で巻き上がらないでしょう。そもそもRecovery HDを削除しないようにするためのヒントについては、@ robmathersの回答を参照してください。

警告次のコマンドはかなり低レベルであり、データが失われる可能性があります。適切な予防策を講じてください(バックアップ、クローンなど)。

しかし、RecoveryHDが既になくなった後の私の状況の誰にとっても、ここに私がしたことがあります:

  1. すべてのデータをバックアップ/ドライブを複製
  2. 10.8で起動可能なUSBを作成(または既存のHDを使用)
  3. その代替ドライブで起動します(したがって、現在マウントしているHDを変更しません)
  4. Fusion HDのマウントを解除します
  5. 端末を開き、スーパーユーザーに切り替えて、次の手順に従います。

現在の構成を一覧表示し、変更するドライブをメモします。実際のサイズとGUIDは私のものとは異なります。私の代わりにあなたの番号を使用することが重要です。

diskutil corestorage list

リカバリを追加する物理ドライブのUUIDをメモします。

diskutil list

現在の起動ディスクのリカバリの正確なサイズをバイト単位でメモします(disk2s3は異なる場合があります)。

diskutil info disk2s3

リカバリパーティションを追加するドライブの物理ボリュームのサイズを変更します。サイズを特定するには、USB上の既存のリカバリパーティションを確認します。私の場合は1GB弱でした。次のコマンドの場合、pvUUIDはリカバリを追加するドライブのUUIDで、サイズは現在のサイズより1GB小さいです。

diskutil coreStorage resizeDisk <pvUUID> <size> JHFS+ Recovery 784220160B

注:次の手順で、ボリュームを繰り返しアンマウントする必要がある場合があります。OSXは積極的にボリュームを再マウントする傾向があります。

新しい「リカバリ」パーティションをjHFS +からApple_Bootに再パーティション化します。まず、パーティションの正確な開始/サイズに注意してください。

gpt show disk0

     start       size  index  contents
        0          1         PMBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  246725744      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
247135384     262144
**247397528    1269528       3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC**
248667056    1402591
250069647         32         Sec GPT table
250069679          1         Sec GPT header 

ここでパーティションを削除し、別のUUIDで再度追加します(UUIDはパーティションのタイプを決定するものです)

gpt remove -b 247397528 -s 1269528 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
gpt add -b 247397528 -s 1269528 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0

次に、リカバリパーティション全体を適切なパーティションからこの新しいパーティションにコピーします。

dd if=/dev/disk2s3 of=/dev/disk0s3

参考までに、以下のサイトに感謝します。これらの手順のいずれかを理解していない場合は、飛び込む前にそれらをよく読んでください。

http://blog.fosketts.net/2011/08/05/undocumented-corestorage-commands/

http://www.dmitry-dulepov.com/2011/09/how-to-create-mac-os-x-lion-recovery.html


更新:11/12以降、このセットアップは私にとって問題なく実行されています。
Jess Bowers 2013

0

私はこの投稿でいくつかの良い答えを見つけます。最初の2.2 TBのスペース内でWindowsパーティション(Windows 7/8 Bootcampの場合)を使用してハードドライブを再パーティション化し、3つのパーティションを使用してFusionドライブを再構築する方法について、順を追って説明しました。

あなたは私のガイドがhttp://jochem.ke-works.com/post/38498466700/bootcamp-on-3tb-fusion-drive-macosxで役立つと思います


1
Ask Differentの回答は、単なるリンク以上のものである必要があります。リンクを含めてもかまいませんが、回答に要約または抜粋してください。考え方は、答えを独立させることです。
ダニエル

0

Jess Bowersは非常に優れたソリューションを投稿しましたが、これがうまく機能するのはこのソリューションまででした。

diskutil coreStorage resizeDisk <pvUUID> <size> JHFS+ Recovery 784220160B

そして出力は:

Error: -69720: There is not enough free space in the Core Storage Logical Volume Group for this operation

解決策は、最初に論理ボリュームのサイズを変更することです。次のコマンドの場合、lvUUIDは論理ボリュームのUUIDであり、- sizeと等しくなります(または、Jess Bowersのソリューションを1語ずつ実行する場合)。current size of the Logical Volumesize of the Recovery partition1GB less than the current size

diskutil coreStorage resizeVolume <lvUUID> <size>

そしてその直後resizeDisk...、彼の残りの解決策は魅力のように機能しました。

PS。サインアップしただけなので、直接コメントできません。


0

Time MachineバックアップからMac Miniを復元しようとしています

約120 GB + 1 TBのフュージョンドライブを搭載したMac Mini 2012を使用しています。

Ubuntuデュアルブートをインストールしようとして少し手間をかけましたが、「リカバリディスクの作成中にエラーが発生しました」という理由でTime Machineバックアップから復元できませんでした。

これを修正するために、ディスクからすべてのタイプのすべてのボリュームを削除して最初からやり直し、リカバリパーティションを作成するために5 GBのスペースを残しました。

テーブルが最終的にどのように見えるかがわかったので(バックアップが復元された後、明日投稿します...)、同様にサイズ変更によってこれを行うことができたと確信しています。

危険

ディスクにデータがある場合、これらのコマンドはすべて非常に危険です。

私が使用する実際のコマンドを使用しています。これは、フュージョンドライブが工場出荷時にインストールされている他のユーザーが使用する必要がある実際のコマンドです。

回復ドライブを追加しようとしている理由が、ドライブがすでに完全に壊れていることが原因でない限り、以下の手順に従うことはお勧めしません。

ただし、これらの投稿の他の手順に加えて、それらは便利なリファレンスとして提供される場合があります。

ボリュームの検査

何があるかを見て、まず適切な判断を下します。

# See all physical partitions
diskutil list

# See all core storage volumes
diskutil cs list

すべてのボリュームを削除する

次に、削除する必要があるものをすべて削除します。

# Delete a Logical Volume
diskutil cs deleteVolume <lvUUID>

# Delete a Physical Volume
diskutil cs deleteDisk <pvUUID>

# Delete a Logical Volume Group (everything)
diskutil cs delete <lvgUUID>

必要に応じて、パーティションテーブルを最初から再作成します。

# Re-partition and format the HDD
# `R` means Remainder
# `5G` means ~4.7GiB
diskutil partitionDisk disk0 2 GPT \
    JHFS+ Macintosh\ HD R \
    JHFS+ Recovery\ HD 5G

# Re-partition and format the SSD
# the remainder, `R`, is 100% of the usable disk space
diskutil partitionDisk disk1 1 GPT \
    JHFS+ Macintosh\ HD R

コアストレージの作成

ご存知の「Macintosh HD」になります

# Create a logical volume group named "Macintosh HD"
diskutil cs create Macintosh\ HD disk0s2 disk1

# Create a volume (of the same name) using 100% of the group
diskutil cs createVolume <lvgUUID> jhfs+ Macintosh\ HD 100%

注:この段階で再起動して、ボリュームが正しい順序になっていることを確認してください。

すべてをアンマウント

diskutil unmount "Macintosh HD"
diskutil unmount "Recovery HD"
diskutil unmountDisk /dev/disk0
diskutil unmountDisk /dev/disk1

空き容量を増やす

以前に「Recovery HD」を作成する目的-Time Machineバックアップから復元するシナリオを想定-は、他のボリュームに吸収されないように、いずれかのディスクの最後に追加のスペースを予約することです。

これで、バックアップを解放して、復元プロセスで再度作成できるようになりました。

最初にもう一度確認して、存在するパーティションを確認します。番号の出力と一致する必要がありますがdiskutil、そうでない場合は再起動するか、信頼gptしてくださいdiskutil

sizeSは、おそらく4KiBあるバイトが、セクターには表示されません。正確なサイズではなく比率でどちらがどちらであるかを判断する方が良い場合があります。

gpt -r show /dev/disk0

次に、「リカバリHD」に対応するパーティションを削除します。からdisk0s3に変わった再起動後disk0s4

gpt remove -i 4

その後、リカバリパーティションを作成できないというエラーが表示されなくなりました。TMの回復が実際に機能したかどうかを明日調べます。バックアップドライブのディスクアクティビティについてあまり聞こえないので、どうなるかわかりません。:-/

資源

注:コアストレージのサイズ変更

私が見たものの多くは、サイズを変更して新しいボリュームを作成する方法を示しただけですが、新しいボリュームを作成せずにサイズを変更できます。

# First resize the logical volume
diskutil coreStorage resizeVolume <lvUUID> 1T

# Next resize the physical volume
diskutil coreStorage resizeDisk <pvUUID> 997G

# Tada! You have free space!

注:リカバリHDのタイプを設定します

空の復元ボリュームを作成しても成功しませんでした。ただし、BaseSystem.dmgがあり、それを復元できる場合は、ボリュームタイプを非表示のリカバリパーティションに設定することをお勧めします。

# Unmount to be able to make changes
diskutil unmount /dev/disk0s3

# Change the type from Apple_HFS to Apple_Boot
asr adjust -target /dev/disk0s3 -settype Apple_Boot

-1

これは、プロセスの概要といくつかのベンチマークのビデオです:http : //www.youtube.com/watch? v=I_odnNpv-FQ

順番に必要なコマンド:

diskutilリスト

diskutil cs create Fusion diskx diskx

注:Fusionは、論理ボリュームグループに名前を付けたい名前に置き換えることができます。

diskutil csリスト

diskutil coreStorage createVolume YOUR_DEVICE_ID_HERE jhfs + "Macintosh Fusion" 100%

注:ドライブに名前を付けたい場合は、「Macintosh Fusion」を置き換えることができます。私たちのように名前にスペースが必要な場合は「」を使用してください。そうでない場合は必要ありません。

インストールが完了したら、ターミナルを開き、インデックス作成をオンにします。

sudo mdutil -i off

2つの別個のドライブに戻す場合は、インストーラーを再度起動し、ターミナルを開いて次のように入力します。

diskutil csはYOUR_DEVICE_IDを削除します

その後、ターミナルまたはディスクユーティリティを使用して、フォーマットすることができます。


リカバリーHDを作成するためにここで何をしているのかは明確ではありません。このスレッドを無駄のないものにするために、無関係なアイテムを編集していただけませんか?
bmike
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.