O utilitário de criptografia, que também pode remover / ocultar o CD virtual, está disponível para o OSX agora.
Iomega Encryption Utility versão 3.0 para Mac OS: leia primeiro
Eu possuo um Iomega Prestige. A série de discos inclui uma partição de CD virtual que inclui um utilitário de criptografia de arquivos que só pode ser usado em uma máquina Windows. Toda vez que eu montei a unidade externa no meu sistema de arquivos, a partição do CD Virtual é montada junto com ela.
Eu gostaria de evitar que o CD Virtual fosse montado, permitindo que o restante do disco fosse montado sem problemas. Então, a questão é: Como eu posso remover a partição do CD Virtual ou como posso evitar que ela seja montada?
Eu já vi algumas opções, mas elas não funcionam:
A Iomega cria um utilitário para remover isso de um sistema Windows; problema é que eu não corro o Windows, mas eu uso o OS X 10.7.
Existe uma dica em MacOSXHints , mas está desatualizado para o Lion. /etc/fstab
está obsoleto no Lion e diskutil
não fornece mais o UUID de um disco (pelo menos como sugerido na página).
A propósito, não se pode simplesmente formatar e reparticionar o disco. O CD Virtual não será removido.
Mantenha o seguinte programa em execução em todos os momentos em segundo plano, por exemplo iniciando automaticamente usando launchd
:
#include <CoreFoundation/CoreFoundation.h>
#include <DiskArbitration/DiskArbitration.h>
DADissenterRef BlockMount(DADiskRef disk, void *context)
{
DADissenterRef dissenter = DADissenterCreate(kCFAllocatorDefault, kDAReturnNotPermitted, CFSTR("forbidden!"));
CFDictionaryRef description = DADiskCopyDescription(disk);
// UUID of the disk you don't want to mount:
CFUUIDRef backupDisk = CFUUIDCreateFromString(NULL, CFStringCreateWithCString(NULL, "3B5315C1-96AE-3471-B43C-2C41CDB12A64", kCFStringEncodingUTF8));
if (CFDictionaryContainsKey(description, kDADiskDescriptionVolumeUUIDKey)) {
CFUUIDRef value = CFDictionaryGetValue(description, kDADiskDescriptionVolumeUUIDKey);
if (CFEqual(backupDisk, value)) {
return dissenter;
}
}
return NULL;
}
int main (int argc, const char * argv[])
{
DAApprovalSessionRef session = DAApprovalSessionCreate (kCFAllocatorDefault);
if (!session)
{
fprintf(stderr, "failed to create Disk Arbitration session");
}
else
{
DARegisterDiskMountApprovalCallback(session, NULL, BlockMount, NULL);
DAApprovalSessionScheduleWithRunLoop(session, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
while (true) {
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 60 /* seconds */, false);
}
DAApprovalSessionUnscheduleFromRunLoop(session, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
DAUnregisterApprovalCallback(session, BlockMount, NULL);
CFRelease(session);
}
return 0;
}
Descubra o UUID do volume que você não deseja montar usando diskutil list
(para obter o nome do dispositivo) e diskutil info
para ler o UUID.
Salve como main.c e compile usando o seguinte comando (você precisa de Ferramentas de Desenvolvedor):
cc main.c -o mountstopd -framework Foundation -framework DiskArbitration
No Mac OS X 10.7.1, fazendo o seguinte funcionou para mim agora (praticamente idêntico ao que está no OS X Hint):
Primeiro, descubra o nome do dispositivo do volume que você não quer que seja montado:
diskutil list
A saída parcial é assim:
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: Apple_partition_scheme *2.2 TB disk3
1: Apple_partition_map 32.3 KB disk3s1
2: Apple_HFS DroboBackup 2.2 TB disk3s3
Neste exemplo, DroboBackup é a partição real, então /dev/disk3s3
é o dispositivo que precisamos em seguida. Então descubra o seu UUID:
diskutil info /dev/disk3s3
Procure Volume UUID
, por ex. 3B5315C1-96AE-3471-B43C-2C41CDB12A64
.
Em seguida, digite o seguinte:
sudo touch /etc/fstab
sudo sh -c 'echo "UUID=3B5315C1-96AE-3471-B43C-2C41CDB12A64 none hfs rw,noauto" >> /etc/fstab'
Isso impedirá que o disco seja montado.
Eu não tenho um Iomega Prestige para testar, mas você pode tentar o utilitário Disk Arbitrator de Aaron Burghardt
A partir da introdução no README (grifo meu):
Disk Arbitrator is Mac OS X forensic utility designed to help the user ensure correct forensic procedures are followed during imaging of a disk device.
Disk Arbitrator is essentially a user interface to the Disk Arbitration framework, which enables a program to participate in the management of block storage devices, including the automatic mounting of file systems. When enabled, Disk Arbitrator will block the mounting of file systems to avoid mounting as read-write and violating the integrity of the evidence.
It is important to note that Disk Arbitrator is not a software write blocker—it does not change the state of currently attached devices nor does it affect newly attached devices to force a device to be read-only. The user still must be careful to not accidentally write to a disk with a command such as
dd
. Owing to this fact, a hardware or software write-blocker may still be desirable for the most sound procedure. Disk Arbitrator compliments a write-blocker with additional useful features and eliminates the typical forensic recommendation to "disable disk arbitration."
Tags partitioning encryption macos