Como evito a renumeração de disco na reinicialização no OS X?

11

Eu tenho 3 unidades físicas no meu Mac Pro com o Mac OS X 10.6.4. Ocasionalmente, após a reinicialização da máquina, a numeração do disco é alterada de tal forma que o / dev / disk # não faz referência à mesma unidade como antes da reinicialização.

Exemplo

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

Após a reinicialização, o mapeamento pode ser

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

Ainda mais confuso é que o remapeamento não é consistente. Para a maioria das coisas isso é irrelevante. No entanto, eu também tenho o Parallels instalado para permitir o acesso à partição BootCamp dentro do OS X. O Parallels usa o caminho / dev / disk # em seu arquivo de configuração para que, após a reinicialização do OS XI, inicie o Parallels e me diga que o disco não está mais presente .

Existe uma maneira de dizer ao OS X para sempre designar uma determinada unidade para / dev / disk0?

    
por Paul Alexander 17.09.2010 / 22:13

6 respostas

2

Para ver os nomes de caminho dos arquivos de dispositivo de caractere para os volumes em seu disco rígido interno, abra o aplicativo Terminal, localizado em / Aplicativos / Utilitários. Digite o seguinte, seguido da tecla Return:

df

Você pode ver os nomes de caminho completos para os arquivos de dispositivo de caractere para os volumes atuais, abrindo Terminal e digitando (pressione Retornar após cada linha):

cd /dev
ls -lias

Cada partição (exibida no Finder ou não) em cada volume montado terá dois arquivos na lista para o diretório / dev. Os nomes dos arquivos identificam o dispositivo pelo número e a partição no dispositivo pelo seu número. Você pode ter que rolar um pouco na janela do Terminal para encontrar os arquivos.

    
por 16.10.2010 / 04:40
1

Eu ouvi caras do Mac mais inteligentes que eu, o que sugere que a numeração do disco é um pouco arbitrária e não se pode depender do mesmo dispositivo obter o mesmo número após uma reinicialização. Foi mencionado em referência à criação de fatias RAID via diskutil no Terminal.

Nenhum dos utilitários de baixo nível que eu encontrei, como diskutil, pdisk ou gpt, parece ser capaz de afetar a numeração do disco. Temo que não seja controlável.

    
por 02.10.2010 / 07:37
1

Até onde eu sei, o MacOS não tem essa capacidade, embora para a execução de paralelos possa não ser estritamente necessário.

usando macports e instalando o e2fsprogs com um pequeno patch:

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

você pode usar o comando blkid -s UUID / dev / rdisk * para enumerar partições, discos e obter seus respectivos uuids (para qualquer sistema de arquivos suportado, o que é muito pequeno).

Depois disso, adicione um softlink com 'ln -s' ou crie um nó de dispositivo alternativo com mknod deve funcionar (e, em seguida, faça referência a esse psudo- / clone-device da Parallels). Eu fiz truques semelhantes com o Fusion, mas eu não tenho o Paralell instalado agora (então eu não posso testar)

stat -f "% Sr% Z" / dev / rdisk s fornece um mapa do dispositivo para o maior, menor para ser usado se O parallels não aceita um link para o dispositivo.

que pode ser usado como no exemplo a seguir:

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

Agora, a única coisa que resta é escrever um script e usar as instruções no link para torná-lo correr na inicialização.

Mas isso será para alguém terminar ...

    
por 21.10.2010 / 03:22
0

Tente adicionar entradas em você /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

The Identifier is used to identify the volume; the LABEL is the volume name, the UUID is the Universal Unique Identifier Drive. You can use both, but the UUID is the best choice because renaming the volume will not change this identifier.

De link

    
por 21.09.2010 / 13:11
0

O número da unidade é baseado em quando o dispositivo físico é enumerado durante a inicialização. Isso aconteceu comigo também no Windows. Procurei uma solução longa e difícil para isso, e não encontrei nenhuma. Consegui colocar os discos na ordem "correta" quando troquei os cabos SATA, mas isso foi apenas uma correção temporária. No seu caso, como o Parallels depende da numeração do disco para um caminho, talvez seja melhor criar um script para atualizar esse arquivo de configuração na inicialização.

    
por 04.10.2010 / 02:29
0

Eu já tive esse problema antes, eles geralmente mudam depois que eu fiz atualizações ou instalei algo, mas retornei à numeração original depois de uma segunda reinicialização. Isso obviamente não é o ideal, mas parecia funcionar para mim ...

    
por 25.10.2010 / 06:27