OS X에서 재부팅 할 때 디스크 번호를 다시 매기는 것을 어떻게 방지합니까?


12

Mac OS X 10.6.4의 Mac Pro에 3 개의 물리적 드라이브가 있습니다. 때때로 컴퓨터를 재부트 한 후 / 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

더 혼란스러운 것은 리매핑이 일관성이 없다는 것입니다. 대부분의 경우 이것은 관련이 없습니다. 그러나 OS X 내에서 BootCamp 파티션에 액세스 할 수 있도록 Parallels도 설치했습니다. Parallels는 구성 파일의 / dev / disk # 경로를 사용하므로 OS XI launch Parallels를 재부팅 한 후 디스크가 더 이상 존재하지 않는다고 알려줍니다 .

주어진 드라이브를 항상 / dev / disk0에 할당하도록 OS X에 지시하는 방법이 있습니까?


3
이것은 내 전문 분야의 영역에 있지 않지만 볼륨 UUID로 무언가를 할 수 있습니까?
fideli

@fideli : 모르겠다 ... 그것이 도움이 필요한 것입니다 :) OSX가 그 일을 할 것으로 기대했습니다-주어진 UUID가있는 드라이브가 어디에 마운트되어 있고 어디에 두 었는지 기억 나지 않습니다. 경우.
Paul Alexander

Linux에서 디스크에는 번호가 변경 되어도 변경되지 않는 / 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 *를 사용하여 파티션, 디스크를 열거하고 각각의 uuid를 얻을 수 있습니다 (지원되는 모든 파일 시스템에 대해).

그 후 'ln -s'로 소프트 링크를 추가하거나 mknod로 대체 장치 노드를 생성하면 작동합니다 (그리고 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=en_US 의 지침을 사용하여 부팅시 스크립트를 실행하는 것입니다.

그러나 그것은 다른 누군가가 끝내야 할 것입니다 ...


자세한 답변 감사합니다. mknodFusion으로 시도 했지만 오류가 발생 ./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 사용자는 디스크 번호가 다소 임의적이며 재부팅 후 동일한 번호를 얻는 동일한 장치에 의존 할 수 없다는 것을 들었습니다. 터미널에서 diskutil을 통해 RAID 슬라이스를 만드는 것과 관련하여 언급되었습니다.

diskutil, pdisk 또는 gpt와 같이 내가 찾은 하위 수준 유틸리티 중 어느 것도 디스크 번호 매기기에 영향을 미치는 것으로 보이지 않습니다. 제어 할 수없는 것이 걱정됩니다.


1
허, 나는 그 대답이 -1이라고 생각하지 않았다. 때때로 대답은 "그렇게 할 수 없습니다"입니다.
Theo Belk

1

내부 하드 디스크의 볼륨에 대한 문자 장치 파일의 경로 이름을 보려면 / Applications / Utilities에있는 터미널 응용 프로그램을여십시오. 다음을 입력 한 다음 Return 키를 입력하십시오.

df

터미널을 열고 다음을 입력하여 각 볼륨의 문자 장치 파일에 대한 전체 경로 이름을 볼 수 있습니다 (각 줄마다 Return 키를 누름).

cd /dev
ls -lias

마운트 된 각 볼륨의 각 파티션 (Finder에 표시되는지 여부)은 / dev 디렉토리의 목록에 두 개의 파일을 갖습니다. 파일 이름은 장치 번호와 장치의 파티션을 번호로 식별합니다. 파일을 찾기 위해 터미널 창에서 약간 스크롤해야 할 수도 있습니다.


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.