PC mais próximo equivalente ao Mac Target Disk Mode? [fechadas]

8

O firmware do Mac possui um modo de inicialização especial que permite oferecer seu disco rígido interno a outro computador como um disco externo (basta conectar as duas máquinas através de um cabo IEEE 1394). Somente a segunda máquina precisa de um sistema operacional instalado.

Alguma boa sugestão para algo semelhante no lado do PC? O acesso no nível de bloco não é importante para mim, eu gostaria de poder copiar arquivos dele. Não importa se ele usa Ethernet, IEEE 1394 ou wifi - eu apenas gosto de ter uma maneira rápida de acessar arquivos em um PC cliente.

Existe alguma distribuição Linux de propósito único especialmente projetada para fazer isso? Seria bom ter algo super simples, de inicialização rápida e pequeno que eu pudesse instalar em uma unidade USB. Eu costumava usar o Knoppix, mas é um exagero como uma substituição do Target Mode.

nome do usuário
fonte

Respostas:

5

Infelizmente não. Não há mais desculpa para a falta, dada a disponibilidade dos firmwares USB OTG e EFI, mas ninguém o está implementando.

Sua melhor aposta é inicializar uma mini chave Linux ou CD de distribuição Linux carregada inteiramente na RAM, enumera dispositivos de armazenamento e os expõe por iSCSI ou NBD por Ethernet e / ou via modo de host FireWire SDB2 se você tiver uma porta FireWire. Não conheço nenhuma distro enlatada para fazer isso, mas deve ser bem fácil montar o SysRescCD com um script init personalizado.

Acabei de escrever um grande discurso sobre este tópico, que se resume a "FFS, com firmwares EFI e USB OTG, não há desculpa para não oferecer mais disco de destino; mesmo sem as portas OTG Micro-AB que oferecem Target Disk over Ethernet com iSCSI ou ATAoE, não não é razoável ".

Sério, veja o que a Intel AMT (vPro) pode fazer. Em comparação com esse nível de capacidade do firmware (que é possível pela EFI, a propósito), o modo de disco de destino não é nada.

Craig Ringer
fonte
Por que não há amor pela inicialização do PXE?
Jscott #
A inicialização do @jscott PXE é excelente se você tiver um servidor DHCP acessível e um servidor TFTP na rede. Eu o uso intensamente - na verdade, minha solução de "modo de disco de destino" do pobre é inicializar PXE o sistema Linux Terminal Server Project (LTSP) que usamos para thin clients na LAN de trabalho, alternar para um shell local e inicie o servidor nbd. No entanto, a inicialização do PXE é difícil ou impossível em uma rede doméstica típica com algum lixo Belkin com morte cerebral fazendo DHCP. De qualquer forma, não importa como você inicializa o sistema operacional, você ainda precisa da mesma coisa.
Craig Ringer
@jscott BTW, atualmente estou investigando o quão difícil seria escrever um driver UEFI EBC (EFI Byte Code) ou EFI compilado nativamente para fornecer algo como o modo de disco de destino. Parece que seria prático em máquinas com suporte a EFI Shell, mas a Intel não inclui o EFI Shell em suas desktop boards, apenas em suas placas de servidor. Sem o shell EFI, não tenho certeza se isso pode ser feito verdadeiramente sem disco, provavelmente precisará de uma chave USB para o driver EFI do disco de destino.
Craig Ringer
@ Craig, bom post no blog. Eu uso principalmente os equipamentos da Apple há tanto tempo que nunca ouvi falar de USB OTG. Interessante.
username
@username Eu estava incorreto no meu post como originalmente escrito btw; Eu pensei que o OTG pudesse suportar o conector USB tipo A padrão, mas não pode, ele precisa de um conector USB Micro-AB. Ainda não há desculpa para não incluí-lo, pelo menos, em laptops ultraportáteis, onde o espaço é escasso. Por alguma razão totalmente insana, a especificação USB3 não fornece um soquete USB OTG de tamanho completo compatível com os plugues USB do tipo A, então perdemos uma chance real com a alteração da porta USB para USB3.
Craig Ringer
6

O modo de disco de destino é um recurso do firmware do Mac. Eu nunca ouvi falar disso sendo implementado no BIOS de um fabricante de PC.

Dave Cheney
fonte
Boa resposta. Esclarecimento de Nitpicky: Os Mac atuais não usam "BIOS" (como o nome do software e não o tipo de software). Os Macs PPC usavam Open Firmware, enquanto os Macs Intel usam EFI, mas ambos são tecnicamente tipos de BIOS.
Chealion
verdade, não há um equivalente exato. Eu não me importo em conectar um pendrive inicializável. na verdade, alguns dos sistemas operacionais instantâneos (fornecidos com netbooks) seriam adequados. hmm
nome de usuário
Boa captura @Chealion, eu atualizei a minha resposta
Dave Cheney
2

Há muito tempo, você poderia usar um cabo paralelo especial ou um cabo de modem nulo para conectar dois computadores. Isso é completamente inútil, considerando a velocidade e a quantidade de dados que você provavelmente precisará transferir.

Você pode usar um cabo USB especial para conectar-se a computadores. Vários fornecedores vendem um cabo que permite conectar dois computadores via usb.

Se os dois computadores tiverem Ethernet, é claro que você poderá configurar uma rede entre os dois. Você pode precisar de um cabo cruzado. Eu não conheço nada de fora da minha cabeça, mas com certeza parece que seria realmente fácil criar um CD / USB ao vivo que simplesmente inicialize, monte todos os dispositivos possíveis e compartilhe tudo via smb, nfs, ssh e inicia um servidor dhcp.

Zoredache
fonte
2

Eu não acho que exista algo no mercado para fazê-lo.

Se você é realmente dedicado a fazer isso acontecer e tem tempo e habilidade em programação, provavelmente pode dar uma olhada em uma das explorações do Firewire DMA e descobrir como elas funcionam. Havia um escrito em Python no ano passado, cujo código era muito legível.

O Firewire fornece acesso direto à memória, para que você possa inicializar um kernel minimalista e fazer o que quiser através da conexão. Se você está preocupado com a criptografia de disco completo, é um grande risco que você precisa levar em conta, pois alguém pode conectar um dispositivo Firewire a um laptop adormecido (versus hibernado ou desligado) e comprometer a chave de criptografia.

duffbeer703
fonte
O Firewire não é inerentemente inseguro, é apenas que a maioria dos firmwares e unidades não (muita coisa pode ter mudado em 4 anos) não configura o controlador corretamente. O Firewire requer DMA, mas um controlador configurado corretamente terá uma janela DMA pequena e restrita por um IOMMU ou recursos integrados do controlador a um buffer DMA alocado para seu uso. Ele não terá acesso a toda a memória quando configurado dessa maneira. O Firewire não exige acesso inerente a toda a RAM, é apenas uma implementação preguiçosa que cria essa falha de segurança.
Craig Ringer
2

Isso é tratado pelo módulo sbp-target das versões 3.5 do kernel do linux e mais recentes, habilitado com SBP_TARGET.

fuzzyTew
fonte
Sim, esse é um bom desenvolvimento. Porém, existe a ressalva de que você precisa inicializar um kernel do Linux primeiro. A menos que você esteja usando o coreboot com um firmware atualizado personalizado, isso significa inicializar uma chave USB (que não é confiável em muitos firmwares) ou CD (se houver uma unidade). Ainda é útil, mas no final eu sempre poderia fazer o mesmo com o dispositivo de bloco de rede (nbd) ou o iSCSI antes.
Craig Ringer