DIY Fusion Drive: การเพิ่มการกู้คืน HD ไปยังกลุ่ม CoreStorage Volume


10

หลังจากสร้าง "DIY Fusion Drive" โดยใช้วิธีการด้านล่างใน 10.8 ฉันสงสัยว่าจะเพิ่มพาร์ติชัน RecoveryHD ในไดรฟ์ภายในได้อย่างไร

นี่คือสิ่งที่ฉันทำเพื่อสร้าง Logical Volume Group ในสองฟิสิคัลวอลุ่ม (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

ไม่มีใครรู้ว่าคำสั่ง diskUtil เพื่อเพิ่ม HD การกู้คืน? ตามหลักการแล้วสิ่งที่ฉันอยู่ตอนนี้คืออะไร?

คำตอบ:


6

คุณจะต้องแบ่งพาร์ติชั่นก่อนใส่พาร์ติชั่นการกู้คืนลงในฮาร์ดไดรฟ์ตัวใดตัวหนึ่งของคุณ ไม่สามารถเป็นส่วนหนึ่งของไดรฟ์ฟิวชั่นได้เนื่องจากไม่น่าเป็นไปได้ที่คุณจะสามารถบู๊ตลงในโลจิคัลวอลุ่ม Core Storage ได้โดยตรง (คุณต้องใช้บูทโหลดเดอร์แยกต่างหาก)

จดโครงสร้างพาร์ติชั่นในบทความ Ars Technicaเกี่ยวกับ Fusion drive

วิธีที่ดีที่สุดในการทำเช่นนี้อาจเป็นการเริ่มต้นใหม่โดยการติดตั้ง Mountain Lion ใหม่บน SSD หรือ HDD จากนั้นทำกระบวนการฟิวชั่นซ้ำด้วยพาร์ติชันที่เหมาะสม

เมื่อคุณทำการติดตั้งแบบมาตรฐานเสร็จแล้วให้ตรวจสอบพาร์ติชันของคุณโดยเรียกใช้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 นั้นจะทำการดำเนินการนั้น?
Jess Bowers

ฉันเพิ่มข้อมูลเพิ่มเติมบางอย่างควรใช้งานได้ แต่ฉันไม่มีการตั้งค่าที่ฉันสามารถทดสอบได้จริง จุดไดรฟ์ฟิวชั่นนั้นไม่มีเอกสารที่ค่อนข้างสวยในตอนนี้และเราแค่ทำสิ่งที่คนสองสามคนเกิดขึ้นจากการลองผิดลองถูก อย่าลืมโพสต์ผลลัพธ์ที่คุณได้รับที่นี่
robmathers

ฉันคิดว่าคุณถูกต้องเกี่ยวกับการระบุ disk0s2 มากกว่า disk0 ฉันไม่สามารถตรวจสอบได้ในวันนี้เนื่องจากวันหยุดสุดสัปดาห์คือช่วงเวลาที่ 'ฉีกเครื่องจักรออกจากกันและสร้างใหม่' ตอนนี้ฉันต้องทำงาน! ฉันจะลองทดสอบในไม่ช้า
Jess Bowers

ฉันเพิ่งติดตั้ง 10.8.2 ไปยังโวลุ่ม CS ใหม่ที่ว่างเปล่า (120GB SSD + 640GB HDD) เพื่อดูว่าตัวติดตั้ง ML จะเพิ่มพาร์ติชันการกู้คืนใหม่หรือไม่ ดังนั้นคำแนะนำข้างต้นควรถูกต้องจะลองใช้การทดสอบครั้งต่อไป
da4

ความสำเร็จ! ปลายปี 2551 MacBook Pro, HD ที่ 2 ในสล็อตออปติคัลไดรฟ์: ฉันแทนที่ 320GB HD หลักด้วย 256GB SSD กำลังติดตาม @robmather: ฉันติดตั้ง Mountain Lion บน SSD; บูต MBP จากไดรฟ์ภายนอก ศึกษาdiskutil listผลลัพธ์ที่จะได้รับตัวระบุดิสก์สำหรับ "Macintosh HD" บน SSD ใช้สิ่งนั้นกับคำสั่ง corestorage ของ diskutil เพื่อสร้างปริมาณฟิวชั่น บูตจากโวลุ่มการกู้คืนติดตั้ง ML และโอนย้ายดิสก์ดั้งเดิมไปยังโวลุ่มฟิวชั่น 560GB ใหม่ของฉัน ทุกอย่างทำงานได้แม้ Ubuntu บน VMWare สั่งช้า / ราคาถูก 1TB HD; เร็ว ๆ นี้พลัง MBP อายุ 4 ขวบของฉันใน 8GB, 1.25TB, SSD!
Bruce Van Allen

5

ตกลงดังนั้นฉันได้แก้ปัญหาโดยไม่ต้องฟอร์แมตหรือติดตั้งใหม่ หวังว่าคนส่วนใหญ่จะไม่จบในสถานการณ์นี้ ดู @robmathers คำตอบสำหรับเคล็ดลับเกี่ยวกับวิธีหลีกเลี่ยงการลบ Recovery HD ในตอนแรก

คำเตือนคำสั่งต่อไปนี้อยู่ในระดับค่อนข้างต่ำและอาจทำให้คุณสูญเสียข้อมูล ใช้ความระมัดระวังที่เหมาะสม (สำรองโคลน ฯลฯ )

แต่สำหรับทุกคนในสถานการณ์ของฉันหลังจาก RecoveryHD หายไปแล้วนี่คือสิ่งที่ฉันทำ:

  1. สำรองข้อมูลทั้งหมด / โคลนไดรฟ์ของคุณ
  2. สร้าง USB ที่บูตได้ (หรือใช้ HD ที่มีอยู่) ด้วย 10.8
  3. บูตเข้าสู่ไดรฟ์สำรอง (ดังนั้นคุณจึงไม่ได้ปรับเปลี่ยน HD ที่คุณติดตั้งอยู่ในปัจจุบัน)
  4. ถอนติดตั้ง Fusion HD
  5. เปิดเทอร์มินัลสลับไปที่ superuser แล้วทำตามคำแนะนำเหล่านี้:

แสดงรายการการกำหนดค่าปัจจุบันและจดบันทึกไดรฟ์ที่คุณจะปรับเปลี่ยน ขนาดและ GUID ที่แน่นอนของคุณจะแตกต่างจากของฉัน มันเป็นสิ่งสำคัญที่จะใช้ตัวเลขของคุณแทนของฉัน

diskutil corestorage list

จดบันทึก UUID ของฟิสิคัลไดรฟ์ที่คุณกำลังเพิ่มการกู้คืน

diskutil list

จดขนาดที่แน่นอนเป็นไบต์ของ Recovery บนดิสก์เริ่มต้นปัจจุบัน (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

0

ฉันพบคำตอบที่ดีในโพสต์นี้ ฉันได้ทำคำแนะนำทีละขั้นตอนในการแบ่งพาร์ติชันฮาร์ดไดรฟ์ใหม่ด้วยพาร์ติชัน windows (สำหรับ Windows 7/8 Bootcamp) ภายในพื้นที่ 2.2 TB แรกและสร้างฟิวชั่นไดรฟ์ใหม่โดยใช้สามพาร์ติชัน

คุณจะพบคำแนะนำที่เป็นประโยชน์ของฉันใน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 ของ Logical Volume และsizeเท่ากับcurrent size of the Logical Volume- size of the Recovery partition(หรือ1GB less than the current sizeถ้าคุณทำตามคำตอบของ Jess Bowers ต่อคำ):

diskutil coreStorage resizeVolume <lvUUID> <size>

และหลังจากนั้นresizeDisk...และทางออกที่เหลือของเขาก็ทำงานได้อย่างมีเสน่ห์

PS เพิ่งสมัครใช้งานเพื่อที่ฉันจะไม่สามารถแสดงความคิดเห็นโดยตรงขอโทษ


0

พยายามกู้คืน Mac Mini จากการสำรองข้อมูล Time Machine

ฉันมี Mac Mini 2012 พร้อมไดรฟ์ฟิวชั่น ~ 120GB + 1TB

ฉันทุบตีมันขึ้นมาเล็กน้อยในขณะที่พยายามติดตั้งบูตคู่ Ubuntu และไม่สามารถกู้คืนได้จากการสำรองข้อมูล Time Machine ของฉันเนื่องจาก "เกิดข้อผิดพลาดในการสร้างดิสก์กู้คืน"

เพื่อแก้ไขว่าฉันลบโวลุ่มทั้งหมดทุกประเภทออกจากดิสก์และเริ่มต้นใหม่เหลือพื้นที่ว่าง 5GB สำหรับพาร์ติชั่นการกู้คืนที่จะสร้าง

เนื่องจากตอนนี้ฉันรู้ว่าตารางท้ายแล้วมีลักษณะอย่างไร (ซึ่งฉันจะโพสต์กลับ ... พรุ่งนี้หลังจากการสำรองข้อมูลถูกกู้คืน) ฉันมั่นใจว่าฉันสามารถทำสิ่งนี้ได้ด้วยการปรับขนาดเช่นกัน

อันตราย

คำสั่งทั้งหมดเหล่านี้มีอันตรายมากหากคุณมีข้อมูลในดิสก์

ฉันใช้คำสั่งจริงที่ฉันจะใช้ซึ่งเป็นคำสั่งจริงที่คนอื่นที่มีไดรฟ์ฟิวชั่นติดตั้งมาจากโรงงานจะต้องใช้

นอกจากว่าคุณกำลังพยายามเพิ่มไดรฟ์กู้คืนเกิดขึ้นเนื่องจากว่าไดรฟ์ของคุณเกิดความยุ่งเหยิงอย่างสมบูรณ์แล้วฉันไม่แนะนำให้ทำตามขั้นตอนเหล่านี้

อย่างไรก็ตามพวกเขาอาจเข้ามาเป็นข้อมูลอ้างอิงที่มีประโยชน์นอกเหนือจากคำแนะนำอื่น ๆ ในโพสต์เหล่านี้

ตรวจสอบเล่ม

ลองดูว่ามีอะไรบ้างและตัดสินอย่างเหมาะสมก่อน:

# 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แต่ถ้าไม่ได้ทั้งการรีบูตหรือความไว้วางใจมากกว่าgptdiskutil

sizes ไม่ได้อยู่ในไบต์ แต่ภาคซึ่งอาจจะ 4KiB มันอาจจะดีกว่าที่จะบอกว่าอันไหนตามอัตราส่วนมากกว่าขนาดที่แน่นอน

gpt -r show /dev/disk0

ตอนนี้ลบพาร์ติชันที่สอดคล้องกับ "Recovery 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 สร้าง Fusion diskx diskx

หมายเหตุ: คุณสามารถแทนที่ Fusion ด้วยสิ่งที่คุณต้องการตั้งชื่อกลุ่มปริมาณตรรกะของคุณ

รายการ c diskutil

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

หมายเหตุ: คุณสามารถแทนที่ "Macintosh Fusion" ด้วย whatver ที่คุณต้องการตั้งชื่อไดรฟ์ของคุณ อย่าลืมใช้ "" ถ้าคุณต้องการช่องว่างในชื่อของคุณเหมือนที่เราทำมิฉะนั้นคุณไม่ต้องการมัน

หลังจากการติดตั้งเสร็จสิ้นให้เปิดเทอร์มินัลแล้วเปลี่ยนการจัดทำดัชนี:

sudo mdutil -i off

หากคุณต้องการเปลี่ยนกลับเป็น 2 ไดรฟ์แยกให้บู๊ตเข้าสู่ตัวติดตั้งอีกครั้งเปิด Terminal และพิมพ์:

diskutil cs ลบ YOUR_DEVICE_ID

จากนั้นคุณจะสามารถฟอร์แมตได้อย่างไรก็ตามคุณต้องการใช้ Terminal หรือ Disk Utility


ไม่ชัดเจนว่าคุณกำลังทำอะไรที่นี่เพื่อสร้าง HD การกู้คืน คุณสามารถแก้ไขรายการที่ไม่เกี่ยวข้องกันเพื่อให้เธรดนี้มีความหมายและหมายความว่าอย่างไร
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.