ฉันจะป้องกันการจัดเรียงดิสก์ใหม่เมื่อรีบูตใน OS X ได้อย่างไร


12

ฉันมีไดรฟ์ทางกายภาพ 3 ตัวใน Mac Pro พร้อม Mac OS X 10.6.4 บางครั้งหลังจากรีบูตเครื่องการกำหนดหมายเลขดิสก์จะเปลี่ยนแปลงเช่นนั้น / dev / disk # ไม่ได้อ้างอิงไดรฟ์เดียวกับที่ทำก่อนรีบูต

ตัวอย่าง

/dev/disk0 -> 64GB SSD drive
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 160GB WD (BootCamp)

หลังจากรีบู๊ตแล้วการทำแผนที่อาจจะเป็น

/dev/disk0 -> 160GB WD (BootCamp)
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 64GB SSD drive

ยิ่งสับสนก็คือการแมปใหม่ไม่สอดคล้องกัน สำหรับเนื้อหาส่วนใหญ่สิ่งนี้ไม่เกี่ยวข้อง อย่างไรก็ตามฉันยังได้ติดตั้ง Parallels เพื่อให้สามารถเข้าถึงพาร์ติชัน BootCamp จากภายใน OS X Parallels ใช้พา ธ / dev / disk # ในไฟล์การกำหนดค่าดังนั้นหลังจากรีบูต OS XI เรียกใช้ Parallels และบอกฉันว่าดิสก์ไม่อยู่อีกต่อไป .

มีวิธีบอก OS X ให้มอบหมายไดรฟ์ที่กำหนดให้กับ / dev / disk0 เสมอหรือไม่


3
สิ่งนี้ไม่ได้อยู่ในขอบเขตของความเชี่ยวชาญของฉัน แต่สามารถทำบางสิ่งได้ด้วย UUID ที่มีปริมาณ
fideli

@fideli: ไม่รู้ ... นั่นคือสิ่งที่ฉันต้องการความช่วยเหลือ :) ฉันคาดหวังว่า OSX จะทำเช่นนั้น - จำได้ว่ามีไดรฟ์ที่ติดตั้ง UUID ไว้และวางไว้ที่นั่น แต่ดูเหมือนจะไม่เป็นเช่นนั้น กรณี.
Paul Alexander

ใน Linux ดิสก์มี symlink เช่น / dev / disk / by-uuid / [disk-uuid] ที่ไม่เปลี่ยนแปลงแม้ว่าจะมีการกำหนดหมายเลขก็ตาม OSX อาจคล้ายกันไหม
solarc

คำตอบ:


2

เท่าที่ฉันเข้าใจ MacOS ไม่ได้มีความสามารถนั้น แต่สำหรับการทำงานแนวมันอาจไม่จำเป็นอย่างเคร่งครัด

ใช้ macports และติดตั้ง e2fsprogs ด้วยแพตช์เล็ก ๆ :

diff -r e2fsprogs-1.41.12/misc/Makefile e2fsprogs-1.41.12.patched/misc/Makefile
399c399
>       $(LIBEXT2FS) $(LIBCOM_ERR)
---
<       $(LIBEXT2FS)
401,402c401

คุณสามารถใช้ blkid -s UUID / dev / rdisk * เพื่อระบุพาร์ติชั่นดิสก์และรับ uuids ตามลำดับ (สำหรับระบบไฟล์ที่รองรับซึ่งค่อนข้างน้อย)

หลังจากนั้นการเพิ่ม softlink ด้วย 'ln -s' หรือการสร้างโหนดอุปกรณ์สำรองด้วย mknod ควรใช้งานได้ (และจากนั้นอ้างอิง psudo- / clone-device จาก Parallels) ฉันได้ทำเทคนิคคล้าย ๆ กับ Fusion แต่ตอนนี้ฉันยังไม่ได้ติดตั้ง Paralells (ดังนั้นฉันจึงไม่สามารถทดสอบได้)

stat -f "% Sr% Z" / dev / rdisk sให้แผนที่กับอุปกรณ์แก่ผู้ใช้รายใหญ่และรายย่อยที่จะใช้ในกรณีที่การเปรียบเทียบไม่ยอมรับการเชื่อมโยงแบบนุ่มไปยังอุปกรณ์

ซึ่งสามารถใช้ในตัวอย่างต่อไปนี้:

some@host:/e2fsprogs-1.41.12$ blkid -s UUID /dev/rdisk*s* 
/dev/rdisk0s1: UUID="76D6-1701" 
/dev/rdisk0s2: UUID="654F73AE51849687" 
/dev/rdisk1s1: UUID="51FC4E72-BFA9-4DBD-9A5C-0E5H731DB0ED" 
some@host:/e2fsprogs-1.41.12$ stat -f "%Sr %Z" /dev/rdisk*
rdisk0 14,0
rdisk0s1 14,1
rdisk0s2 14,2
rdisk1 14,3
rdisk1s1 14,4

# okay, UUID 51FC4E72-BFA9-4DBD-9A5C-0E5H731DB0ED is a partition
# on the disk we want to use. so we make a 'private' device node
# pointing to the device containing that partition.

some@host:/e2fsprogs-1.41.12$ sudo mknod /dev/pdisk1 b 14 3

# just a quick verify that the mknod worked as expected ...
some@host:/~$ sudo dd if=/dev/rdisk1  count=10 2>/dev/null | md5 
19d55b28485771bc80acdddbd1b45faf
some@host:/~$ sudo dd if=/dev/pdisk1  count=10 2>/dev/null | md5 
19d55b28485771bc80acdddbd1b45faf

ตอนนี้สิ่งเดียวที่เหลือคือการเขียนสคริปต์และใช้คำแนะนำในhttp://support.apple.com/kb/HT2420?viewlocale=th_THเพื่อให้มันทำงานตอนบูท

แต่นั่นจะเป็นสำหรับคนอื่นที่จะเสร็จสิ้น ...


เฮ้ขอบคุณสำหรับคำตอบอย่างละเอียด ลองmknodกับ Fusion แต่ให้ข้อผิดพลาดมี./vmware-rawdiskCreator create /dev/pdisk1 fullDevice ~/5tc ide Unable to create the source raw disk: The specified device is not a valid physical disk device (20).ปมใดบ้าง ไชโย
Alexandre G

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

1

ฉันเคยได้ยินพวก Mac ที่ฉลาดกว่าฉันบอกเป็นนัยว่าการกำหนดหมายเลขดิสก์ค่อนข้างเป็นการสุ่มและไม่สามารถพึ่งพาอุปกรณ์เดียวกันที่ได้รับหมายเลขเดียวกันหลังจากรีบูต มันถูกกล่าวถึงในการอ้างอิงถึงการสร้าง RAID ชิ้นผ่าน diskutil ใน Terminal

ไม่มียูทิลิตี้ระดับต่ำที่ฉันพบเช่น diskutil, pdisk หรือ gpt ดูเหมือนว่าจะส่งผลกระทบต่อการกำหนดหมายเลขดิสก์ ฉันกลัวว่ามันอาจจะไม่สามารถควบคุมได้


1
อืมฉันไม่คิดว่าคำตอบจะแย่ -1 บางครั้งคำตอบก็คือ "คุณทำอย่างนั้นไม่ได้"
Theo Belk

1

หากต้องการดูชื่อพา ธ ของไฟล์อุปกรณ์อักขระสำหรับโวลุ่มบนฮาร์ดดิสก์ภายในของคุณให้เปิดแอปพลิเคชั่น Terminal ที่อยู่ใน / Applications / Utilities พิมพ์ต่อไปนี้ตามด้วยปุ่ม Return:

df

คุณสามารถดูชื่อพา ธ ที่สมบูรณ์สำหรับไฟล์อุปกรณ์อักขระสำหรับวอลุ่มปัจจุบันโดยเปิด Terminal จากนั้นพิมพ์ (กด Return หลังแต่ละบรรทัด):

cd /dev
ls -lias

แต่ละพาร์ติชัน (ไม่ว่าจะแสดงใน Finder หรือไม่) ในแต่ละโวลุ่มที่เมานต์จะมีสองไฟล์ในรายการสำหรับไดเรกทอรี / dev ชื่อของไฟล์ระบุทั้งอุปกรณ์ตามหมายเลขและพาร์ติชันบนอุปกรณ์ตามหมายเลข คุณอาจต้องเลื่อนบิตในหน้าต่าง Terminal เพื่อค้นหาไฟล์


0

/etc/fstabพยายามที่จะเพิ่มรายการเป็นคุณ

An /etc/fstab example:

# Identifier, mount point, fs type, options1
UUID=DF000C7E-AE0C-3B15-B730-DFD2EF15CB91 /export ufs ro
UUID=FAB060E9-79F7-33FF-BE85-E1D3ABD3EDEA none hfs rw,noauto
LABEL=This40Is40The40Volume40Name none msdos ro

ตัวระบุใช้เพื่อระบุระดับเสียง LABEL เป็นชื่อโวลุ่ม UUID คือ Universal Unique Identifier Drive คุณสามารถใช้ทั้งคู่ได้ แต่ UUID เป็นตัวเลือกที่ดีที่สุดเนื่องจากการเปลี่ยนชื่อโวลุ่มจะไม่เปลี่ยนตัวระบุนี้

จากhttp://macosx.com/forums/mac-os-x-system-mac-software/314314-stop-disk-unmounting-automounting.html


สิ่งนี้จะเปลี่ยนเฉพาะตำแหน่งที่ติดตั้งไดรฟ์ในไดเร็กทอรี / Volumes มันไม่มีผลกระทบใด ๆ กับมัน / dev / disk ??? การมอบหมาย
Paul Alexander

0

หมายเลขไดรฟ์จะขึ้นอยู่กับการระบุอุปกรณ์ทางกายภาพในระหว่างการบูต สิ่งนี้เกิดขึ้นกับฉันเช่นกันบน Windows ฉันดูยาวและหนักเพื่อแก้ไขปัญหานี้และฉันไม่พบสิ่งใด ฉันสามารถรับดิสก์ตามลำดับ "ถูกต้อง" เมื่อฉันเปลี่ยนสายเคเบิล SATA รอบ ๆ แต่นี่เป็นเพียงการแก้ไขชั่วคราว ในกรณีของคุณเนื่องจาก Parallels อาศัยหมายเลขดิสก์สำหรับพา ธ การสร้างสคริปต์เพื่ออัปเดตไฟล์ปรับแต่งนั้นเมื่อเริ่มต้น


0

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

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